Четверг, 25.02.2021, 04:56
Главная
Форум
Мы в Контакте
Pwn-Zone.Ru
[
Новые сообщения
·
Участники
·
Правила форума
·
Поиск
·
RSS
]
Страница
1
из
1
1
Форум
»
SA-MP
»
Wiki-The-Samp
»
[Tutorial] Создание казны
[Tutorial] Создание казны
Назар
Дата: Суббота, 12.11.2011, 15:27 | Сообщение #
1
Гл. Администратор
Группа: Пользователь
Сообщений:
125
Награды:
7
Замечания:
0%
Сначала ко всем NEW добавляем
Code
new Tax = 0;
Вставляем в public OnPlayerCommandText
Code
new cmd[256];
И вот эти команды
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))
{
if(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))
{
AllPlayers += 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))
{
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
{
SendClientMessage(playerid,COLOR_ORANGE,"Ничего не было сделано с казною");
}
return 1;
}
if(dialogid == 2306)
{
if(response)
{
if(!strlen(inputtext))
{
SendClientMessage(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))
{
SendClientMessage(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;
}
По всем вопросам обращайтесь на форум :)
Форум
»
SA-MP
»
Wiki-The-Samp
»
[Tutorial] Создание казны
Страница
1
из
1
1
Главная страница форума
For Life
Наш сайт
Наш Форум
Команда The Samp
SA-MP
Моды SAMP
Скрипты
Карты
Команды
Wiki-The-Samp
Плагины
Вопросы и Проблемы
Другое
Сервера
Юмор
Флудилочка
Архив
Поиск:
Лучшая рип студия!