Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Хитманы v2 [RLS]

Статус
В этой теме нельзя размещать новые ответы.

tryp

Умник
Здравствуйте пользователи. В новой версии хитманов код будет более не быдлым. И я добавил пару новых штучек
PHP:
#include <foreach>
Добавим новые переменные
PHP:
new hitfound = 0;
new hitid = 999;
enum pInfo добавим:
PHP:
pSkilHit,
	pHeadValue,
stock SaveAccount(playerid) public OnPlayerRegister(playerid, password[]) добавим
PHP:
ini_setInteger(File, "HitSkil",PlayerInfo[playerid][pSkilHit]);
ini_setInteger(File, "HeadValue",PlayerInfo[playerid][pHeadValue]);
public OnPlayerLogin
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; }
public OnPlayerCommandText добавим команду /portable
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] Отменить заказ","Ок","Отмена");
	}
}
Теперь в команду /call добавим это
PHP:
if(phonenumb == 000)
		{
		    format(string, sizeof(string), "{ffffff}%s вы позвонили в службу убйств по заказу\nВведите {ff0016}id жертвы",Name(playerid));
		    ShowPlayerDialog(playerid,5491,DIALOG_STYLE_INPUT,"Корпорация ХА-ХА-ХА",string,"Ввод","Отмена");
		}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
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);
			    }
			}
		}
public OnPlayerDeath(playerid, killerid, reason)
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);
                }
            }
        }
    }
public OnPlayerConnect(playerid)
PHP:
SetPVarInt(playerid,"GoChase",999);
Теперь создаем саму фракцию вот по этому уроку >>тык<<
GiveWeapon выдача оружие меняем на свое
SendFamilyMessage(29, TEAM_AZTECAS_COLOR, string); 29 меня на свой ид фракции хитманов

Чтоб сделать заказ звоним по нормеру/call 000 высвечивается диалог.
Автор : tryp aka Byxou
Спасибо SnIcKErs за тестирование
Пример показан на основе RLS мода.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу