| Drugs1 | Дата: Воскресенье, 05.06.2011, 01:48 | Сообщение # 1 |
|
Группа: Администраторы
Dream - Win
Сообщений: 1554
Награды: 0
Репутация: 1
Пол: Мужчина
|
| Я выложил урок по созданию казны т.к не каждый сможет его сделать либо вырезать из мода и форум зачастую заполняется нуботемами по созданию казны для сервера ну начнем Сначало ко всем NEW Добовляем
Вставляем в public OnPlayerCommandText
и вот эти команды
Code if(strcmp(cmd, "/treasury", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pLeader] == 7) { ShowPlayerDialog(playerid, 2305,DIALOG_STYLE_LIST,"Операций с казной","Снять\nПоложить\nПосмотреть\nРаздать Закону(часть)\nРаздать всем(часть)","Делать","Отмена"); } } }
Code if(strcmp(cmd,"/checktax",true)==0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pLeader] != 7) { SendClientMessage(playerid, COLOR_GREY, " Вы не мэр!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, " Используйте: /checktax [ammount]"); return 1; } moneys = strval(tmp); if(Tax < moneys) { SendClientMessage(playerid,COLOR_GREY,"В казне нет столько денег"); return 1; } Tax = Tax - moneys; GivePlayerMoney(playerid,moneys); format(string, sizeof(string), " Вы взяли %d$ из казны. Осталось в казне %d$", moneys, Tax); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SaveStuff(); } return 1; }
Далее в public OnDialogResponse
Code new string[256]; if(dialogid == 2305)//Снять\nПоложить\nПосмотреть\nРаздать Закону(часть)\nРаздать всем(часть)" { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid, 2306,DIALOG_STYLE_INPUT,"Сколько?","Кол-во","OK","Отмена"); return 1; } else if(listitem == 1) { ShowPlayerDialog(playerid, 2307,DIALOG_STYLE_INPUT,"Сколько?","Кол-во","OK","Отмена"); } else if(listitem == 2) { format(string,20,"В казне %d",Tax); SendClientMessage(playerid,COLOR_LIGHTRED,string); } else if(listitem == 3) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pLeader] != 7) { SendClientMessage(playerid, COLOR_GREY, "Вы не Сенатор Штата."); return 1; } if(Tax < 1) { SendClientMessage(playerid, COLOR_GREY, "В казне нету денег!"); return 1; } new Cops = 0; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { i f(IsACop(i)||PlayerInfo[i][pMember]==11||PlayerInfo[i][pLeader]==11) { Cops += 1; } } } if(Cops >= 1) { new value = Tax / 4; new price = value / Cops; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if( IsACop(i)||PlayerInfo[i][pMember]==11||PlayerInfo[i][pLeader]==11) { format(string, sizeof(string), "* Вы получили компенсацию в размере $%d от Государственной Думы.",price); SendClientMessage(i, COLOR_LIGHTBLUE, string); GivePlayerMoney(i, price); Tax -= price; } } } SaveStuff(); } else { SendClientMessage(playerid, COLOR_GREY, "Сейчас нет ни одного полицейского!"); return 1; } } } else if(listitem == 4) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pLeader] != 7) { SendClientMessage(playerid, COLOR_GREY, "Вы не Сенатор Штата."); return 1; } new AllPlayers = 0; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { A llPlayers += 1; } } if(AllPlayers >= 1) { new value = Tax / 4; new price = value / AllPlayers; if(Tax < price) { SendClientMessage(playerid, COLOR_GREY, "В казне нету столько денег!"); return 1; } for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { f ormat(string, sizeof(string), "* Вы получили денежное пособие в размере $%d от Государственной Думы.",price); SendClientMessage(i, COLOR_LIGHTBLUE, string); GivePlayerMoney(i, price); Tax -= price; } } SaveStuff(); } else { SendClientMessage(playerid, COLOR_GREY, "Сейчас нет ни одного игрока!"); return 1; } } } } else { SendClientMe ssage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною"); } return 1; } if(dialogid == 2306) { if(response) { if(!strlen(inputtext)) { SendClie ntMessage(playerid,COLOR_ORANGE,"Пустое значение"); return 1; } new zkx = strval(inputtext); if(Tax > zkx) { Tax -=zkx; GivePlayerMoney(playerid, zkx); format(string,sizeof(string),"Вы успешно сняли себе в карман %d",zkx); SendClientMessage(playerid,COLOR_ORANGE,string); return 1; } else { SendClientMessage(playerid,COLOR_LIGHTRED,"В казне нету столько денег"); return 1; }
} else { SendClientMessage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною"); } return 1; } if(dialogid == 2307) { if(response) { if(!strlen(inputtext)) { SendClie ntMessage(playerid,COLOR_ORANGE,"Пустое значение"); return 1; } new zkx = strval(inputtext); if(PlayerInfo[playerid][pCash] > zkx) { Tax +=zkx; GivePlayerMoney(playerid, -zkx); format(string,sizeof(string),"Вы успешно положили в казну %d",zkx); SendClientMessage(playerid,COLOR_ORANGE,string); return 1; } else { SendClientMessage(playerid,COLOR_LIGHTRED,"У вас в кармане нет столько денег"); return 1; }
} else { SendClientMessage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною"); } return 1; }
Если вылазиют вот такие ошибки:
Quote warning 219: local variable "string" shadows a variable at a preceding level
То на той строчке где это указано можете смело удалять
Автор - НЕ ИЗВЕСТЕН СКРИПТ ВЫРЕЗАН ИЗ San Sity
|
|
| |