admin | Дата: Понедельник, 26.09.2011, 16:03:05 | Сообщение # 1 |
Группа: Администраторы
Сообщений: 3869
|
Начнем уроку! верху мода: Code new havebomb[MAX_PLAYERS], Float:c[3], bomb[MAX_PLAYERS], nome[MAX_PLAYER_NAME], desarmou ;
forward planting(playerid); После этого ищем public OnPlayerCommandText и туда вставляем: Code if(strcmp(cmdtext,"/bomb",true) == 0) return ShowPlayerDialog(playerid,9999,DIALOG_STYLE_LIST,"Меню бомбы","Купить бомбу обычную\nКупить бомба завод\nПродать бомбу","ОК","Закрыть"); if(strcmp(cmdtext,"/desarmar",true) == 0) { if(IsPlayerInRangeOfPoint(playerid,5.0,c[0],c[1],c[2])) { desarmou = 0; SendClientMessage(playerid,-1,"0x008000FF."); } else { desarmou = 1; SendClientMessage(playerid,-1,"Вы не рядом с бомбой"); } return 1; } Примерно так должен быть public: Code public OnPlayerCommandText(playerid,cmdtext[]) { if(strcmp(cmdtext,"/bomb",true) == 0) return ShowPlayerDialog(playerid,9999,DIALOG_STYLE_LIST,"Меню бомбы","Купить бомбу обычную\nКупить бомба завод\nПродать бомбу","ОК","Закрыть"); if(strcmp(cmdtext,"/desarmar",true) == 0) { if(IsPlayerInRangeOfPoint(playerid,5.0,c[0],c[1],c[2])) { desarmou = 0; SendClientMessage(playerid,-1,"0x008000FF."); } else { desarmou = 1; SendClientMessage(playerid,-1,"Вы не рядом с бомбой"); } return 1; } return 0; } После этого ищем public OnDialogResponse и туда вставляем: Code if(dialogid == 9999) { if(response) { if(listitem == 0) { if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid,-1,"not have enough money ($5000)"); GivePlayerMoney(playerid,-5000); SendClientMessage(playerid,0x008000FF,"Вы купили бомбу"); return havebomb[playerid]++; } if(listitem == 1) { if(havebomb[playerid] >= 1) { new strleo[27]; format(strleo,sizeof(strleo),"есть ли у вас % бомбы",havebomb[playerid]); SendClientMessage(playerid,0xFFFF00FF,strleo); GetPlayerPos(playerid,c[0],c[1],c[2]); SendClientMessage(playerid,0xFFFF00FF,"Купили"); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); bomb[playerid] = CreateObject(1252,c[0],c[1],c[2],-1,0.0,1.0); SetTimerEx("planting",8000,false,"i",playerid); desarmou = 1; } else { SendClientMessage(playerid,0xFF0000FF,"Разве у вас нет бомбы!!"); } return havebomb[playerid]--; } if(listitem == 2) { if(havebomb[playerid] >= 1) { SendClientMessage(playerid,0x008000FF,"Продана бомба"); GivePlayerMoney(playerid,5000); } else { SendClientMessage(playerid,0xFF0000FF,"Разве у вас нет бомбы!!"); } return havebomb[playerid]--; } } } Примерно так должен быть public: Code public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 9999) { if(response) { if(listitem == 0) { if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid,-1,"not have enough money ($5000)"); GivePlayerMoney(playerid,-5000); SendClientMessage(playerid,0x008000FF,"Вы купили бомбу"); return havebomb[playerid]++; } if(listitem == 1) { if(havebomb[playerid] >= 1) { new strleo[27]; format(strleo,sizeof(strleo),"есть ли у вас % бомбы",havebomb[playerid]); SendClientMessage(playerid,0xFFFF00FF,strleo); GetPlayerPos(playerid,c[0],c[1],c[2]); SendClientMessage(playerid,0xFFFF00FF,"Купили"); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); bomb[playerid] = CreateObject(1252,c[0],c[1],c[2],-1,0.0,1.0); SetTimerEx("planting",8000,false,"i",playerid); desarmou = 1; } else { SendClientMessage(playerid,0xFF0000FF,"Разве у вас нет бомбы!!"); } return havebomb[playerid]--; } if(listitem == 2) { if(havebomb[playerid] >= 1) { SendClientMessage(playerid,0x008000FF,"Продана бомба"); GivePlayerMoney(playerid,5000); } else { SendClientMessage(playerid,0xFF0000FF,"Разве у вас нет бомбы!!"); } return havebomb[playerid]--; } } } return 1; } После этого добавляем функции: Code public OnPlayerDeath(playerid,killerid,reason) return havebomb[playerid] = false;
stock save(playerid) { new file[28]; GetPlayerName(playerid, nome, sizeof(nome)); format(file, sizeof(file), "%s.ini",nome); INI_Open(file); INI_WriteInt("bombs",havebomb[playerid]); INI_Save(); return INI_Close(); }
stock load(playerid) { new file[28]; GetPlayerName(playerid, nome, sizeof(nome)); format(file, sizeof(file), "%s.ini",nome); INI_Open(file); havebomb[playerid] = INI_ReadInt("bombs"); return INI_Close(); } public planting(playerid) { if(desarmou == 1) { DestroyObject(bomb[playerid]); SendClientMessage(playerid,-1,"Бомба взорвалась"); CreateExplosion(c[0],c[1],c[2],7,80.0); CreateExplosion(c[0],c[1],c[2],7,80.0); DestroyObject(bomb[playerid]); } else { SendClientMessageToAll(-1,"Бомба была разоружена."),DestroyObject(bomb[playerid]); } return 1; } урок by - 26_RUSSS Автор кода:Leeo_Perez
zm-jail.ru Разработка сайта samp-pawno.ru
|
|
|
|