admin Дата: Воскресенье, 28.08.2011, 04:53:40 | Сообщение # 1
Группа: Администраторы
Сообщений: 3869
команды: /rank - ранг /ranklist - ранг лист в диолог окне /bonuses - бонус генерал армии /weaponbonus - оружия /rankvehicles - ранг машин /switchclass - сменить класс /classhelp - помощь по классам ранга /rankhelp - помощь по командам Начнем уроку! верху мода: Code
#include < zcmd > //если у вас есть в моде этот уже инклуд прописан тогда можно 2 раз не добавлять forward GetPlayerRankInfo(playerid); forward Bonus(playerid); #define SNIPER_CLASS 1 #define AIRMAN_CLASS 2 #define FLAMETHROWER_CLASS 3 #define ASSAULT_CLASS 4 #define ENGINEER_CLASS 5 #define COLOR_WHITE 0xFFFFFFFF #define COL_GREEN "{6EF83C}" #define COL_WHITE "{FFFFFF}" #define COLOR_RED 0xAA3333AA #define COLOR_GREEN 0x33AA33AA new gPlayerClass[MAX_PLAYERS]; new PickedClass[MAX_PLAYERS] = 0;
После этого ищем public OnPlayerRequestClass и туда добавляем: Code
gPlayerClass[playerid] = ASSAULT_CLASS;
Примерно так должен выглядеть public: Code
public OnPlayerRequestClass(playerid, classid) { gPlayerClass[playerid] = ASSAULT_CLASS; return 1; }
После этого добавляем сами команды в dcmd в любое место: Code
CMD:switchclass(playerid, params[]) { TogglePlayerControllable(playerid, 0); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Классы", "Assault\nSniper\nPilot\nEngineer\nPyroman", "Выбрать", "Отмена"); SetPlayerVirtualWorld(playerid, 0); return 1; } CMD:rankvehicles(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Hydra:"#COL_WHITE#"Подполковник [1150 Оценка]."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Hunter:"#COL_WHITE#"Подполковник [1150 Оценка]."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Seasparrow:"#COL_WHITE#"Капитан[400 Оценка]."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Tank:"#COL_WHITE#"Сержант [250 Оценка]."); return 1; } CMD:classhelp(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Assault: "#COL_WHITE#" Оружия: Desert Eagle + m4 + Tear Gas. "#COL_GREEN#"Rank: Оценка: 0"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"AirMan "#COL_WHITE#"Оружия: 9mm, MP5, Grenades. [PILOT PLANES], "#COL_GREEN#"Rank:Подполковник оценка: 1150"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"FlareThrower "#COL_WHITE#" Оружия: FireThrower, Desert Eagle, Ak_47 "#COL_GREEN#"Rank: Капитан оценка 400"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Engineer "#COL_WHITE#"Оружия: 9mm, Tec9, Rocket Launcher "#COL_GREEN#"Rank: Сержант оценка: 250"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Sniper "#COL_WHITE#"Оружия: Sniper + Silenced 9mm, mp5. "#COL_GREEN#"Rank: Частные оценка: 10"); return 1; } CMD:rankhelp(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/rank: "#COL_WHITE#"Ваш ранг."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/ranklist:"#COL_WHITE#"Посмотреть ранг лист"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/bonuses: "#COL_WHITE#"Ранг бонусов."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/weaponbonus: "#COL_WHITE#"Ранг бонусы оружия."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/rankvehicles "#COL_WHITE#" Ранг автомобилей."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/switchclass "#COL_WHITE#" РАнг классов."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/classhelp "#COL_WHITE#" Помощь по классам"); return 1; } CMD:rank(playerid, params[]) { GetPlayerRankInfo(playerid); return 1; } CMD:bonuses(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, "Генерал армии: [Броня: 100][Жизни: 100][Деньги: 3.000.000][Оружия: /weaponbonus]."); return 1; } CMD:ranklist(playerid, params[]) { ShowPlayerDialog(playerid,1300,DIALOG_STYLE_MSGBOX,"{00FF00}Ранг лист","{FFFFFF}Новичок: 0 очков\nЧастный: 10 очков\nтелесный: 100 очков\nсержант: 250 очков\nКапитан: 400 очков\nОсновной: 650 очков\nполковник: 920 очков\nподполковник: 1150 очков\nгенерал-летенант: 1500 очков\nГенерал-майор: 2000 очков\nгенерал: 2700 очков\nГенерал армии: 3000 очков","Ок","ОК"); return 1; } CMD:weaponbonus(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, "Генерал армии: [Оружия: Desert Eagle: 550 , Sawn Off: 100, M4: 500, Sniper: 50, Rocket Lancher: 5]"); return 1; }
Потом добавляем два publica в любое место: Code
public Bonus(playerid) { if(GetPlayerScore(playerid) >= 3000) { SendClientMessage(playerid, COLOR_RED, "Хорошая работа, сэр, Вы генерал армии Теперь Вы получили некоторые бонусы [/bonuses] чтобы увидеть ранг бонус"); GivePlayerWeapon(playerid, 35, 5);//гранатомет GivePlayerWeapon(playerid, 34, 50);//Снапер] GivePlayerWeapon(playerid, 31, 500);//m4 GivePlayerWeapon(playerid, 26, 100);//sawn GivePlayerWeapon(playerid, 24, 550);//desert eagle SetPlayerArmour(playerid, 100);//броня SetPlayerHealth(playerid, 100);//жизни GivePlayerMoney(playerid, 3000000);//Деньги return 1; } return 1; } public GetPlayerRankInfo(playerid) { new Pname[50]; GetPlayerName(playerid, Pname, 50); new string[250]; if(GetPlayerScore(playerid) <= 0) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" стажер"); format(string, sizeof(string),"ИМя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 10) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" частный"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 100) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" телесный"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 250) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" сержант"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 400) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" капитан"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 650) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" основной"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 920) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" полковник"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 1150) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"подполковник"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 1500) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"генерал-лейтенант"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 2000) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"Генерал-майор"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 2700) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"общий"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 3000) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"Генерал армии"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } return 1; }
После этого ищем public OnPlayerStateChange и туда добавляем: Code
new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 425 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум звание подполковника ранг, чтобы ездить на Hunter! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 520 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум ранга 6, чтобы ездить на Hydra! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 432 && GetPlayerScore(playerid) < 250) { SendClientMessage(playerid, COLOR_RED, "Вы должны быть по крайней мере, сержант ранг чтобы ехать на танке! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 447 && GetPlayerScore(playerid) < 400 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум капитан звание чтобы ездить на море! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); }
Примерно так должен выглядеть public: Code
public OnPlayerStateChange(playerid, newstate, oldstate) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 425 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум звание подполковника ранг, чтобы ездить на Hunter! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 520 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум ранга 6, чтобы ездить на Hydra! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 432 && GetPlayerScore(playerid) < 250) { SendClientMessage(playerid, COLOR_RED, "Вы должны быть по крайней мере, сержант ранг чтобы ехать на танке! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 447 && GetPlayerScore(playerid) < 400 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум капитан звание чтобы ездить на море! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } }
ПОсле этого ищем public OnDialogResponse и туда добавим: Code
if(dialogid == 1) { if(response) { if(GetPlayerScore(playerid) <= 0) { SetPlayerSkin(playerid, 287); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали нападение как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс."); gPlayerClass[playerid] = ASSAULT_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 17, 5); } } if(listitem == 1) { if(GetPlayerScore(playerid) <= 10) { SetPlayerSkin(playerid, 122); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали Снайпер, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс снова."); gPlayerClass[playerid] = SNIPER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 23, 500); GivePlayerWeapon(playerid, 34, 100); GivePlayerWeapon(playerid, 29, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере Частные класса [/rank чтобы увидеть ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 2) { if(GetPlayerScore(playerid) <= 1150) { SetPlayerSkin(playerid, 61); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали пилот, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = AIRMAN_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 16, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере подполковник класса [/rank чтобы посмотреть свой ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 3) { if(GetPlayerScore(playerid) <= 250) { SetPlayerSkin(playerid, 285); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали в качестве инженера вашего класса."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = ENGINEER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 100); GivePlayerWeapon(playerid, 32, 500); GivePlayerWeapon(playerid, 35, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере сержант класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 4) { if(GetPlayerScore(playerid) <= 400) { SetPlayerSkin(playerid, 144); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали капитан, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = FLAMETHROWER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 30, 200); GivePlayerWeapon(playerid, 37, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть зарегистрировано не менее капитан класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } return 1; }
Примерно так должен быть public: Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response) { if(GetPlayerScore(playerid) <= 0) { SetPlayerSkin(playerid, 287); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали нападение как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс."); gPlayerClass[playerid] = ASSAULT_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 17, 5); } } if(listitem == 1) { if(GetPlayerScore(playerid) <= 10) { SetPlayerSkin(playerid, 122); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали Снайпер, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс снова."); gPlayerClass[playerid] = SNIPER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 23, 500); GivePlayerWeapon(playerid, 34, 100); GivePlayerWeapon(playerid, 29, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере Частные класса [/rank чтобы увидеть ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 2) { if(GetPlayerScore(playerid) <= 1150) { SetPlayerSkin(playerid, 61); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали пилот, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = AIRMAN_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 16, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере подполковник класса [/rank чтобы посмотреть свой ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 3) { if(GetPlayerScore(playerid) <= 250) { SetPlayerSkin(playerid, 285); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали в качестве инженера вашего класса."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = ENGINEER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 100); GivePlayerWeapon(playerid, 32, 500); GivePlayerWeapon(playerid, 35, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере сержант класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 4) { if(GetPlayerScore(playerid) <= 400) { SetPlayerSkin(playerid, 144); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали капитан, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = FLAMETHROWER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 30, 200); GivePlayerWeapon(playerid, 37, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть зарегистрировано не менее капитан класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } return 1; } return 1; }
урок by - 26_RUSSS
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение команды: /rank - ранг /ranklist - ранг лист в диолог окне /bonuses - бонус генерал армии /weaponbonus - оружия /rankvehicles - ранг машин /switchclass - сменить класс /classhelp - помощь по классам ранга /rankhelp - помощь по командам Начнем уроку! верху мода: Code
#include < zcmd > //если у вас есть в моде этот уже инклуд прописан тогда можно 2 раз не добавлять forward GetPlayerRankInfo(playerid); forward Bonus(playerid); #define SNIPER_CLASS 1 #define AIRMAN_CLASS 2 #define FLAMETHROWER_CLASS 3 #define ASSAULT_CLASS 4 #define ENGINEER_CLASS 5 #define COLOR_WHITE 0xFFFFFFFF #define COL_GREEN "{6EF83C}" #define COL_WHITE "{FFFFFF}" #define COLOR_RED 0xAA3333AA #define COLOR_GREEN 0x33AA33AA new gPlayerClass[MAX_PLAYERS]; new PickedClass[MAX_PLAYERS] = 0;
После этого ищем public OnPlayerRequestClass и туда добавляем: Code
gPlayerClass[playerid] = ASSAULT_CLASS;
Примерно так должен выглядеть public: Code
public OnPlayerRequestClass(playerid, classid) { gPlayerClass[playerid] = ASSAULT_CLASS; return 1; }
После этого добавляем сами команды в dcmd в любое место: Code
CMD:switchclass(playerid, params[]) { TogglePlayerControllable(playerid, 0); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Классы", "Assault\nSniper\nPilot\nEngineer\nPyroman", "Выбрать", "Отмена"); SetPlayerVirtualWorld(playerid, 0); return 1; } CMD:rankvehicles(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Hydra:"#COL_WHITE#"Подполковник [1150 Оценка]."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Hunter:"#COL_WHITE#"Подполковник [1150 Оценка]."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Seasparrow:"#COL_WHITE#"Капитан[400 Оценка]."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Tank:"#COL_WHITE#"Сержант [250 Оценка]."); return 1; } CMD:classhelp(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Assault: "#COL_WHITE#" Оружия: Desert Eagle + m4 + Tear Gas. "#COL_GREEN#"Rank: Оценка: 0"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"AirMan "#COL_WHITE#"Оружия: 9mm, MP5, Grenades. [PILOT PLANES], "#COL_GREEN#"Rank:Подполковник оценка: 1150"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"FlareThrower "#COL_WHITE#" Оружия: FireThrower, Desert Eagle, Ak_47 "#COL_GREEN#"Rank: Капитан оценка 400"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Engineer "#COL_WHITE#"Оружия: 9mm, Tec9, Rocket Launcher "#COL_GREEN#"Rank: Сержант оценка: 250"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Sniper "#COL_WHITE#"Оружия: Sniper + Silenced 9mm, mp5. "#COL_GREEN#"Rank: Частные оценка: 10"); return 1; } CMD:rankhelp(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/rank: "#COL_WHITE#"Ваш ранг."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/ranklist:"#COL_WHITE#"Посмотреть ранг лист"); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/bonuses: "#COL_WHITE#"Ранг бонусов."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/weaponbonus: "#COL_WHITE#"Ранг бонусы оружия."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/rankvehicles "#COL_WHITE#" Ранг автомобилей."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/switchclass "#COL_WHITE#" РАнг классов."); SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/classhelp "#COL_WHITE#" Помощь по классам"); return 1; } CMD:rank(playerid, params[]) { GetPlayerRankInfo(playerid); return 1; } CMD:bonuses(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, "Генерал армии: [Броня: 100][Жизни: 100][Деньги: 3.000.000][Оружия: /weaponbonus]."); return 1; } CMD:ranklist(playerid, params[]) { ShowPlayerDialog(playerid,1300,DIALOG_STYLE_MSGBOX,"{00FF00}Ранг лист","{FFFFFF}Новичок: 0 очков\nЧастный: 10 очков\nтелесный: 100 очков\nсержант: 250 очков\nКапитан: 400 очков\nОсновной: 650 очков\nполковник: 920 очков\nподполковник: 1150 очков\nгенерал-летенант: 1500 очков\nГенерал-майор: 2000 очков\nгенерал: 2700 очков\nГенерал армии: 3000 очков","Ок","ОК"); return 1; } CMD:weaponbonus(playerid, params[]) { SendClientMessage(playerid, COLOR_WHITE, "Генерал армии: [Оружия: Desert Eagle: 550 , Sawn Off: 100, M4: 500, Sniper: 50, Rocket Lancher: 5]"); return 1; }
Потом добавляем два publica в любое место: Code
public Bonus(playerid) { if(GetPlayerScore(playerid) >= 3000) { SendClientMessage(playerid, COLOR_RED, "Хорошая работа, сэр, Вы генерал армии Теперь Вы получили некоторые бонусы [/bonuses] чтобы увидеть ранг бонус"); GivePlayerWeapon(playerid, 35, 5);//гранатомет GivePlayerWeapon(playerid, 34, 50);//Снапер] GivePlayerWeapon(playerid, 31, 500);//m4 GivePlayerWeapon(playerid, 26, 100);//sawn GivePlayerWeapon(playerid, 24, 550);//desert eagle SetPlayerArmour(playerid, 100);//броня SetPlayerHealth(playerid, 100);//жизни GivePlayerMoney(playerid, 3000000);//Деньги return 1; } return 1; } public GetPlayerRankInfo(playerid) { new Pname[50]; GetPlayerName(playerid, Pname, 50); new string[250]; if(GetPlayerScore(playerid) <= 0) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" стажер"); format(string, sizeof(string),"ИМя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 10) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" частный"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 100) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" телесный"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 250) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" сержант"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 400) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" капитан"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 650) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" основной"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 920) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#" полковник"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 1150) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"подполковник"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 1500) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"генерал-лейтенант"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 2000) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"Генерал-майор"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 2700) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"общий"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } else if(GetPlayerScore(playerid) <= 3000) { SendClientMessage(playerid, COLOR_WHITE, "Ваш ранг "#COL_GREEN#"Генерал армии"); format(string, sizeof(string),"Имя:%s [Ваша оценка: "#COL_GREEN#"%d]",Pname, GetPlayerScore(playerid)); SendClientMessage(playerid, COLOR_WHITE, string); } return 1; }
После этого ищем public OnPlayerStateChange и туда добавляем: Code
new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 425 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум звание подполковника ранг, чтобы ездить на Hunter! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 520 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум ранга 6, чтобы ездить на Hydra! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 432 && GetPlayerScore(playerid) < 250) { SendClientMessage(playerid, COLOR_RED, "Вы должны быть по крайней мере, сержант ранг чтобы ехать на танке! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 447 && GetPlayerScore(playerid) < 400 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум капитан звание чтобы ездить на море! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); }
Примерно так должен выглядеть public: Code
public OnPlayerStateChange(playerid, newstate, oldstate) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 425 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум звание подполковника ранг, чтобы ездить на Hunter! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 520 && GetPlayerScore(playerid) < 1150 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум ранга 6, чтобы ездить на Hydra! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 432 && GetPlayerScore(playerid) < 250) { SendClientMessage(playerid, COLOR_RED, "Вы должны быть по крайней мере, сержант ранг чтобы ехать на танке! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } if(GetVehicleModel(vehicleid) == 447 && GetPlayerScore(playerid) < 400 && gPlayerClass[playerid] == AIRMAN_CLASS) { SendClientMessage(playerid, COLOR_RED, "Вам потребуется минимум капитан звание чтобы ездить на море! использование /rank чтобы увидеть ваш ранг"); RemovePlayerFromVehicle(playerid); } }
ПОсле этого ищем public OnDialogResponse и туда добавим: Code
if(dialogid == 1) { if(response) { if(GetPlayerScore(playerid) <= 0) { SetPlayerSkin(playerid, 287); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали нападение как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс."); gPlayerClass[playerid] = ASSAULT_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 17, 5); } } if(listitem == 1) { if(GetPlayerScore(playerid) <= 10) { SetPlayerSkin(playerid, 122); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали Снайпер, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс снова."); gPlayerClass[playerid] = SNIPER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 23, 500); GivePlayerWeapon(playerid, 34, 100); GivePlayerWeapon(playerid, 29, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере Частные класса [/rank чтобы увидеть ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 2) { if(GetPlayerScore(playerid) <= 1150) { SetPlayerSkin(playerid, 61); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали пилот, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = AIRMAN_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 16, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере подполковник класса [/rank чтобы посмотреть свой ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 3) { if(GetPlayerScore(playerid) <= 250) { SetPlayerSkin(playerid, 285); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали в качестве инженера вашего класса."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = ENGINEER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 100); GivePlayerWeapon(playerid, 32, 500); GivePlayerWeapon(playerid, 35, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере сержант класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 4) { if(GetPlayerScore(playerid) <= 400) { SetPlayerSkin(playerid, 144); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали капитан, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = FLAMETHROWER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 30, 200); GivePlayerWeapon(playerid, 37, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть зарегистрировано не менее капитан класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } return 1; }
Примерно так должен быть public: Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response) { if(GetPlayerScore(playerid) <= 0) { SetPlayerSkin(playerid, 287); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали нападение как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс."); gPlayerClass[playerid] = ASSAULT_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 17, 5); } } if(listitem == 1) { if(GetPlayerScore(playerid) <= 10) { SetPlayerSkin(playerid, 122); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали Снайпер, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс снова."); gPlayerClass[playerid] = SNIPER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 23, 500); GivePlayerWeapon(playerid, 34, 100); GivePlayerWeapon(playerid, 29, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере Частные класса [/rank чтобы увидеть ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 2) { if(GetPlayerScore(playerid) <= 1150) { SetPlayerSkin(playerid, 61); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали пилот, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = AIRMAN_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 16, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере подполковник класса [/rank чтобы посмотреть свой ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 3) { if(GetPlayerScore(playerid) <= 250) { SetPlayerSkin(playerid, 285); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали в качестве инженера вашего класса."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = ENGINEER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 22, 100); GivePlayerWeapon(playerid, 32, 500); GivePlayerWeapon(playerid, 35, 5); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть по крайней мере сержант класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } if(listitem == 4) { if(GetPlayerScore(playerid) <= 400) { SetPlayerSkin(playerid, 144); SendClientMessage(playerid, COLOR_WHITE, "Вы выбрали капитан, как ваш класс."); SendClientMessage(playerid, COLOR_WHITE, "Вы можете ввести /switchclass изменить свой класс еще раз."); gPlayerClass[playerid] = FLAMETHROWER_CLASS; PickedClass[playerid] = 1; SetPlayerVirtualWorld(playerid, 0); TogglePlayerControllable(playerid, 1); GivePlayerWeapon(playerid, 24, 200); GivePlayerWeapon(playerid, 30, 200); GivePlayerWeapon(playerid, 37, 200); } else { SendClientMessage(playerid, COLOR_WHITE, "Вы должны быть зарегистрировано не менее капитан класса [/rank чтобы посмотреть на ваш ранг]"); TogglePlayerControllable(playerid, 0); } } return 1; } return 1; }
урок by - 26_RUSSS Автор - admin Дата добавления - 28.08.2011 в 04:53:40