Дата: Четверг, 27.09.2012, 05:33 | Сообщение # 1
|
Урок по созданию ворот за деньги, по таймеру и без. Урок по созданию ворот за деньги. Все просто. Тут кто-то хотел узнать как за деньги чтоб ворота открывались сделать...ну вот..
1. способ с таймером.
Code new vorota[2];//ко всем new new timer[2];//ко всем new
Code forward MedikClose();//ко всем forward это чтоб ворота закрывались..
это в public OnGameModeInit()
Code vorota[1] = CreateObject(980,-2666.4956054688,578.00079345703,16.234399795532,0,0,0);
это в public OnPlayerCommandText(playerid, cmdtext[])
Code if (strcmp(cmdtext, "/op", true) == 0) { GivePlayerMoney(playerid,-50);//снимаем бабосы -50 количество. MoveObject(vorota[1],-2666.4956054688,578.00079345703,10.234399795532, 1.0);//открываем ворота timer[1] = SetTimer("MedikClose", 10000, 0);// это если хотите автоматом чтобы закрывались по таймеру.. SendClientMessage(playerid, COLOR_GREEN,"*Ворота закроются через 10 секунд."); SendClientMessage(playerid, COLOR_RED,"*Вы заплатили 50$ за вход в госпиталь."); return 1; }
это в конце создаем, чтобы таймер робил. Это закрытие ворот...
Code public MedikClose() { MoveObject(vorota[1],-2666.4956054688,578.00079345703,16.234399795532, 2.0); return 1; }
2 способ, без таймера.
Code new vorota[2];//ко всем new
это в public OnGameModeInit()
Code vorota[1] = CreateObject(980,-2666.4956054688,578.00079345703,16.234399795532,0,0,0);
это в public OnPlayerCommandText(playerid, cmdtext[])
Code if (strcmp(cmdtext, "/op", true) == 0) { GivePlayerMoney(playerid,-50);//снимаем бабосы -50 количество. MoveObject(vorota[1],-2666.4956054688,578.00079345703,10.234399795532, 1.0);
это в public OnPlayerCommandText(playerid, cmdtext[])
Code if (strcmp(cmdtext, "/cp", true) == 0) { MoveObject(vorota[1],-2666.4956054688,578.00079345703,16.234399795532, 1.0);
3 способ, усложненный если вы хотите чтоб члены какой либо фракции могли открывать ворота бесплатно остальные за деньги.
Code new vorota[2];//ко всем new new timer[8];//ко всем new
ко всем forward это чтоб вота закрывались..
Code forward MedikClose()ро;
это в public OnGameModeInit()
Code vorota[1] = CreateObject(980,-2666.4956054688,578.00079345703,16.234399795532,0,0,0);
это в public OnPlayerCommandText(playerid, cmdtext[])
Code if (strcmp(cmdtext, "/op", true) == 0) { if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4)// id фракции которая будет открывать ворота бесплатно { MoveObject(vorota[1],-2666.4956054688,578.00079345703,10.234399795532, 1.0); timer[1] = SetTimer("MedikClose", 10000, 0); SendClientMessage(playerid, COLOR_GREEN,"*Ворота закроются через 10 секунд."); return 1; } else { timer[1] = SetTimer("MedikClose", 10000, 0); GivePlayerMoney(playerid,-50);//тут дерем 50 баков за вход.. MoveObject(vorota[1],-2666.4956054688,578.00079345703,10.234399795532, 1.0); SendClientMessage(playerid, COLOR_RED,"*Вы заплатили 50$ за вход в госпиталь."); SendClientMessage(playerid, COLOR_GREEN,"*Ворота закроются через 10 секунд."); }
это в конце создаем, чтобы таймер робил. Это закрытие ворот...
Code public MedikClose() { MoveObject(vorota[1],-2666.4956054688,578.00079345703,16.234399795532, 2.0); return 1; }
|
| |