|
Форум Программирование в Pawno Готовые решения Урок по созданию ворот за деньги, по таймеру |
Урок по созданию ворот за деньги, по таймеру |
Урок по созданию ворот за деньги, по таймеру и без.
Урок по созданию ворот за деньги. Все просто. Тут кто-то хотел узнать как за деньги чтоб ворота открывались сделать...ну вот.. 1. способ с таймером. Код new vorota[2];//ко всем new new timer[2];//ко всем new Код forward MedikClose();//ко всем forward это чтоб ворота закрывались.. Это в public OnGameModeInit() Код vorota[1] = CreateObject(980,-2666.4956054688,578.00079345703,16.234399795532,0,0,0); Это в public OnPlayerCommandText(playerid, cmdtext[]) Код 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; } Это в конце создаем, чтобы таймер работал. Это закрытие ворот. Код public MedikClose() { MoveObject(vorota[1],-2666.4956054688,578.00079345703,16.234399795532, 2.0); return 1; } 2 способ, без таймера. Код new vorota[2];//ко всем new Это в public OnGameModeInit() Код vorota[1] = CreateObject(980,-2666.4956054688,578.00079345703,16.234399795532,0,0,0); Это в public OnPlayerCommandText(playerid, cmdtext[]) Код 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[]) Код if (strcmp(cmdtext, "/cp", true) == 0) { MoveObject(vorota[1],-2666.4956054688,578.00079345703,16.234399795532, 1.0); 3 способ, усложненный если вы хотите чтоб члены какой либо фракции могли открывать ворота бесплатно остальные за деньги. Код new vorota[2];//ко всем new new timer[8];//ко всем new Ко всем forward это чтоб ворота закрывались. Код forward MedikClose(); Это в public OnGameModeInit() Код vorota[1] = CreateObject(980,-2666.4956054688,578.00079345703,16.234399795532,0,0,0); Это в public OnPlayerCommandText(playerid, cmdtext[]) Код 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 секунд."); } Это в конце создаем, чтобы таймер работал. Это закрытие ворот. Код public MedikClose() { MoveObject(vorota[1],-2666.4956054688,578.00079345703,16.234399795532, 2.0); return 1; } Автор: Неизвестен Программист любитель :) |
| |||
| |||