Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Register system: Y_Less, Dracoblue and Kush
- //Gamemode: Laine_prikol, kotik_prikol
- #include <a_samp>
- #include <core>
- #include <YSI\y_ini>
- #include <zcmd>
- #include <sscanf>
- #include <mxini>
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_SUCCESS_1 3
- #define DIALOG_SUCCESS_2 4
- #define PATH "/Users/%s.ini"
- #define COL_MESSAGE "{FFFFFF}"
- #define COL_ERROR "{F81414}"
- #define COL_SUSCESS "{00FF22}"
- #define COL_MESSAGE2 "{00CED1}"
- #define COLOR_RED 0xFF0000FF
- #define COLOR_GREEN 0x008200FF
- #define COLOR_BLUE 0x0000FFFF
- #define COLOR_GREY 0xAAAAAAFF
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_ORANGE 0xFFC800FF
- #define SOUND_SUCSSES 1058
- #define SOUND_ERROR 1085
- #define SOUND_MESSAGE 30802
- #define SOUND_MESSAGE2 21001
- #define SOUND_BLEEDING 1137
- #define COLOR_FADE1 0xE6E6E6E6
- #define COLOR_FADE2 0xC8C8C8C8
- #define COLOR_FADE3 0xAAAAAAAA
- #define COLOR_FADE4 0x8C8C8C8C
- #define COLOR_FADE5 0x6E6E6E6E
- #define MAX_HOUSES 100 // Этот будет отвечать за максимально кол-во домов
- #define D_H_CREATE_DESC 189 // Этот за диалог создание дома (Шаг 1)
- #define D_H_CREATE_PRICE 190 // Диалог создание дома (Шаг 2)
- #define D_H_CREATE_INT 191 // Диалог создание дома (Шаг 3)
- #define D_H_CREATE_CONF 192 // Диалог создание дома (Подтверждение)
- #pragma tabsize 0
- #define eGivePlayerMoney(%0,%1); SetPVarInt(%0,"Cash",GetPVarInt(%0,"Cash")+%1); ResetPlayerMoney(%0); GivePlayerMoney(%0,GetPVarInt(%0,"Cash"));
- #define eGetPlayerMoney(%0) GetPVarInt(%0,"Cash")
- enum pInfo
- {
- pPass,
- pCash,
- pAdmin,
- pKills,
- plices,
- pmaterials,
- pheals,
- pfood,
- pskin,
- pfirst,
- pmashina,
- pcolor1,
- pcolor2,
- plvl,
- pexp,
- ppaydaymoney,
- pbank,
- pterminal,
- photel,
- pschool,
- pwork,
- pworkedmoney,
- pwarns,
- pgruz,
- pmute,
- pfaction,
- prank,
- phunger,
- psleepless,
- pwood,
- pbandage,
- float:phomeX,
- float:phomeY,
- float:phomeZ,
- pint,
- pDeaths
- }
- enum hiInfo
- {
- Float:hiX,Float:hiY,Float:hiZ,hiInt, // Позиции интерьера x,y,z и его id
- hiName[15], // название интерьера
- }
- new HInts[][hiInfo]={ // 2-х мерный массив + в нем мы сразу храним информацию об интерьерах, как вы видите, по порядку: координаты x,y,z,id интерьера,"Название"
- {318.564971,1118.209960,1083.882812,5,"Crack den"},
- {2269.4453,-1210.2952,1047.5625,10,"Hashbury House"},
- {2496.2676,-1693.8955,1014.7422,3,"Johnsons House"},
- {1299.14,-794.77,1084.00,5,"Madd Doggs M."},
- {2260.3711,-1135.7345,1050.6328,10,"R.B.M. Room"},
- {2365.6023,-1133.6688,1050.8750,8,"V. B. House"},
- {1302.519897,-1.787510,1001.028259,18,"Warehouse 2"},
- {2324.419921,-1145.568359,1050.710083,12,"Un. safe house"},
- {2496.6,-1696.55,1014.74,3,"med int"},
- {223.043991,1289.259888,1082.199951,1,"med int2"},
- {2260.76,-1210.45,1049.02,10,"small int"},
- {2233.6919,-1112.8107,1050.8828,5,"small int"},
- {76.632553,-301.156829,1.578125,0,"Blueberry"}
- };
- enum hInfo
- {
- hDesc[128], // Данный массив будет использования для хранения описания дома
- hOwner[MAX_PLAYER_NAME], // Этот для хранения имени владельца
- Float:hX,Float:hY,Float:hZ, // Координаты входа в дом (x,y,z)
- hInterior, // Храним ПОРЯДКОВЫЙ ид интерьера дома (об этом я расскажу позже)
- hVirtWorld, // Виртуальный мир для дома (это позволяет создавать множество домов с одинаковыми интерьерами)
- hPrice, // Цена дома
- hLock, // Закрыт ли дом или нет
- hPick, // Пикап дома
- Text3D:hText // 3D текст с информацией о доме
- };
- new House[MAX_HOUSES][hInfo];
- new m_h; // Будет использоваться для подсчета точного количества созданных домов
- new STR[158]; // Массив, для редактирования строк (создаю 1 глобальный чтобы не создавать в каждой функции свой)
- new PlayerInfo[MAX_PLAYERS][pInfo];
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_Int("Password",PlayerInfo[playerid][pPass]);
- INI_Int("Cash",PlayerInfo[playerid][pCash]);
- INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
- INI_Int("Kills",PlayerInfo[playerid][pKills]);
- INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
- INI_Int("Licenses",PlayerInfo[playerid][plices]);
- INI_Int("hp",PlayerInfo[playerid][pheals]);
- INI_Int("skin",PlayerInfo[playerid][pskin]);
- INI_Int("Food",PlayerInfo[playerid][pfood]);
- INI_Int("first",PlayerInfo[playerid][pfirst]);
- INI_Int("mashina",PlayerInfo[playerid][pmashina]);
- INI_Int("color1",PlayerInfo[playerid][pcolor1]);
- INI_Int("color2",PlayerInfo[playerid][pcolor2]);
- INI_Int("lvl",PlayerInfo[playerid][plvl]);
- INI_Int("exp",PlayerInfo[playerid][pexp]);
- INI_Int("paydaymoney",PlayerInfo[playerid][ppaydaymoney]);
- INI_Int("bank",PlayerInfo[playerid][pbank]);
- INI_Int("terminal",PlayerInfo[playerid][pterminal]);
- INI_Int("hotel",PlayerInfo[playerid][photel]);
- INI_Int("school",PlayerInfo[playerid][pschool]);
- INI_Int("work",PlayerInfo[playerid][pwork]);
- INI_Int("workedmoney",PlayerInfo[playerid][pworkedmoney]);
- INI_Int("warns",PlayerInfo[playerid][pwarns]);
- INI_Int("gruz",PlayerInfo[playerid][pgruz]);
- INI_Int("mute",PlayerInfo[playerid][pmute]);
- INI_Int("faction",PlayerInfo[playerid][pfaction]);
- INI_Int("rank",PlayerInfo[playerid][prank]);
- INI_Int("sleepless",PlayerInfo[playerid][psleepless]);
- INI_Int("hunger",PlayerInfo[playerid][phunger]);
- INI_Int("bandage",PlayerInfo[playerid][pbandage]);
- INI_Int("wood",PlayerInfo[playerid][pwood]);
- INI_Int("materials",PlayerInfo[playerid][pmaterials]);
- INI_Float("phomeX",PlayerInfo[playerid][phomeX]);
- INI_Float("phomeY",PlayerInfo[playerid][phomeY]);
- INI_Float("phomeZ",PlayerInfo[playerid][phomeZ]);
- INI_Int("pint",PlayerInfo[playerid][pint]);
- return 1;
- }
- stock UserPath(playerid)
- {
- new string[128],playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid,playername,sizeof(playername));
- format(string,sizeof(string),PATH,playername);
- return string;
- }
- new pickuparenda;
- new pickuparenda1;
- new pickuparenda2;
- new pickuprecolor1;
- new pickuprecolor2;
- new pickuprecolor3;
- new bankomat1;
- new bankomat2;
- new bankomat3;
- new schoolcar;
- new bool:onCheck[MAX_PLAYERS];
- new bool:pAnimation[MAX_PLAYERS];
- new islogged[MAX_PLAYERS];
- new picupGruz;
- new picupGruzEnd;
- new factionlevel1;
- new factionlevel2;
- new factionlevel3;
- new Materials1;
- new Materials2;
- new Materials3;
- new FactionMoney1;
- new FactionMoney2;
- new FactionMoney3;
- new gTeam[MAX_PLAYERS];
- new Mask[MAX_PLAYERS];
- new timerapply[MAX_PLAYERS];
- new bool:ended[MAX_PLAYERS];
- new spawnedcars[MAX_PLAYERS];
- forward message();
- forward schoolcartimer();
- forward OnCheatDetected(playerid, ip_address[], type, code);
- forward DelayedBan(playerid);
- forward DelayedKick(playerid);
- forward payday();
- forward hunger(playerid);
- forward setexp(playerid);
- forward setmoney(playerid,moneys);
- forward ProxDetector(Float:radi,playerid, string[],col1,col2,col3,col4,col5);
- forward SendTeamMessage(color,const string[], factionid);
- forward Applytimer(playerid);
- forward ApplyFoodtimer(playerid);
- forward BleedingDamage(playerid);
- /*Credits to Dracoblue*/
- stock udb_hash(buf[]) {
- new length=strlen(buf);
- new s1 = 1;
- new s2 = 0;
- new n;
- for (n=0; n<length; n++)
- {
- s1 = (s1 + buf[n]) % 65521;
- s2 = (s2 + s1) % 65521;
- }
- return (s2 << 16) + s1;
- }
- main()
- {
- print("\n----------------------------------");
- print(" Laine Mini-RPG ");
- print("----------------------------------\n");
- }
- /*
- Ид фракций
- 10 - Groove
- 9 - Ballas
- 8 - Vagos
- 7 - SFPD
- 6 - LSPD
- 5 - Army
- 4 - News
- */
- public OnGameModeInit()
- {
- SetGameModeText("MINI-RPG");
- #include mapping.txt // Загрузка маппинга
- DisableInteriorEnterExits();
- pickuparenda = CreatePickup(1318, 23, -1965.9395, 293.7788, 35.4688, -1);
- pickuparenda1 = CreatePickup(1318, 23, 556.9954,-1293.3118,17.2482, -1);
- pickuprecolor1 = CreatePickup(1318, 23, -1900.2043,276.8611,41.0391, -1);
- pickuprecolor2 = CreatePickup(1318, 23, 484.7113,-1733.4689,11.0752, -1);
- pickuprecolor3 = CreatePickup(1318, 23, 717.7277, -463.3733, 16.3437, -1);
- bankomat1 = CreatePickup(1318, 23, -1982.5986,134.2874,27.6875, -1);
- bankomat2 = CreatePickup(1318, 23, 2840.5991,1282.4888,11.3906, -1);
- bankomat3 = CreatePickup(1318, 23, 1766.6866,-1905.3402,13.5676, -1);
- schoolcar = CreatePickup(1239, 23, -2026.4131,-102.0660,35.1641, -1);
- picupGruz = CreatePickup(1318, 2, -476.6109,-535.3399,25.5296, -1);
- picupGruzEnd = CreatePickup(1318, 2, -154.7515,-288.1488,3.9053, -1);
- DisableInteriorEnterExits();
- SetTimer("payday", 1800000, true);
- SetTimer("hunger", 300000, true);
- LoadHouses();
- return 1;
- }
- stock Name(playerid) // Функция для проверки ника
- {
- new Nm[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Nm,24);
- return Nm;
- }
- stock SaveHouseAmount() // Функция для сохранения точного кол-во домов (понадобится для создания домов)
- {
- new f=ini_openFile("houses/m_h.ini"); // Открываем файл
- ini_setInteger(f,"Amount",m_h); // Записываем значение переменной m_h в ключ Amount
- return ini_closeFile(f); // Закрываем файл
- }
- stock LoadHouses()
- {
- if(!fexist("houses/m_h.ini"))return print("[Ошибка] Файл houses/m_h.ini не найден"); // Проверяем наличие файла в scriptfiles/houses (если не найден, в лог сервера выдаст ошибку)
- new f=ini_openFile("houses/m_h.ini"); // открываем файл
- ini_getInteger(f,"Amount",m_h); // получаем точное значение созданных домов
- ini_closeFile(f); // закрываем этот файл
- if(!fexist("houses/houses.ini"))return print("[Ошибка] Файл houses/houses.ini не найден"); // проверяем наличие файла houses.ini в той же директории.
- f=ini_openFile("houses/houses.ini"); // открываем его
- new str[8]; // создаем небольшой массив для дальнейшего форматирования строки (ключа в файле)
- for(new h=1;h<=m_h;h++) // запускаем цикл
- {
- format(str,sizeof(str),"ID %d",h); // форматируем строку для ключа в файле
- ini_getString(f,str,STR); // получаем данные в виде строки
- sscanf(STR,"p<|>s[32]s[24]fffiiii",House[h][hDesc],House[h][hOwner],House[h][hX],House[h][hY],House[h][hZ],House[h][hInterior],House[h][hVirtWorld],House[h][hPrice],House[h][hLock]); // распределяем данные по переменным (данные идут через символ "|", пример: Dom 1|2.612|213.132|2.321")
- if(!strcmp(House[h][hOwner],"None",true)) // Сравниваем строки если владелец дома == None значит дом не куплен (в дальнейшем при создании владелец дома будет равен None)
- {
- House[h][hPick]=CreatePickup(1273,23,House[h][hX],House[h][hY],House[h][hZ],0); // Создаем пикап дома
- format(STR,128,"[Дом продается]\nКласс: %s\nЦена: $%d",House[h][hDesc],House[h][hPrice]);
- // Форматируем строку для 3D текста
- House[h][hText]=Create3DTextLabel(STR,0xFFFFFFFF,House[h][hX],House[h][hY],House[h][hZ]+0.5,10.0,0,0); // Создаем 3D текст
- }
- else // Иначе, если владелец дома не равен None, значит дом куплен
- {
- House[h][hPick]=CreatePickup(1239,23,House[h][hX],House[h][hY],House[h][hZ],0); // Создаем пикап дома (модель пикапа уже другая)
- format(STR,128,"[Дом]\nОписание: %s\nВладелец: %s",House[h][hDesc],House[h][hOwner]); // форматируем строку
- House[h][hText]=Create3DTextLabel(STR,0xFFFFFFFF,House[h][hX],House[h][hY],House[h][hZ]+0.5,10.0,0,0); // И создаем 3D текст с информацией
- }
- }
- ini_closeFile(f); // Закрываем фай
- return printf("Loaded %d houses",m_h); // В лог чата возвращаем кол-во загруженных домов
- }
- stock SaveHouse(h) // Функция для сохранения данных дома в файл
- {
- new f=ini_openFile("houses/houses.ini"); // открываем файл
- new str[8]; // создаем массив для форматирования строки (для ключа, как в предыдущем случае)
- format(str,8,"ID %d",h); // форматируем строку
- format(STR,sizeof(STR),"%s|%s|%f|%f|%f|%d|%d|%d|%d", House[h][hDesc],House[h][hOwner],House[h][hX],House[h][hY],House[h][hZ],House[h][hInterior],House[h][hVirtWorld],House[h][hPrice],House[h][hLock]); // снова форматируем строку (уже с информацией о доме); вот тут кстати, вы я думаю заметили, информация через "|"
- ini_setString(f,str,STR); // записываем данные
- ini_closeFile(f); // закрываем файл
- return 1;
- }
- stock UpdateHouse(h) // Эта функция для обновления дома (например при его покупке / продаже мы будем ее использовать)
- {
- DestroyPickup(House[h][hPick]); // Удаляем пикап
- if(!strcmp(House[h][hOwner],"None",true)) // Опять проверяем на владельца дома, если его нет тогда:
- {
- House[h][hPick]=CreatePickup(1273,23,House[h][hX],House[h][hY],House[h][hZ],0); // пикап
- format(STR,128,"[Дом продается]\nОписание: %s\nЦена: $%d",House[h][hDesc],House[h][hPrice]);
- // форматируем строку
- Update3DTextLabelText(House[h][hText],0xFFFFFFFF,STR); // ОБНОВЛЯЕМ ранее созданный 3D текст (который создался при загрузке дома)
- }
- else // если есть владелец (купили дом)
- {
- House[h][hPick]=CreatePickup(1239,23,House[h][hX],House[h][hY],House[h][hZ],0); // пикап
- format(STR,128,"[Дом]\nОписание: %s\nВладелец: %s",House[h][hDesc],House[h][hOwner]); // форматируем строку
- Update3DTextLabelText(House[h][hText],0xFFFFFFFF,STR); // обновляем 3D текст
- }
- }
- public payday()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- // level 1
- if (PlayerInfo[i][pfaction] == 10 || factionlevel1 > 1)
- {
- PlayerInfo[i][pbank] += factionlevel1*PlayerInfo[i][prank]*PlayerInfo[i][plvl];
- }
- if (PlayerInfo[i][pfaction] == 9 || factionlevel2 > 1)
- {
- PlayerInfo[i][pbank] += factionlevel2*PlayerInfo[i][prank]*PlayerInfo[i][plvl];
- }
- if (PlayerInfo[i][pfaction] == 8 || factionlevel3 > 1)
- {
- PlayerInfo[i][pbank] += factionlevel3*PlayerInfo[i][prank]*PlayerInfo[i][plvl];
- }
- PlayerInfo[i][pbank] += PlayerInfo[i][ppaydaymoney];
- SendClientMessage(i,COLOR_GREEN, "---- Зарплата ----");
- new string[128];
- format(string,128,"Зарплата: %d$ Уровень: %d Счёт в банке: %d$", PlayerInfo[i][ppaydaymoney], PlayerInfo[i][plvl], PlayerInfo[i][pbank]);
- SendClientMessage(i,-1, string);
- PlayerInfo[i][plvl]++;
- if (PlayerInfo[i][psleepless] == 0)
- {
- SendClientMessage(i,COLOR_RED, "ВНМАНИЕ: ВЫ УСТАЛИ, ЛОЖИТЕСЬ СПАТЬ! /sleep");
- PlayerInfo[i][phunger] -= 50;
- if (PlayerInfo[i][psleepless] == 0)
- {
- SendClientMessage(i,COLOR_RED, "ВЫ СЛИШКОМ ГОЛОДНЫ!");
- SetPlayerHealth(i, -30.0);
- }
- }
- }
- }
- public SendTeamMessage(color,const string[], factionid)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) == 1) if (PlayerInfo[i][pfaction] == factionid) SendClientMessage(i, color, string);
- }
- return 1;
- }
- public BleedingDamage(playerid)
- {
- if(PlayerInfo[playerid][pint] == 1)
- {
- PlayerPlaySound(playerid, SOUND_BLEEDING, 0, 0, 0);
- GameTextForPlayer(playerid, "~r~Bleeding", 1000, 1);
- new Float:HP;
- GetPlayerHealth(playerid, HP);
- SetPlayerHealth(playerid, HP - 1.5);
- }
- }
- forward SetBleeding(playerid);
- public SetBleeding(playerid)
- {
- PlayerInfo[playerid][pint] = 1;
- }
- public hunger(playerid)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- PlayerInfo[playerid][pint] = 0;
- PlayerInfo[i][phunger]--;
- if(PlayerInfo[i][phunger] < 30)
- {
- PlayerPlaySound(i, SOUND_ERROR, 0, 0, 0);
- GameTextForPlayer(i, "low satiety!", 5000, 1);
- }
- if(PlayerInfo[i][phunger] <= 0)
- {
- GameTextForPlayer(i, "~r~no satiety!", 5000, 1);
- SendClientMessage(i,COLOR_RED, "ВЫ СЛИШКОМ ГОЛОДНЫ!");
- PlayerPlaySound(i, SOUND_ERROR, 0, 0, 0);
- new Float:HP;
- GetPlayerHealth(i, HP);
- SetPlayerHealth(i, HP - 10.0);
- }
- new tdstring[3];
- }
- }
- public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
- {
- GetPlayerPos(i, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) // If the player is within 16 meters
- {
- SendClientMessage(i, col1, string);
- }
- else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) // within 8 meters
- {
- SendClientMessage(i, col2, string);
- }
- else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) //4 meters
- {
- SendClientMessage(i, col3, string);
- }
- else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) //2 meters
- {
- SendClientMessage(i, col4, string);
- }
- else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) //1 meter
- {
- SendClientMessage(i, col5, string);
- }
- }
- else
- {
- SendClientMessage(i, col1, string);
- }
- }
- }
- return 0;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public DelayedBan(playerid)
- {
- Ban(playerid);
- }
- public Applytimer(playerid)
- {
- if (ended[playerid] == true)
- {
- return 1;
- }
- timerapply[playerid]++;
- new string[50];
- format(string, sizeof(string), "~w~Applying please wait... ~g~%d/10", timerapply );
- GameTextForPlayer(playerid, string, 5000, 3);
- if (timerapply[playerid] == 10)
- {
- ended[playerid] = true;
- timerapply[playerid] = 0;
- KillTimer(Applytimer(playerid));
- SetPlayerHealth(playerid, 100.0);
- GameTextForPlayer(playerid, "~g~+100 ~r~hp", 1000, 1);
- }
- }
- public ApplyFoodtimer(playerid)
- {
- if (ended[playerid] == true)
- {
- return 1;
- }
- timerapply[playerid]++;
- new string[50];
- format(string, sizeof(string), "~w~Applying please wait... ~g~%d/5", timerapply );
- GameTextForPlayer(playerid, string, 5000, 3);
- if (timerapply[playerid] == 5)
- {
- ended[playerid] = true;
- timerapply[playerid] = 0;
- KillTimer(Applytimer(playerid));
- new Float:HP;
- GetPlayerHealth(playerid, HP);
- SetPlayerHealth(playerid, HP + 10.0);
- GameTextForPlayer(playerid, "~g~+10 ~r~hp and ~g~+50 ~r~safiety!", 1000, 1);
- }
- }
- public DelayedKick(playerid)
- {
- Kick(playerid);
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public setexp(playerid)
- {
- PlayerInfo[playerid][pexp]++;
- GameTextForPlayer(playerid, "player exp ~g~+1", 5000, 1);
- return 1;
- }
- public setmoney(playerid,moneys)
- {
- eGivePlayerMoney(playerid,moneys);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- TogglePlayerSpectating(playerid,1);
- if(fexist(UserPath(playerid)))
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_MESSAGE"Вход",""COL_MESSAGE"Введите пароль чтобы войти в игру","Вход","Выход");
- TogglePlayerSpectating(playerid,0);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_MESSAGE"Регистрация...",""COL_MESSAGE"Чтобы зарегистрироватся введите пароле в поле ниже:","Регистрация","Выход");
- SetPlayerSkin(playerid, 135);
- TogglePlayerSpectating(playerid,0);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Cash",eGetPlayerMoney(playerid));
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
- INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
- INI_WriteInt(File,"Licenses",PlayerInfo[playerid][plices]);
- INI_WriteInt(File,"hp",PlayerInfo[playerid][pheals]);
- INI_WriteInt(File,"skin",PlayerInfo[playerid][pskin]);
- INI_WriteInt(File,"Food",PlayerInfo[playerid][pheals]);
- INI_WriteInt(File,"first",PlayerInfo[playerid][pfirst]);
- INI_WriteInt(File,"mashina",PlayerInfo[playerid][pmashina]);
- INI_WriteInt(File,"color1",PlayerInfo[playerid][pcolor1]);
- INI_WriteInt(File,"color2",PlayerInfo[playerid][pcolor2]);
- INI_WriteInt(File,"lvl",PlayerInfo[playerid][plvl]);
- INI_WriteInt(File,"exp",PlayerInfo[playerid][pexp]);
- INI_WriteInt(File,"paydaymoney",PlayerInfo[playerid][ppaydaymoney]);
- INI_WriteInt(File,"bank",PlayerInfo[playerid][pbank]);
- INI_WriteInt(File,"terminal",PlayerInfo[playerid][pterminal]);
- INI_WriteInt(File,"hotel",PlayerInfo[playerid][photel]);
- INI_WriteInt(File,"school",PlayerInfo[playerid][pschool]);
- INI_WriteInt(File,"work",PlayerInfo[playerid][pwork]);
- INI_WriteInt(File,"workedmoney",PlayerInfo[playerid][pworkedmoney]);
- INI_WriteInt(File,"warns",PlayerInfo[playerid][pwarns]);
- INI_WriteInt(File,"gruz",PlayerInfo[playerid][pgruz]);
- INI_WriteInt(File,"mute",PlayerInfo[playerid][pmute]);
- INI_WriteInt(File,"faction",PlayerInfo[playerid][pfaction]);
- INI_WriteInt(File,"rank",PlayerInfo[playerid][prank]);
- INI_WriteInt(File,"sleepless",PlayerInfo[playerid][psleepless]);
- INI_WriteInt(File,"hunger",PlayerInfo[playerid][phunger]);
- INI_WriteInt(File,"bandage",PlayerInfo[playerid][pbandage]);
- INI_WriteInt(File,"wood",PlayerInfo[playerid][pwood]);
- INI_WriteInt(File,"materials",PlayerInfo[playerid][pmaterials]);
- INI_WriteFloat(File,"phomeX",PlayerInfo[playerid][phomeX]);
- INI_WriteFloat(File,"phomeY",PlayerInfo[playerid][phomeY]);
- INI_WriteFloat(File,"phomeZ",PlayerInfo[playerid][phomeZ]);
- INI_WriteInt(File,"pint",PlayerInfo[playerid][pint]);
- INI_Close(File);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerVirtualWorld(playerid, 0);
- if (PlayerInfo[playerid][pfirst] == 0)
- {
- SetPlayerSkin(playerid, 135);
- eGivePlayerMoney(playerid, 500);
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- PlayerInfo[playerid][phunger] = 50;
- PlayerInfo[playerid][psleepless] = 50;
- ShowPlayerDialog(playerid, 108, DIALOG_STYLE_LIST, "Выбрать скин:", "Мужской скин 1\nМужской скин 2\nМужской скин 3\nЖенский скин 1\nЖенский скин 2\nЖенский скин 3", "Выбор", "Выход");
- PlayerInfo[playerid][pfirst]++;
- }
- if (PlayerInfo[playerid][pfirst] == 1)
- {
- if(PlayerInfo[playerid][pint] >= 1)
- {
- SetPlayerPos(playerid, PlayerInfo[playerid][phomeX], PlayerInfo[playerid][phomeY], PlayerInfo[playerid][phomeZ]);
- }
- SetPlayerSkin(playerid, PlayerInfo[playerid][pskin]);
- if(PlayerInfo[playerid][plvl] >= 0)
- {
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- }
- if(PlayerInfo[playerid][plvl] >= 1)
- {
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- }
- if(PlayerInfo[playerid][plvl] >= 5)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][plvl] >= 10)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][pwarns] >= 10)
- {
- SendClientMessage(playerid, COLOR_RED, "Вы были заблокированы за большое количество предупреждений!");
- SetTimerEx("DelayedBan", 1000, false, "d", playerid);
- }
- if(PlayerInfo[playerid][pfaction] == 10)
- {
- SendClientMessage(playerid, -1, "Сообщение дня: хуй");
- gTeam[playerid] = 10;
- SetPlayerPos(playerid, -2285.8003,2284.9756,4.9756);
- }
- if(PlayerInfo[playerid][pfaction] == 9)
- {
- SendClientMessage(playerid, -1, "Сообщение дня: хуй");
- SetPlayerPos(playerid, 2000.5540,-1114.2349,27.1250);
- gTeam[playerid] = 9;
- }
- if(PlayerInfo[playerid][pfaction] == 8)
- {
- SendClientMessage(playerid, -1, "Сообщение дня: хуй");
- SetPlayerPos(playerid, 2509.7185,-1678.3444,13.5469);
- gTeam[playerid] = 8;
- }
- }
- }
- SetPlayerToTeamColour(playerid)
- {
- if(gTeam[playerid] == 10)
- {
- SetPlayerColor(playerid,COLOR_BLUE);
- }
- else if(gTeam[playerid] == 9)
- {
- SetPlayerColor(playerid,COLOR_RED);
- }
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if (PlayerInfo[killerid][pfaction] == 10)
- {
- if (PlayerInfo[playerid][pfaction] == 9 || PlayerInfo[playerid][pfaction] == 8)
- {
- factionlevel1++;
- factionlevel2--;
- }
- }
- if (PlayerInfo[killerid][pfaction] == 9)
- {
- if (PlayerInfo[playerid][pfaction] == 8 || PlayerInfo[playerid][pfaction] == 10)
- {
- factionlevel1--;
- factionlevel2++;
- }
- }
- if (PlayerInfo[killerid][pfaction] == 8)
- {
- if (PlayerInfo[playerid][pfaction] == 9 || PlayerInfo[playerid][pfaction] == 10)
- {
- factionlevel2--;
- factionlevel3++;
- }
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new pname[24], str[128];
- GetPlayerName(playerid, pname, 24);
- format(str, sizeof(str), "%s говорит: %s", pname, text);
- ProxDetector(20.0, playerid, str, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
- SetPlayerChatBubble(playerid, text, -1, 15.0, 10000);
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
- {
- if (PlayerInfo[playerid][plices] == 0)
- {
- SendClientMessage(playerid,COLOR_RED,"У вас нет лицензии! Вы не умеете управлять транспортом");
- SetPlayerDrunkLevel(playerid, 30000);
- }
- }
- if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
- {
- if (PlayerInfo[playerid][plices] == 0)
- {
- SetPlayerDrunkLevel(playerid, 0);
- }
- }
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- if(pickupid == pickuparenda)
- {
- ShowPlayerDialog(playerid, 111, DIALOG_STYLE_LIST, "Купить машины", "Clover 4500$\nSentinel 6000$\nManana 7500$\nPony 3600$\nEsperanto 3900$\nLandstalker 5000$\nStallion 9000$\nSolair 8000$\nGlenade 2000$\nComet 10000$\nBlista Compact 19000$", "Купить", "Закрыть");
- }
- if(pickupid == schoolcar)
- {
- if(PlayerInfo[playerid][pexp] >= 5)
- {
- SendClientMessage(playerid, COLOR_GREEN, "Успешно! Чтобы посмотреть введите /lic <id>");
- PlayerInfo[playerid][plices]++;
- }
- if(PlayerInfo[playerid][pexp] < 5)
- {
- SendClientMessage(playerid, COLOR_RED, "Вы не получили 5 PLAYER EXP!");
- }
- }
- if(pickupid == pickuparenda1)
- {
- ShowPlayerDialog(playerid, 112, DIALOG_STYLE_LIST, "Купить машины", "Infernus 500000$\nTurismo 300000$\nSuper GT 200000$\nHotring Racer 100000$\nSultan 90000$\nBullet 120000$", "Купить", "Закрыть");
- }
- if(pickupid == pickuparenda2)
- {
- ShowPlayerDialog(playerid, 200, DIALOG_STYLE_LIST, "Купить транспорт", "Горный велосипед 300$\nFaggio 1500$\nFreeway 1800$\nPCJ-600 3800$\nSanchez 3800$\nNRG-500 6500$", "Купить", "Закрыть");
- return 1;
- }
- if(pickupid == pickuprecolor1)
- {
- ShowPlayerDialog(playerid, 113, DIALOG_STYLE_INPUT, "Смена цвета машины", "Введите ID Цвета 1:", "Сменить", "Отмена");
- }
- if(pickupid == pickuprecolor2)
- {
- ShowPlayerDialog(playerid, 113, DIALOG_STYLE_INPUT, "Смена цвета машины", "Введите ID Цвета 1:", "Сменить", "Отмена");
- }
- if(pickupid == pickuprecolor3)
- {
- ShowPlayerDialog(playerid, 113, DIALOG_STYLE_INPUT, "Смена цвета машины", "Введите ID Цвета 1:", "Сменить", "Отмена");
- }
- if(pickupid == bankomat1)
- {
- ShowPlayerDialog(playerid, 120, DIALOG_STYLE_MSGBOX, "Банкомат", "Вы действительно хотите снять все деньги с счёта?", "Да", "Нет");
- }
- if(pickupid == bankomat2)
- {
- ShowPlayerDialog(playerid, 120, DIALOG_STYLE_MSGBOX, "Банкомат", "Вы действительно хотите снять все деньги с счёта?", "Да", "Нет");
- }
- if(pickupid == bankomat3)
- {
- ShowPlayerDialog(playerid, 120, DIALOG_STYLE_MSGBOX, "Банкомат", "Вы действительно хотите снять все деньги с счёта?", "Да", "Нет");
- }
- if(pickupid == picupGruz)
- {
- ShowPlayerDialog(playerid, 202, DIALOG_STYLE_INPUT, "Загрузка груза", "Введите сколько вам надо груза (Цена 1 ед. груза - 5$):", "Загрузить", "Отмена");
- }
- if(pickupid == picupGruzEnd)
- {
- if(PlayerInfo[playerid][pgruz] >= 1)
- {
- SendClientMessage(playerid, COLOR_BLUE, "Груз доставлен!");
- PlayerPlaySound(playerid, SOUND_MESSAGE, 0, 0, 0);
- eGivePlayerMoney(playerid, 20*PlayerInfo[playerid][pgruz]);
- PlayerInfo[playerid][pgruz] = 0;
- }
- }
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (newkeys == 131072)
- {
- new message[379];
- format(message, sizeof(message), "Уровень сытости: %d Выносливость: %d\nЗакрыть дом\nОткрыть дом\nСпавн машины\nИнформация об игроке", PlayerInfo[playerid][phunger],PlayerInfo[playerid][psleepless]);
- ShowPlayerDialog(playerid, 361, DIALOG_STYLE_LIST, "Меню игрока:", message, "Выбрать", "Закрыть");
- return 1;
- }
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- // if( GetPlayerMoney ( playerid ) != eGetPlayerMoney ( playerid ) ) ResetPlayerMoney( playerid ), GivePlayerMoney( playerid, eGetPlayerMoney ( playerid ) );
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch( dialogid )
- {
- case DIALOG_REGISTER:
- {
- if (!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_MESSAGE"Регистрация...",""COL_ERROR"Вы ввели неверный пароль!\n"COL_MESSAGE"Введите свой пароль для регистрации","Регистрация","Выход");
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Password",udb_hash(inputtext));
- INI_WriteInt(File,"Cash",0);
- INI_WriteInt(File,"Admin",0);
- INI_WriteInt(File,"Kills",0);
- INI_WriteInt(File,"Deaths",0);
- INI_Close(File);
- SpawnPlayer(playerid);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_MESSAGE"УСПЕХ!",""COL_SUSCESS"Добро пожаловать на Laine MINIRPG!\nПравила и другую информацию на точке возрождения!","Ok","");
- islogged[playerid] = 1;
- TogglePlayerSpectating(playerid,0);
- if(PlayerInfo[playerid][plvl] >= 1)
- {
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- }
- if(PlayerInfo[playerid][plvl] >= 5)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][plvl] >= 10)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][pwarns] >= 10)
- {
- SendClientMessage(playerid, COLOR_RED, "Вы были заблокированны за большое количиство предупреждений!");
- SetTimerEx("DelayedBan", 1000, false, "d", playerid);
- }
- }
- }
- case D_H_CREATE_DESC:
- {
- if(response) // Если игрок нажал "Далее"
- {
- if(!strlen(inputtext))return ShowPlayerDialog(playerid,D_H_CREATE_DESC,DIALOG_STYLE_INPUT,"Создание дома - описание","Введите описание для дома.","Далее","Закрыть"); // Если игрок ничего не ввел то показываем ему диалог снова
- SetPVarString(playerid,"h_desc",inputtext); // Записываем в PVar описание чтобы в дальнейшем его использовать
- ShowPlayerDialog(playerid,D_H_CREATE_PRICE,DIALOG_STYLE_INPUT,"Создание дома - цена","Введите цену для дома.","Далее","Назад"); // Показываем следующий диалог - цена дома.
- }
- }
- case D_H_CREATE_PRICE:
- {
- if(response) // Если нажал "Да"
- {
- if(!strlen(inputtext))return ShowPlayerDialog(playerid,D_H_CREATE_PRICE,DIALOG_STYLE_INPUT,"Создание дома - цена","Введите цену для дома.","Далее","Назад");
- SetPVarInt(playerid,"h_price",strval(inputtext)); // Сохраняем цену в PVar
- STR=""; // Очищаем массив (чтобы не было лишней информации
- for(new i;i<sizeof(HInts);i++) // запускаем цикл для формирования следующего диалога в котором будет список с доступными интерьерами
- {
- strcat(STR,HInts[i][hiName]); // записываем в массив STR значение из HInts[i][hiName]
- strcat(STR,"\n"); // Делаем переход на следующую строку т.к. стиль диалога = DIALOG_STYLE_LIST
- }
- ShowPlayerDialog(playerid,D_H_CREATE_INT,DIALOG_STYLE_LIST,"Создание дома - интерьер",STR,"Далее","Назад"); // Показываем диалог с готовым списком интерьеров
- }
- else DeletePVar(playerid,"h_desc"),ShowPlayerDialog(playerid,D_H_CREATE_DESC,
- DIALOG_STYLE_INPUT,"Создание дома - описание","Введите описание для дома.","Далее","Закрыть"); // Если же игрок нажал "Назад" показываем ему предыдущий диалог и удаляем то что было введено ранее (описание: DeletePVar).
- }
- case D_H_CREATE_INT:
- {
- if(response) // если нажал "Далее"
- {
- SetPVarInt(playerid,"h_int",listitem); // Записываем в PVar номер списка (подсчет номера идет с 0 как в и массивах подсчет ячеек.
- ShowPlayerDialog(playerid,D_H_CREATE_CONF,DIALOG_STYLE_MSGBOX,"Создание дома - подтверждение","Вы действительно хотите создать дом в этом месте?","Создать","Отмена"); // Показываем диалог подтверждения
- }
- else DeletePVar(playerid,"h_price"),ShowPlayerDialog(playerid,D_H_CREATE_PRICE,
- DIALOG_STYLE_INPUT,"Создание дома - цена","Введите цену для дома.","Далее","Назад"); // Иначе, если нажал "Назад" показываем предыдущий диалог и удаляем то что ввели ранее (цену: DeletePVar)
- }
- case D_H_CREATE_CONF:
- {
- if(response) // если игрок нажал "Создать"
- {
- m_h++,SaveHouseAmount(); // Увеличиваем общее кол-во домов
- new Float:x[3],str[32]; // Создаем необходимые массивы (для определения координат и получения данных из PVar'a - описание дома, то, что вводили ранее)
- GetPlayerPos(playerid,x[0],x[1],x[2]),GetPVarString(playerid,"h_desc",str,32); // Определяем позиции игрока, заносим описание в str
- House[m_h][hX]=x[0],House[m_h][hY]=x[1],House[m_h][hZ]=x[2],House[m_h][hPrice]=GetPVarInt(playerid,"h_price"), // Присваиваем переменным дома необходимые значения
- House[m_h][hInterior]=GetPVarInt(playerid,"h_int"),House[m_h][hVirtWorld]=m_h,strmid(House[m_h][hDesc],str,0,32,32),
- strmid(House[m_h][hOwner],"None",0,5,5); // Записываем владельца дома как None
- SaveHouse(m_h); // Сохраняем дом
- House[m_h][hPick]=CreatePickup(1273,23,x[0],x[1],x[2],0); // Создаем пикап
- format(STR,128,"[Дом продается]\nОписание: %s\nЦена: $%d",House[m_h][hDesc],House[m_h][hPrice]); // Форматируем строку для 3D информации
- House[m_h][hText]=Create3DTextLabel(STR,0xFFFFFFFF,x[0],x[1],x[2]+0.5,10.0,0,0); // Создаем 3D текст с ин-цией
- GameTextForPlayer(playerid,"~g~House created",100,1); // Показываем текст игроку об успешном создании дома
- DeletePVar(playerid,"h_price"),DeletePVar(playerid,"h_desc"),
- DeletePVar(playerid,"h_int"); // Удаляем уже не нужные нам PVar's
- }
- else DeletePVar(playerid,"h_price"),DeletePVar(playerid,"h_desc");
- DeletePVar(playerid,"h_int"); // Иначе если игрок нажал "Отмена" удаляем PVar's.
- }
- case 108:
- {
- switch(listitem)
- {
- case 0:
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Скин выбран!");
- SetPlayerSkin(playerid, 6);
- PlayerInfo[playerid][pskin] = 6;
- return 1;
- }
- case 1: // The second listitem
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Скин выбран!");
- SetPlayerSkin(playerid, 7);
- PlayerInfo[playerid][pskin] = 7;
- return 1;
- }
- case 2: // The third listitem
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Скин выбран!");
- SetPlayerSkin(playerid, 3);
- PlayerInfo[playerid][pskin] = 3;
- return 1;
- }
- case 3: // The third listitem
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Скин выбран!");
- SetPlayerSkin(playerid, 11);
- PlayerInfo[playerid][pskin] = 11;
- return 1;
- }
- case 4: // The third listitem
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Скин выбран!");
- SetPlayerSkin(playerid, 12);
- PlayerInfo[playerid][pskin] = 12;
- return 1;
- }
- case 5: // The third listitem
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Скин выбран!");
- SetPlayerSkin(playerid, 9);
- PlayerInfo[playerid][pskin] = 9;
- return 1;
- }
- }
- }
- case 111:
- {
- switch(listitem)
- {
- case 0:
- {
- if(eGetPlayerMoney(playerid) < 4500) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -4500);
- PlayerInfo[playerid][pmashina] = 542;
- }
- }
- case 1: // The second listitem
- {
- if(eGetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -6000);
- PlayerInfo[playerid][pmashina] = 405;
- }
- }
- case 2: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 3600) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -3600);
- PlayerInfo[playerid][pmashina] = 413;
- }
- }
- case 3: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 3900) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -3900);
- PlayerInfo[playerid][pmashina] = 419;
- }
- }
- case 4: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -5000);
- PlayerInfo[playerid][pmashina] = 400;
- }
- }
- case 5: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 9000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -9000);
- PlayerInfo[playerid][pmashina] = 439;
- }
- }
- }
- }
- case 200:
- {
- switch(listitem)
- {
- case 0:
- {
- if(eGetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Транспорт куплен! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -500);
- PlayerInfo[playerid][pmashina] = 542;
- }
- }
- case 1:
- {
- if(eGetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Транспорт куплен! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -1500);
- PlayerInfo[playerid][pmashina] = 462;
- }
- }
- case 2:
- {
- if(eGetPlayerMoney(playerid) < 1800) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Транспорт куплен! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -1800);
- PlayerInfo[playerid][pmashina] = 463;
- }
- }
- case 3:
- {
- if(eGetPlayerMoney(playerid) < 2650) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Транспорт куплен! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -2560);
- PlayerInfo[playerid][pmashina] = 461;
- }
- }
- case 4:
- {
- if(eGetPlayerMoney(playerid) < 3800) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Транспорт куплен! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -3800);
- PlayerInfo[playerid][pmashina] = 468;
- // DELETED
- }
- }
- case 5:
- {
- if(eGetPlayerMoney(playerid) < 6500) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Транспорт куплен! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -6500);
- PlayerInfo[playerid][pmashina] = 522;
- // DELETED
- }
- }
- }
- }
- case 121:
- {
- switch(listitem)
- {
- case 0:
- {
- if(eGetPlayerMoney(playerid) < 200) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили лопату");
- eGivePlayerMoney(playerid, -200);
- GivePlayerWeapon(playerid, 6, 1);
- }
- }
- case 1: // The second listitem
- {
- if(eGetPlayerMoney(playerid) < 1800) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили удалённый терминал. Использовать: /terminal");
- eGivePlayerMoney(playerid, -1800);
- PlayerInfo[playerid][pterminal] = 1;
- if (PlayerInfo[playerid][pterminal] == 1)
- {
- SendClientMessage(playerid,COLOR_GREY, "Он у вас и так есть!");
- }
- }
- }
- case 2: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили цветы");
- eGivePlayerMoney(playerid, -100);
- GivePlayerWeapon(playerid, 14, 1);
- }
- }
- case 3: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 320) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили аптечку");
- eGivePlayerMoney(playerid, -320);
- PlayerInfo[playerid][pheals]++;
- }
- }
- case 4: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 35) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили еду");
- eGivePlayerMoney(playerid, -35);
- PlayerInfo[playerid][pfood]++;
- }
- }
- case 5: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 300) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили фотоаппарат 50 снимков!");
- eGivePlayerMoney(playerid, -300);
- GivePlayerWeapon(playerid, 43, 50);
- }
- }
- case 6: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 180) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,COLOR_GREEN, "Вы купили маску! Она у вас будет до перезахода на сервер!");
- eGivePlayerMoney(playerid, -180);
- Mask[playerid] = 1;
- }
- return 1;
- }
- }
- return 1;
- }
- /*"Пистолет 300 Материалов\nПистолет с глушителем 250 Материалов\nDeagle 400 Материалов\nМ4 570 Материалов\nАК-47 500 Материалов\n
- Дробовик 320 Материалов\nCombat-shotgun 450 Материалов\nSniper 1000 Материалов\nSMG 430 Материалов\nUZI 400 Материалов
- */
- case 207:
- {
- switch(listitem)
- {
- case 0:
- {
- if(PlayerInfo[playerid][pmaterials] >= 300 && PlayerInfo[playerid][prank] >= 2) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 300;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали пистолет с 100 патронами!");
- GivePlayerWeapon(playerid, 22,100);
- }
- }
- case 1:
- {
- if(PlayerInfo[playerid][pmaterials] >= 250 && PlayerInfo[playerid][prank] >= 2) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов!");
- {
- PlayerInfo[playerid][pmaterials] -= 250;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали Пистолет с глушителем с 100 патронами!");
- GivePlayerWeapon(playerid, 23,100);
- }
- }
- case 2:
- {
- if(PlayerInfo[playerid][pmaterials] >= 400 && PlayerInfo[playerid][prank] >= 3) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 300;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали Deagle с 100 патронами!");
- GivePlayerWeapon(playerid, 24,100);
- }
- }
- case 3:
- {
- if(PlayerInfo[playerid][pmaterials] >= 570 && PlayerInfo[playerid][prank] >= 4) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 570;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали M4 с 100 патронами!");
- GivePlayerWeapon(playerid, 31,100);
- }
- }
- case 4:
- {
- if(PlayerInfo[playerid][pmaterials] >= 500 && PlayerInfo[playerid][prank] >= 4) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 500;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали AK-47 с 100 патронами!");
- GivePlayerWeapon(playerid, 30,100);
- }
- }
- case 5:
- {
- if(PlayerInfo[playerid][pmaterials] >= 320 && PlayerInfo[playerid][prank] >= 4) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 320;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали дробовик с 100 патронами!");
- GivePlayerWeapon(playerid, 25,100);
- }
- }
- case 6:
- {
- if(PlayerInfo[playerid][pmaterials] >= 450 && PlayerInfo[playerid][prank] >= 5) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 450;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали Combat-shotgun с 100 патронами!");
- GivePlayerWeapon(playerid, 27,100);
- }
- }
- case 7:
- {
- if(PlayerInfo[playerid][pmaterials] >= 1000 && PlayerInfo[playerid][prank] >= 8) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 1000;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали Sniper с 100 патронами!");
- GivePlayerWeapon(playerid, 34,100);
- }
- }
- case 8:
- {
- if(PlayerInfo[playerid][pmaterials] >= 430 && PlayerInfo[playerid][prank] >= 3) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 430;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали SMG с 100 патронами!");
- GivePlayerWeapon(playerid, 29,100);
- }
- }
- case 9:
- {
- if(PlayerInfo[playerid][pmaterials] >= 400 && PlayerInfo[playerid][prank] >= 3) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно материалов! Или слишком маленький ранг");
- {
- PlayerInfo[playerid][pmaterials] -= 400;
- SendClientMessage(playerid,0xFFFFFFFF, "Вы сделали UZI с 100 патронами!");
- GivePlayerWeapon(playerid, 28,100);
- }
- return 1;
- }
- }
- return 1;
- }
- /*"Пистолет 300 Материалов\nПистолет с глушителем 250 Материалов\nDeagle 400 Материалов\nМ4 570 Материалов\nАК-47 500 Материалов\n
- Дробовик 320 Материалов\nCombat-shotgun 450 Материалов\nSniper 1000 Материалов\nSMG 430 Материалов\nUZI 400 Материалов
- */
- case 120:
- {
- eGivePlayerMoney(playerid, PlayerInfo[playerid][pbank]);
- PlayerInfo[playerid][pbank] = 0;
- SendClientMessage(playerid,COLOR_GREEN,"Вы сняли все деньги с счёта!");
- return 1;
- }
- case DIALOG_SUCCESS_1:
- {
- if(PlayerInfo[playerid][plvl] >= 1)
- {
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- }
- if(PlayerInfo[playerid][plvl] >= 5)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][plvl] >= 10)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][pwarns] >= 10)
- {
- SendClientMessage(playerid, COLOR_RED, "Вы были забанины за большое количиство предупреждений!");
- SetTimerEx("DelayedBan", 1000, false, "d", playerid);
- }
- return 1;
- }
- case DIALOG_SUCCESS_2:
- {
- if(PlayerInfo[playerid][plvl] >= 1)
- {
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- }
- if(PlayerInfo[playerid][plvl] >= 5)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][plvl] >= 10)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][pwarns] >= 10)
- {
- SendClientMessage(playerid, COLOR_RED, "Вы были забанины за большое количиство предупреждений!");
- SetTimerEx("DelayedBan", 1000, true, "d", playerid);
- }
- return 1;
- }
- case 113:
- {
- if(strlen(inputtext) > 0)
- {
- new amount = strval(inputtext);
- PlayerInfo[playerid][pcolor2] = amount;
- ShowPlayerDialog(playerid, 114, DIALOG_STYLE_INPUT, "Смена цвета машины", "Введите ID Цвета 2:", "Сменить", "Отмена");
- SendClientMessage(playerid,COLOR_GREEN,"Цвет 1 установлен!");
- }
- else
- {
- SendClientMessage(playerid,COLOR_GREY,"Недостаточно параметров");
- }
- }
- case 202:
- {
- if(strlen(inputtext) > 0)
- {
- new amount = strval(inputtext);
- PlayerInfo[playerid][pgruz] = amount;
- eGivePlayerMoney(playerid, -amount*5);
- SendClientMessage(playerid,COLOR_GREEN,"Вы загрузли груз!");
- return 1;
- }
- else
- {
- SendClientMessage(playerid,COLOR_GREY,"Недостаточно параметров");
- return 1;
- }
- }
- case 114:
- {
- if(strlen(inputtext) > 0)
- {
- new amount = strval(inputtext);
- PlayerInfo[playerid][pcolor2] = amount;
- SendClientMessage(playerid,COLOR_GREEN,"Цвет 2 установлен!");
- }
- else
- {
- SendClientMessage(playerid,COLOR_GREY,"Недостаточно параметров");
- }
- }
- case 153:
- {
- if(strlen(inputtext) > 0)
- {
- new skin1 = strval(inputtext);
- if(eGetPlayerMoney(playerid) < skin1*10) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- PlayerInfo[playerid][pskin] = skin1;
- SetPlayerSkin(playerid, skin1);
- eGivePlayerMoney(playerid, -skin1*10);
- }
- SendClientMessage(playerid,COLOR_GREEN,"Скин установлен!");
- }
- else
- {
- SendClientMessage(playerid,COLOR_GREY,"Недостаточно параметров");
- }
- }
- case 112:
- {
- switch(listitem)
- {
- case 0:
- {
- if(eGetPlayerMoney(playerid) < 500000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -500000);
- PlayerInfo[playerid][pmashina] = 411;
- }
- }
- case 1: // The second listitem
- {
- if(eGetPlayerMoney(playerid) < 300000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -300000);
- PlayerInfo[playerid][pmashina] = 451;
- }
- }
- case 2: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 20000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -200000);
- PlayerInfo[playerid][pmashina] = 559;
- }
- }
- case 3: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 100000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -100000);
- PlayerInfo[playerid][pmashina] = 494;
- }
- }
- case 4: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 90000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -90000);
- PlayerInfo[playerid][pmashina] = 560;
- }
- }
- case 5: // The third listitem
- {
- if(eGetPlayerMoney(playerid) < 210000) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- SendClientMessage(playerid,0xFFFFFFFF, "Машина куплена! чтобы заспавнить введите: /spawncar");
- eGivePlayerMoney(playerid, -210000);
- PlayerInfo[playerid][pmashina] = 541;
- }
- }
- }
- }
- case 361:
- {
- switch(listitem)
- {
- case 0: // Просто инфа
- {
- return 1;
- }
- case 1: // Закрыить дом
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[
- h][hY],House[h][hZ]))continue;
- if(strcmp(House[h][hOwner],Name(playerid),true)!=0)return SendClientMessage(playerid,-1,"У вас нет ключей от этого дома!"); // Сравниваем владельца дома с ником игрока, если не совпадает - выводим сообщение
- if(House[h][hLock]==0)House[h][hLock]=1,SaveHouse(h),
- GameTextForPlayer(playerid,"~r~House locked",100,1); // если дом открыт - закрываем (0 открыт / 1 закрыт)
- else if(House[h][hLock]==1)return SendClientMessage(playerid,-1,"Дом уже закрыт!"); // иначе выводим сообщение
- return 1;
- }
- return 1;
- }
- case 2: // Открыть дом
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[
- h][hY],House[h][hZ]))continue;
- if(strcmp(House[h][hOwner],Name(playerid),true)!=0)return SendClientMessage(playerid,-1,"У вас нет ключей от этого дома!");
- if(House[h][hLock]==1)House[h][hLock]=0,SaveHouse(h),
- GameTextForPlayer(playerid,"~g~House unlocked",100,1);
- else if(House[h][hLock]==0)return SendClientMessage(playerid,-1,"Дом уже открыт!");
- return 1;
- }
- return 1;
- }
- case 3: // Спавн машины
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- if(eGetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- if(spawnedcars[playerid] > 1) return SendClientMessage(playerid, COLOR_RED, "Вы наспавнили очень много машин! Ждите 5 минут чтобы заспавнить опять!");
- GameTextForPlayer(playerid, "~g~Car spawn ~r~-500$", 5000, 1);
- eGivePlayerMoney(playerid, -500);
- CreateVehicle(PlayerInfo[playerid][pmashina], x, y, z, 82.2873, PlayerInfo[playerid][pcolor1], PlayerInfo[playerid][pcolor2], 60);
- }
- }
- case 4: // player info
- {
- new string[950];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "ID: %d\nИмя: %s\nУровень: %d\nЛицензии: %d\nОпыт: %d\nПредупреждений: %d\nФракция %d\nРанг: %d\nДенег: %d", playerid, name, PlayerInfo[playerid][plvl], PlayerInfo[playerid][plices], PlayerInfo[playerid][pexp],PlayerInfo[playerid][pwarns], PlayerInfo[playerid][pfaction], PlayerInfo[playerid][prank], PlayerInfo[playerid][pCash]);
- ShowPlayerDialog(playerid, 991, DIALOG_STYLE_MSGBOX, "Информация об игроке", string, "Ок", "");
- }
- }
- return 1;
- }
- case DIALOG_LOGIN:
- {
- if ( !response ) return Kick ( playerid );
- if( response )
- {
- if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- eGivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_MESSAGE"Успех!",""COL_SUSCESS"Вы вошли успешно, нажмите Spawn чтобы продолжить!","ок","");
- islogged[playerid] = 1;
- if(PlayerInfo[playerid][plvl] >= 1)
- {
- SetPlayerPos(playerid, -1970.5852, 147.8871, 27.6875);
- }
- if(PlayerInfo[playerid][plvl] >= 5)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][plvl] >= 10)
- {
- SetPlayerPos(playerid, 1771.2465,-1895.7551,13.5552);
- }
- if(PlayerInfo[playerid][pwarns] >= 10)
- {
- SendClientMessage(playerid, COLOR_RED, "Вы были забанины за большое количиство предупреждений!");
- SetTimerEx("DelayedBan", 1000, false, "d", playerid);
- }
- TogglePlayerSpectating(playerid,0);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_MESSAGE"Вход",""COL_ERROR"Неверный пароль!\n"COL_MESSAGE"Этот ник зарегистрирован. Введите свой пароль:","Вход","Выход");
- }
- return 1;
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- new string[128];
- format(string,128,"Статистика игрока: %d Уровень: %d Машина: %d Отель: %d",clickedplayerid, PlayerInfo[clickedplayerid][plvl], PlayerInfo[clickedplayerid][pmashina], PlayerInfo[clickedplayerid][photel]);
- SendClientMessage(playerid,-1,string);
- }
- CMD:sms(playerid, params[])
- {
- new string[200], message[100], id;
- if(sscanf(params,"us",id,message))
- return SendClientMessage(playerid, -1, "Используйте: /sms <id> <message>");
- format(string, sizeof(string), "SMS от игрока с id %d: %s", playerid,message);
- PlayerPlaySound(playerid, 45400, 0.0, 0.0, 0.0);
- GameTextForPlayer(playerid, "~g~SMS ~r~-5$", 5000, 1);
- eGivePlayerMoney(playerid, -5);
- SendClientMessage(id, COLOR_BLUE, string);
- return 1;
- }
- CMD:spawncar(playerid, params[])
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- if(eGetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF, "Недостаточно денег!");
- {
- if(spawnedcars[playerid] > 1) return SendClientMessage(playerid, COLOR_RED, "Вы наспавнили очень много машин! Ждите 5 минут чтобы заспавнить опять!");
- GameTextForPlayer(playerid, "~g~Car spawn ~r~-500$", 5000, 1);
- eGivePlayerMoney(playerid, -500);
- CreateVehicle(PlayerInfo[playerid][pmashina], x, y, z, 82.2873, PlayerInfo[playerid][pcolor1], PlayerInfo[playerid][pcolor2], 60);
- }
- return 1;
- }
- CMD:terminal(playerid, params[])
- {
- if (PlayerInfo[playerid][pterminal] == 1)
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "Банкомат (удалённый терминал)", "Вы действительно хотите снять все деньги с счёта?", "Да", "Нет");
- }
- if (PlayerInfo[playerid][pterminal] == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "У вас нет портативного терминала!");
- }
- }
- CMD:stats(playerid, params[])
- {
- new string[128];
- format(string,128,"Статистика игрока: %d Уровень: %d Машина: %d",playerid, PlayerInfo[playerid][plvl], PlayerInfo[playerid][pmashina]);
- SendClientMessage(playerid,-1 ,string);
- }
- CMD:lic(playerid, params[])
- {
- new string[128];
- format(string,128,"Лицензии игрока: %d Уровень лицензии: %d Введите /idinfo чтобы узнать id и уровни лицензий",playerid, PlayerInfo[playerid][plices]);
- SendClientMessage(playerid,-1 ,string);
- }
- CMD:idnfo(playerid, params[])
- {
- ShowPlayerDialog(playerid, 163, DIALOG_STYLE_MSGBOX, COL_SUSCESS"Список id", "ID домов и отелей:\n0 - Нет\n1 - Отель SF\n2 - Отель LS\n3 - Отель LV\n 4 - Малая квартира\n 5 - Средняя квартира\n 6 - Премиум квартира \n Уровни лицензий: \n1 - Только на вождение \n2 - На вождение и полёт \n3 - На вождение, оружие, и полёт \n4- На вождение, оружие, полёт, и на водный транспорт", "ok", "");
- return 1;
- }
- COMMAND:attachobject(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- toplayerid,
- objectid,
- partid;
- if (!sscanf(params, "iii", toplayerid, objectid, partid))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- new message[40];
- SetPlayerAttachedObject(toplayerid, 2, objectid, partid, 0.13, 0.0, 0.0, 0.0, 90.0, 90.0);
- format(message, sizeof(message), "Вам установили объект: %d", objectid);
- SendClientMessage(toplayerid, 0x00FF00FF, message);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Этот игрок не подключён!");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /attachobject <playerid> <id объекта> <id части тела>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна эта команда!");
- return 1;
- }
- COMMAND:givelic(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- toplayerid;
- if (!sscanf(params, "i", toplayerid))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- PlayerInfo[playerid][plices]++;
- SendClientMessage(toplayerid, 0x00FF00FF, "Вам повысили уровень лицензии!");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Этот игрок не подключён!");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /givelic <playerid> <id объекта> <id части тела>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна эта команда!");
- return 1;
- }
- COMMAND:joinfaction(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- toplayerid,
- rank,
- factionid;
- if (!sscanf(params, "iii", toplayerid, factionid))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- new message[40];
- PlayerInfo[playerid][pfaction] = factionid;
- format(message, sizeof(message), "Вы вступили в фракцию: %d", factionid);
- SetPlayerHealth(playerid, 0.0);
- SendClientMessage(toplayerid, 0x00FF00FF, message);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Этот игрок не подключён!");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /joinfaction <playerid> <id фракции> <ранг 1-8>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна эта команда!");
- return 1;
- }
- COMMAND:factionstats(playerid, params[])
- {
- new message[40];
- if(PlayerInfo[playerid][pfaction] == 10)
- {
- format(message, sizeof(message), "Уровень нашей банды: %d", factionlevel1);
- SendClientMessage(playerid, -1, message);
- }
- if(PlayerInfo[playerid][pfaction] == 9)
- {
- format(message, sizeof(message), "Уровень нашей банды: %d", factionlevel2);
- SendClientMessage(playerid, -1, message);
- }
- if(PlayerInfo[playerid][pfaction] == 8)
- {
- format(message, sizeof(message), "Уровень нашей банды: %d", factionlevel3);
- SendClientMessage(playerid, -1, message);
- }
- return 1;
- }
- COMMAND:ban(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- toplayerid,
- reason[128];
- if (!sscanf(params, "is", toplayerid, reason))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- new
- message[128];
- new name[MAX_PLAYER_NAME];
- new name1[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerName(toplayerid, name1, sizeof(name1));
- format(message, sizeof(message), "Вас забанили причина: %s", reason);
- PlayerPlaySound(playerid, 5206, 0.0, 0.0, 0.0);
- SendClientMessage(toplayerid, 0x00FF00FF, message);
- SetTimerEx("DelayedBan", 1000, false, "d", toplayerid);
- format(message, sizeof(message), "Администратор %s забанил игрока %s с причиной: %s", name, name1, reason);
- SendClientMessageToAll(COLOR_RED, message);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Этот игрок не подключён, используйте /offban");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /ban <id> <причина>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна данная функция!");
- return 1;
- }
- COMMAND:kick(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- toplayerid,
- reason[128];
- if (!sscanf(params, "is", toplayerid, reason))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- new
- message[128];
- new name[MAX_PLAYER_NAME];
- new name1[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerName(toplayerid, name1, sizeof(name1));
- format(message, sizeof(message), "Администратор %s кикнул вас причина: %s", name, reason);
- SendClientMessage(toplayerid, COLOR_RED, message);
- PlayerPlaySound(playerid, 5206, 0.0, 0.0, 0.0);
- SetTimerEx("DelayedKick", 1000, false, "d", toplayerid);
- format(message, sizeof(message), "Администратор %s кикнул игрока %s с причиной: %s", name, name1, reason);
- SendClientMessageToAll(COLOR_RED, message);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Этот игрок не подключён!");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /kick <id> <причина>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна данная функция!");
- return 1;
- }
- COMMAND:warn(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- toplayerid,
- reason[128];
- if (!sscanf(params, "is", toplayerid, reason))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- new
- message[128];
- new name[MAX_PLAYER_NAME];
- new name1[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerName(toplayerid, name1, sizeof(name1));
- PlayerInfo[toplayerid][pwarns]++;
- format(message, sizeof(message), "Администратор %s выдал вам предупреждение с причиной: %s. У вас уже %d/10 предупреждений, если вы продолжите нарушать правила, вас забанят!", name, reason, PlayerInfo[playerid][pwarns]);
- SendClientMessage(toplayerid, COLOR_RED, message);
- if(PlayerInfo[toplayerid][pwarns] >= 10)
- {
- Kick(toplayerid);
- }
- PlayerPlaySound(playerid, 5206, 0.0, 0.0, 0.0);
- format(message, sizeof(message), "Администратор %s выдал предупреждение игроку %s с причиной: %s", name, name1, reason);
- SendClientMessageToAll(COLOR_RED, message);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Этот игрок не подключён!");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /warn <id> <причина>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна данная функция!");
- return 1;
- }
- COMMAND:playsound(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- soundid;
- if (!sscanf(params, "i", soundid))
- {
- PlayerPlaySound(playerid, soundid, 0.0, 0.0, 0.0);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /playsound <id звука>");
- }
- else SendClientMessage(playerid, COLOR_RED, "Вам недоступна данная функция!");
- return 1;
- }
- COMMAND:makegun(playerid, params[])
- {
- if (PlayerInfo[playerid][pfaction] == 10 || PlayerInfo[playerid][pfaction] == 9 || PlayerInfo[playerid][pfaction] == 8)
- {
- ShowPlayerDialog(playerid, 207, DIALOG_STYLE_LIST, "Сделать...", "Пистолет 300 Материалов\nПистолет с глушителем 250 Материалов\nDeagle 400 Материалов\nМ4 570 Материалов\nАК-47 500 Материалов\nДробовик 320 Материалов\nCombat-shotgun 450 Материалов\nSniper 1000 Материалов\nSMG 430 Материалов\nUZI 400 Материалов", "Купить", "Закрыть");
- }
- return 1;
- }
- COMMAND:usemedkit(playerid, params[])
- {
- if (PlayerInfo[playerid][pheals] >= 1)
- {
- ended[playerid] = false;
- ApplyAnimation( playerid, "VENDING", "VEND_EAT1_P", 4.1, 0, 1, 1, 1, 1 );
- SetTimerEx("Applytimer", 1000, true, "d", playerid);
- PlayerInfo[playerid][pheals]--;
- }
- if (PlayerInfo[playerid][pheals] < 1)
- {
- PlayerPlaySound(playerid, SOUND_ERROR, 0.0, 0.0, 0.0);
- GameTextForPlayer(playerid, "~r~no medkits!", 1000, 1);
- }
- return 1;
- }
- COMMAND:usefood(playerid, params[])
- {
- if (PlayerInfo[playerid][pfood] >= 1)
- {
- ended[playerid] = false;
- GameTextForPlayer(playerid, "~g~+50 ~r~hp", 1000, 1);
- ApplyAnimation( playerid, "VENDING", "VEND_EAT1_P", 4.1, 0, 1, 1, 1, 1 );
- SetTimerEx("ApplyFoodtimer", 1000, true, "d", playerid);
- PlayerInfo[playerid][pfood]--;
- }
- if (PlayerInfo[playerid][pfood] < 1)
- {
- PlayerPlaySound(playerid, SOUND_ERROR, 0.0, 0.0, 0.0);
- GameTextForPlayer(playerid, "~r~no food!", 1000, 1);
- }
- return 1;
- }
- COMMAND:pay(playerid, params[])
- {
- new
- toplayerid,
- amount;
- if (!sscanf(params, "ii", toplayerid, amount))
- {
- if (toplayerid != INVALID_PLAYER_ID)
- {
- new
- message[40];
- if(eGetPlayerMoney(playerid) < amount) return SendClientMessage(playerid, COLOR_RED, "У вас не столько денег!");
- {
- eGivePlayerMoney(toplayerid, amount);
- eGivePlayerMoney(playerid, -amount);
- format(message, sizeof(message), "Вы получили %d$!", amount);
- SendClientMessage(toplayerid, 0x00FF00FF, message);
- }
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Игрок не найден!");
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /pay <id игрока> <сумма>");
- return 1;
- }
- COMMAND:vehicle(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- carid;
- if (!sscanf(params, "i", carid))
- {
- new
- message[40];
- format(message, sizeof(message), "Машина с id %d созданна!", carid);
- SendClientMessage(playerid, 0x00FF00FF, message);
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- CreateVehicle(carid, x, y, z, 82.2873, PlayerInfo[playerid][pcolor1], PlayerInfo[playerid][pcolor2], 60);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /vehicle <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:makepayday(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREEN, "Вы вызвали Payday!");
- payday();
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:spectate(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- specid;
- if (!sscanf(params, "i", specid))
- {
- new
- message[40];
- format(message, sizeof(message), "Вы сейчас следите за игроком: %d", specid);
- SendClientMessage(playerid, 0x00FF00FF, message);
- TogglePlayerSpectating(playerid, 1);
- PlayerSpectatePlayer(playerid, specid);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /spectate <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:spectateoff(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- TogglePlayerSpectating(playerid, 0);
- GameTextForPlayer(playerid, "~w~SPECTATE ~r~OFF", 2000, 3);
- }
- return 1;
- }
- COMMAND:giveadmin(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- playertoadmin;
- if (!sscanf(params, "i", playertoadmin))
- {
- new
- message[80];
- PlayerInfo[playerid][pAdmin]++;
- format(message, sizeof(message), "Вам выдали админку уровня: %d", PlayerInfo[playerid][pAdmin]);
- SendClientMessage(playertoadmin, COLOR_GREEN, message);
- PlayerPlaySound(playertoadmin, SOUND_MESSAGE, 0.0, 0.0, 0.0);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /giveadmin <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- /*
- COMMAND:motd(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- motd[80];
- if (!sscanf(params, "s", motd))
- {
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /setmotd <сообщение>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- */
- COMMAND:downgradeadmin(playerid, params[])
- {
- if (IsPlayerAdmin(playerid))
- {
- new
- playertoadmin;
- if (!sscanf(params, "i", playertoadmin))
- {
- new
- message[80];
- format(message, sizeof(message), "Вы выдали понизили уровень админки игроку с id: %d уровень админики: %d", playertoadmin, PlayerInfo[playerid][pAdmin]);
- SendClientMessage(playerid, COLOR_BLUE, message);
- PlayerInfo[playerid][pAdmin]--;
- format(message, sizeof(message), "Вам понизили админку теперь ваш уровень: %d", PlayerInfo[playerid][pAdmin]);
- SendClientMessage(playertoadmin, COLOR_RED, message);
- PlayerPlaySound(playertoadmin, SOUND_ERROR, 0.0, 0.0, 0.0);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /downgradeadmin <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:getmaterials(playerid, params[])
- {
- new needmaterials;
- if (!sscanf(params, "i", needmaterials))
- {
- if (PlayerInfo[playerid][pfaction] == 10 || PlayerInfo[playerid][pfaction] == 9 || PlayerInfo[playerid][pfaction] == 8)
- {
- if (PlayerInfo[playerid][prank] >= 2 && PlayerInfo[playerid][pfaction] == 10)
- {
- if (Materials1 >= needmaterials)
- {
- Materials1 -= needmaterials;
- PlayerInfo[playerid][pmaterials] += needmaterials;
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new message[40];
- format(message, sizeof(message), "%s %d ранга: Взял материалы в размере %d штук", name, PlayerInfo[playerid][prank], needmaterials);
- SendTeamMessage(COLOR_YELLOW, message, 10);
- }
- }
- if (PlayerInfo[playerid][prank] >= 2 && PlayerInfo[playerid][pfaction] == 9)
- {
- if (Materials2 >= needmaterials)
- {
- Materials1 -= needmaterials;
- PlayerInfo[playerid][pmaterials] += needmaterials;
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new message[40];
- format(message, sizeof(message), "%s %d ранга: Взял материалы в размере %d штук", name, PlayerInfo[playerid][prank], needmaterials);
- SendTeamMessage(COLOR_YELLOW, message, 9);
- }
- }
- if (PlayerInfo[playerid][prank] >= 2 && PlayerInfo[playerid][pfaction] == 8)
- {
- if (Materials3 >= needmaterials)
- {
- Materials3 -= needmaterials;
- PlayerInfo[playerid][pmaterials] += needmaterials;
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new message[40];
- format(message, sizeof(message), "%s %d ранга: Взял материалы в размере %d штук", name, PlayerInfo[playerid][prank], needmaterials);
- SendTeamMessage(COLOR_YELLOW, message, 8);
- }
- }
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /getmaterials <количество>");
- }
- return 1;
- }
- COMMAND:rankup(playerid, params[])
- {
- if (PlayerInfo[playerid][prank] == 8)
- {
- new
- playertorank;
- if (!sscanf(params, "i", playertorank))
- {
- new
- message[40];
- PlayerInfo[playerid][prank]++;
- format(message, sizeof(message), "Вас повысили до %d ранга", PlayerInfo[playerid][prank]);
- SendClientMessage(playertorank, COLOR_GREEN, message);
- PlayerPlaySound(playertorank, SOUND_MESSAGE, 0.0, 0.0, 0.0);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /rankup <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:rankdown(playerid, params[])
- {
- if (PlayerInfo[playerid][prank] == 8)
- {
- new
- playertorank;
- if (!sscanf(params, "i", playertorank))
- {
- new
- message[40];
- PlayerInfo[playerid][prank]--;
- format(message, sizeof(message), "Вас повысили до %d ранга", PlayerInfo[playerid][prank]);
- SendClientMessage(playertorank, COLOR_GREEN, message);
- PlayerPlaySound(playertorank, SOUND_ERROR, 0.0, 0.0, 0.0);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /rankup <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:invite(playerid, params[])
- {
- if (PlayerInfo[playerid][prank] == 10)
- {
- new
- playertoinvite;
- if (!sscanf(params, "i", playertoinvite))
- {
- SendClientMessage(playertoinvite, COLOR_GREEN, "Вас приняли в фракцию");
- PlayerPlaySound(playertoinvite, SOUND_ERROR, 0.0, 0.0, 0.0);
- PlayerInfo[playertoinvite][pfaction] = PlayerInfo[playerid][pfaction];
- PlayerInfo[playertoinvite][pfaction] = 1;
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /invite <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:expel(playerid, params[])
- {
- if (PlayerInfo[playerid][prank] == 10)
- {
- new
- playertoinvite;
- if (!sscanf(params, "i", playertoinvite))
- {
- SendClientMessage(playertoinvite, COLOR_GREEN, "Вас выгнали из фракции!");
- PlayerPlaySound(playertoinvite, SOUND_ERROR, 0.0, 0.0, 0.0);
- PlayerInfo[playertoinvite][pfaction] = 0;
- SetPlayerHealth(playerid, 0.0);
- PlayerInfo[playertoinvite][prank] = 0;
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /expel <id>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:g(playerid, params[])
- {
- if (PlayerInfo[playerid][plvl] >= 3)
- {
- new chatmessage[80];
- if (!sscanf(params, "s", chatmessage))
- {
- new message[100];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(message, sizeof(message), "[Общий] %s: %s",name, chatmessage);
- SendClientMessageToAll(COLOR_YELLOW, message);
- }
- else SendClientMessage(playerid, 0xFFFFFFFF, "Используйте: /g <сообщение>");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вам недоступна данная функция");
- return 1;
- }
- COMMAND:maskon(playerid, params[])
- {
- if(Mask[playerid] == 1)
- {
- SetPlayerColor(playerid, 0xFFFFFFFF);
- GameTextForPlayer(playerid, "~w~INVISIBLE ~r~ON ~w~To turn off type /maskoff", 5000, 4);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "У вас нет маски купите в 24/7");
- return 1;
- }
- COMMAND:maskoff(playerid, params[])
- {
- if(Mask[playerid] = 0)
- {
- SetPlayerColor(playerid, 0xFFFFFF00);
- GameTextForPlayer(playerid, "~w~INVISIBLE ~r~OFF ~w~To turn on type /maskon", 5000, 4);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "У вас нет маски купите в 24/7");
- return 1;
- }
- // ------- ДЛЯ АДМИНА ---------
- COMMAND:acreatehome(playerid, params[])
- {
- // Проверка на администратора, пример: if(PlayerInfo[playerid][pAdmin]==0)return SendClientMessage(playerid,-1,"У вас не хватает доступа к данной команде!");
- ShowPlayerDialog(playerid,D_H_CREATE_DESC,DIALOG_STYLE_INPUT,"Создание дома - описание","Введите описание для дома.","Далее","Закрыть"); // Создаем диалог
- return 1;
- }
- COMMAND:ahlock(playerid, params[])
- {
- // Проверка на администратора
- for(new h=1;h<=m_h;h++) // запускаем цикл
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[h][hY],House[h][hZ]))continue; // узнаем, стоит ли игрок рядом с одним из домов или нет (если нет, пропускаем оператором continue)
- if(House[h][hLock]==1)House[h][hLock]=0,GameTextForPlayer(playerid,"~g~House unlocked",100,1); // если замок дома закрыт - открываем
- else House[h][hLock]=1,GameTextForPlayer(playerid,"~r~House locked",100,1); // если открыт - закрываем
- SaveHouse(h); // сохраняем дом
- return 1;
- }
- return 1;
- }
- COMMAND:buyhouse(playerid, params[])
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[h][hY],House[h][hZ]))continue;
- if(GetPlayerMoney(playerid)<House[h][hPrice])return SendClientMessage(playerid,-1,"У вас не хватает средств!"); // Проверяем наличие средств
- if(strcmp(House[h][hOwner],"None",true)!=0)return SendClientMessage(playerid,-1,"Дом уже куплен!"); // узнаем есть ли владелец или нет при помощи сравнения строки
- strmid(House[h][hOwner],Name(playerid),0,24,24),UpdateHouse(h); // если нет, записываем нового владельца, обновляем 3д ин-цию и меняем пикап дома
- SaveHouse(h);
- eGivePlayerMoney(playerid,-House[h][hPrice]); // снимаем деньги
- SendClientMessage(playerid,COLOR_GREEN,"Вы успешно купили дом!");
- PlayerInfo[playerid][phomeX] = House[h][hX];
- PlayerInfo[playerid][phomeY] = House[h][hY];
- PlayerInfo[playerid][phomeY] = House[h][hZ];
- return 1;
- }
- SendClientMessage(playerid,COLOR_GREY,"Рядом с вами нет дома!");
- return 1;
- }
- COMMAND:sellhouse(playerid, params[])
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[h][hY],House[h][hZ]))continue;
- if(!strcmp(House[h][hOwner],Name(playerid),true)) // если игрок владелец этого дома, тогда...
- {
- strmid(House[h][hOwner],"None",0,5,5),UpdateHouse(h);
- SaveHouse(h);
- GivePlayerMoney(playerid,House[h][hPrice]/2); // отдаем игроку пол цены за дом
- SendClientMessage(playerid,-1,"Вы продали свой дом!");
- return 1;
- }
- }
- //SendClientMessage(playerid,-1,"Рядом с вами нет дома!");
- return 1;
- }
- COMMAND:enterhome(playerid, params[])
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[
- h][hY],House[h][hZ]))continue;
- if(strcmp(House[h][hOwner],Name(playerid),true)!=0 && House[h][hLock]==1)return SendClientMessage(playerid,-1,"Дом закрыт!"); // Если вы не владелец и дом закрыт- не пустит
- SetPlayerPos(playerid,HInts[House[h][hInterior]][hiX]
- ,HInts[House[h][hInterior]][hiY],HInts[House[
- h][hInterior]][hiZ]); // Тут, мы при помощи номера ячейки узнаем координаты внутри дома
- SetPlayerInterior(playerid,HInts[House[h][hInterior]][
- hiInt]); // + узнаем его ид (HInts[номер_ячейки][hiInt]
- SetPlayerVirtualWorld(playerid,House[h][hVirtWorld]); // Присваиваем игроку вирт. мир
- }
- return 1;
- }
- COMMAND:hexit(playerid, params[])
- {
- for(new h=1;h<=m_h;h++)
- {
- if(IsPlayerInRangeOfPoint(playerid,25.5,HInts[House[h][hInterior]
- ][hiX],HInts[House[h][hInterior]][hiY]
- ,HInts[House[h][hInterior]][hiZ]) && GetPlayerVirtualWorld(playerid)==House[h][hVirtWorld])
- {
- SetPlayerPos(playerid,House[h][hX],House[h][hY],House[
- h][hZ]);
- SetPlayerVirtualWorld(playerid,0),SetPlayerInterior(playerid,0);
- }
- }
- return 1;
- }
- COMMAND:hlock(playerid, params[])
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[
- h][hY],House[h][hZ]))continue;
- if(strcmp(House[h][hOwner],Name(playerid),true)!=0)return SendClientMessage(playerid,-1,"У вас нет ключей от этого дома!"); // Сравниваем владельца дома с ником игрока, если не совпадает - выводим сообщение
- if(House[h][hLock]==0)House[h][hLock]=1,SaveHouse(h),
- GameTextForPlayer(playerid,"~r~House locked",100,1); // если дом открыт - закрываем (0 открыт / 1 закрыт)
- else if(House[h][hLock]==1)return SendClientMessage(playerid,-1,"Дом уже закрыт!"); // иначе выводим сообщение
- return 1;
- }
- return 1;
- }
- COMMAND:hopen(playerid, params[])
- {
- for(new h=1;h<=m_h;h++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,1.5,House[h][hX],House[
- h][hY],House[h][hZ]))continue;
- if(strcmp(House[h][hOwner],Name(playerid),true)!=0)return SendClientMessage(playerid,-1,"У вас нет ключей от этого дома!");
- if(House[h][hLock]==1)House[h][hLock]=0,SaveHouse(h),
- GameTextForPlayer(playerid,"~g~House unlocked",100,1);
- else if(House[h][hLock]==0)return SendClientMessage(playerid,-1,"Дом уже открыт!");
- return 1;
- }
- return 1;
- }
- COMMAND:buy(playerid, params[])
- {
- new PlayerinteriorID = GetPlayerInterior(playerid);
- if (PlayerinteriorID == 17 || PlayerinteriorID == 10 || PlayerinteriorID == 18 || PlayerinteriorID == 16 || PlayerinteriorID == 4 || PlayerinteriorID == 6)
- {
- new Float:xposint, Float:yposint, Float:zposint;
- GetPlayerPos(playerid, xposint, yposint, zposint);
- if (IsPlayerInRangeOfPoint(playerid, 20.0, -25.884498,-185.868988,1003.546875) || IsPlayerInRangeOfPoint(playerid, 20.0, 6.091179,-29.271898,1003.549438) || IsPlayerInRangeOfPoint(playerid, 20.0, -25.132598,-139.066986,1003.546875) || IsPlayerInRangeOfPoint(playerid, 20.0, -27.312299,-29.277599,1003.557250) || IsPlayerInRangeOfPoint(playerid, 20.0, -26.691598,-55.714897,1003.546875))
- {
- ShowPlayerDialog(playerid, 121, DIALOG_STYLE_LIST, "Купить", "Лопата 100$\nТерминал 1000$\nЦветы 80$\nАптечка 320$\nЕда 35$\nФотоаппарт 300$\nМаска 190$", "Купить", "Закрыть");
- }
- }
- if (PlayerinteriorID == 1 || PlayerinteriorID == 4 || PlayerinteriorID == 6 || PlayerinteriorID == 7 || PlayerinteriorID == 6)
- {
- new Float:xposint, Float:yposint, Float:zposint;
- GetPlayerPos(playerid, xposint, yposint, zposint);
- if (IsPlayerInRangeOfPoint(playerid, 20.0, 286.148986,-40.644397,1001.515625) || IsPlayerInRangeOfPoint(playerid, 20.0, 286.800994,-82.547599,1001.515625) || IsPlayerInRangeOfPoint(playerid, 20.0, 296.919982,-108.071998,1001.515625) || IsPlayerInRangeOfPoint(playerid, 20.0, 314.820983,-141.431991,999.601562) || IsPlayerInRangeOfPoint(playerid, 20.0, 316.524993,-167.706985,999.593750))
- {
- ShowPlayerDialog(playerid, 104, DIALOG_STYLE_LIST, "Купить", "UZI 1850$\nSMG 2000$\nDeagle 2000$\nAK-47 3700$\nM4 4600$\nSniper 5000$\nCombat-shotgun 5000$\nБроня 1800$", "Купить", "Закрыть");
- }
- }
- if (PlayerinteriorID == 15 || PlayerinteriorID == 14 || PlayerinteriorID == 3 || PlayerinteriorID == 1 || PlayerinteriorID == 5 || PlayerinteriorID == 18)
- {
- new Float:xposint, Float:yposint, Float:zposint;
- GetPlayerPos(playerid, xposint, yposint, zposint);
- if (IsPlayerInRangeOfPoint(playerid, 20.0, 207.737991,-109.019996,1005.132812) || IsPlayerInRangeOfPoint(playerid, 20.0, 204.332992,-166.694992,1000.523437) || IsPlayerInRangeOfPoint(playerid, 20.0, 207.054992,-138.804992,1003.507812) || IsPlayerInRangeOfPoint(playerid, 20.0, 203.777999,-48.492397,1001.804687) || IsPlayerInRangeOfPoint(playerid, 20.0, 226.293991,-7.431529,1002.210937) || IsPlayerInRangeOfPoint(playerid, 20.0, 161.391006,-93.159156,1001.804687))
- {
- CallRemoteFunction("selectskin", "i", playerid);
- CallRemoteFunction("SelectSkinDialog", "i", playerid);
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Вы не в интерьере!");
- return 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement