tryp
Умник
Здравствуйте пользователи. В новой версии хитманов код будет более не быдлым. И я добавил пару новых штучек
Добавим новые переменные
enum pInfo добавим:
stock SaveAccount(playerid) public OnPlayerRegister(playerid, password[]) добавим
public OnPlayerLogin
в конец мода
public OnPlayerCommandText добавим команду /portable
Теперь в команду /call добавим это
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
public OnPlayerDeath(playerid, killerid, reason)
public OnPlayerConnect(playerid)
Теперь создаем саму фракцию вот по этому уроку >>тык<<
GiveWeapon выдача оружие меняем на свое
SendFamilyMessage(29, TEAM_AZTECAS_COLOR, string); 29 меня на свой ид фракции хитманов
Чтоб сделать заказ звоним по нормеру/call 000 высвечивается диалог.
Автор : tryp aka Byxou
Спасибо SnIcKErs за тестирование
Пример показан на основе RLS мода.
PHP:
#include <foreach>
PHP:
new hitfound = 0;
new hitid = 999;
PHP:
pSkilHit,
pHeadValue,
PHP:
ini_setInteger(File, "HitSkil",PlayerInfo[playerid][pSkilHit]);
ini_setInteger(File, "HeadValue",PlayerInfo[playerid][pHeadValue]);
PHP:
ini_getInteger(File, "HitSkil",PlayerInfo[playerid][pSkilHit]);
ini_getInteger(File, "HeadValue",PlayerInfo[playerid][pHeadValue]);
PHP:
stock SearchingHit(playerid)
{
new string[150];new giveplayer[MAX_PLAYER_NAME];new searchhit = 0;
foreach (new i : Player)
{
if(IsPlayerConnected(i))
{
if(searchhit == 0)
{
if(PlayerInfo[i][pHeadValue] > 0 && GetPVarInt(i,"GotHit")== 0 && PlayerInfo[i][pMember] != меняем на свое)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
searchhit = 1;
hitfound = 1;hitid = i;
foreach (new k : Player)
{
if(IsPlayerConnected(k))
{
if(PlayerInfo[k][pMember] == ид вашей фракции|| PlayerInfo[k][pLeader] == ид вашей фракции)//меняем на свое
{
format(string, sizeof(string), "{ffffff}Ваша Цель: {ffcc00}%s[%d]\n{ffffff}Цена за голову: {1dff00}$%d", giveplayer, i, PlayerInfo[i][pHeadValue]);
ShowPlayerDialog(playerid,5489,DIALOG_STYLE_MSGBOX,"Компьютер",string,"Взять","Отмена");
}
}
}
return false;
}
}
}
}
if(searchhit == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "{f9b0b0}x {FFFFFF}Нет доступных контрактов.");
}
return false;
}
stock RankHit(playerid)
{
new rank[56];
if(PlayerInfo[playerid][pSkilHit] > 0) {rank="Новичек";}
else if(PlayerInfo[playerid][pSkilHit] > 10) {rank="Киллер";}
else if(PlayerInfo[playerid][pSkilHit] > 50) {rank="Мастер в свое деле";}
else if(PlayerInfo[playerid][pSkilHit] > 100) {rank="Профессионал";}
return true;
}
stock Name(i) { new pl[24]; GetPlayerName(i, pl, 24); return pl; }
PHP:
if(strcmp(cmd, "/portable", true) == 0)
{
if(PlayerInfo[playerid][pMember] == ид вашей фракции хитманов||PlayerInfo[playerid][pLeader] == ид вашей фракции хитманов)
{
ShowPlayerDialog(playerid,5487,DIALOG_STYLE_LIST,"Компьютер","[1] Статистика\n[2] Список контрактов\n[3] Оружие\n[4] Отменить заказ","Ок","Отмена");
}
}
PHP:
if(phonenumb == 000)
{
format(string, sizeof(string), "{ffffff}%s вы позвонили в службу убйств по заказу\nВведите {ff0016}id жертвы",Name(playerid));
ShowPlayerDialog(playerid,5491,DIALOG_STYLE_INPUT,"Корпорация ХА-ХА-ХА",string,"Ввод","Отмена");
}
PHP:
case 5487:
{
if(response)
{
switch(listitem)
{
case 0:
{
format(string,sizeof(string),"{ffcc00}Имя:{ffffff} %s\n{ffcc00}Cкил убийцы:{ffffff} %s\n{ffcc00}Кол-во убийств:{ffffff} %d",Name(playerid),RankHit(playerid),PlayerInfo[playerid][pSkilHit]);
ShowPlayerDialog(playerid,5488,DIALOG_STYLE_MSGBOX,"Компьютер",string,"Ок","");
}
case 1:SearchingHit(playerid);
case 2:
{
format(string,sizeof(string),"{ffffff}Впешите в окно номер комплекта оружия\n\n1 - DesertEagle, нож.(5000$)\n2 - DesertEagle, нож, AK-47(10000$).\n3 - Снайперская винтовка(20000$)");
ShowPlayerDialog(playerid,5490,DIALOG_STYLE_INPUT,"Компьютер",string,"Заказать","Отмена");
}
case 3:
{
format(string,sizeof(string),"Агент: %s. Отказался от контракта на (ID: %d)",Name(playerid),GetPVarInt(playerid,"GoChase"));
SendFamilyMessage(ид вашей фракции,COLOR_WHITE,string);//id фракции меняем на свой
SetPVarInt(playerid,"GotHit",0);
SetPVarInt(playerid,"GoChase",999);
}
}
}
}
case 5489:
{
if(response)
{
if(GetPVarInt(playerid,"GoChase") < 999)return SendClientMessage(playerid, COLOR_GREY, "• У вас уже есть заказ");
format(string, sizeof(string), "«Хитман %s[%d] заключил контракт на убийство %s[%d] »", Name(playerid),playerid, Name(hitid), hitid);
SendFamilyMessage(ид вашей фракции, TEAM_AZTECAS_COLOR, string);
SetPVarInt(playerid,"GoChase",hitid);
SetPVarInt(hitid,"GotHit",1);
hitfound = 0;
}
else return true;
}
case 5491:
{
if(response)
{
if(IsPlayerConnected(strval(inputtext)))
{
SetPVarInt(strval(inputtext),"Kill",strval(inputtext));
ShowPlayerDialog(playerid,5492,DIALOG_STYLE_INPUT,"Корпорация ХА-ХА","{ffffff}Введите сумму контракта","Ок","Отмена");
}
else return SendClientMessage(playerid, COLOR_GREY, "Игрок не в сети");
}
}
case 5492:
{
PlayerInfo[GetPVarInt(playerid,"Kill")][pHeadValue] = strval(inputtext);
PlayerInfo[playerid][pCash] -= strval(inputtext);
SendClientMessage(playerid,COLOR_GREY,"Корпорация ХА-ХА-ХА: Ваш заказ на обработке. После выполнения мы вам сообщим");
Mobile[playerid] = 255;
SendClientMessage(playerid, COLOR_GREY, "Вы повесили трубку");
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
}
case 5490:
{
if(response)
{
if(!strcmp(inputtext, "1",true))
{
if(GetPlayerMoney(playerid) < 5000)return SendClientMessage(playerid, COLOR_GREY, "У вас нет такой суммы");
GiveWeapon(playerid, 24, 100);
GiveWeapon(playerid, 4, 1);
}
if(!strcmp(inputtext, "2",true))
{
if(GetPlayerMoney(playerid) < 10000)return SendClientMessage(playerid, COLOR_GREY, "У вас нет такой суммы");
GiveWeapon(playerid, 24, 100);
GiveWeapon(playerid, 4, 1);
GiveWeapon(playerid, 30, 100);
}
if(!strcmp(inputtext, "3",true))
{
if(GetPlayerMoney(playerid) < 20000)return SendClientMessage(playerid, COLOR_GREY, "У вас нет такой суммы");
GiveWeapon(playerid, 34, 200);
}
}
}
PHP:
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(PlayerInfo[killerid][pLeader] == ид вашей фракции|| PlayerInfo[killerid][pMember] == ид вашей фракции)
{
if(GetPVarInt(killerid,"GoChase") == playerid)
{
PlayerInfo[killerid][pCash] += PlayerInfo[playerid][pHeadValue];
format(string,128,"<< Хитман %s выполнил контракт и получил $%d >>",Name(killerid),PlayerInfo[playerid][pHeadValue]);
SendFamilyMessage(ид вашей фракции, COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_LIGHTRED," * Вы были убиты хитманом по заказу!");
PlayerInfo[playerid][pHeadValue] = 0;
PlayerInfo[killerid][pSkilHit] += 1;
SetPVarInt(playerid,"GotHit",0);
SetPVarInt(killerid,"GoChase",999);
}
}
}
}
PHP:
SetPVarInt(playerid,"GoChase",999);
GiveWeapon выдача оружие меняем на свое
SendFamilyMessage(29, TEAM_AZTECAS_COLOR, string); 29 меня на свой ид фракции хитманов
Чтоб сделать заказ звоним по нормеру/call 000 высвечивается диалог.
Автор : tryp aka Byxou
Спасибо SnIcKErs за тестирование
Пример показан на основе RLS мода.
Последнее редактирование:
