1. Ко всем Forward добавляем
Code
forward SetPlayerSkills(playerid);
2. Ко всем define добавляем
Code
#define REGISTER_DIALOG14 1345
3.В pInfo
Code
pDesert,
pSmg,
pAk,
pM4,
pShot,
4. Создаем паблик
Code
public SetPlayerSkills(playerid)
{
SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, PlayerInfo[playerid][pDesert]);
SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, PlayerInfo[playerid][pSmg]);
SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, PlayerInfo[playerid][pAk]);
SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, PlayerInfo[playerid][pM4]);
SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, PlayerInfo[playerid][pShot]);
return 1;
}
5. В public OnPlayerConnect(playerid)
Code
PlayerInfo[playerid][pDesert] = 0;
PlayerInfo[playerid][pSmg] = 0;
PlayerInfo[playerid][pAk] = 0;
PlayerInfo[playerid][pM4] = 0;
PlayerInfo[playerid][pShot] = 0;
6. В public OnPlayerDeath(playerid, killerid, reason)
Code
//----------------------------------[ навыки ] -----------------------------------------------------------------------
if(reason == 24)
{
PlayerInfo[killerid][pDesert] += 2; SetPlayerSkills(killerid);
}
if(reason == 29)
{ PlayerInfo[killerid][pSmg] += 2; SetPlayerSkills(killerid); }
if(reason == 30) { PlayerInfo[killerid][pAk] += 2; SetPlayerSkills(killerid); }
if(reason == 31) { PlayerInfo[killerid][pM4] += 2; SetPlayerSkills(killerid); }
if(reason == 25) { PlayerInfo[killerid][pShot] += 2; SetPlayerSkills(killerid); }
//-------------------------------------------------------------------------------------------------------------------------------------------- -
7. В public OnPlayerRegister(playerid, password[]):
Code
ini_setInteger(File,"Desertl",PlayerInfo[playerid][pDesert]);
ini_setInteger(File,"SMG",PlayerInfo[playerid][pSmg]);
ini_setInteger(File,"AK47",PlayerInfo[playerid][pAk]);
ini_setInteger(File,"M4",PlayerInfo[playerid][pM4]);
ini_setInteger(File,"pShot",PlayerInfo[playerid][pShot]);
8. В public OnPlayerUpdateRL(playerid)
Code
ini_setInteger(File,"Desert",PlayerInfo[playerid][pDesert]);
ini_setInteger(File,"Smg",PlayerInfo[playerid][pSmg]);
ini_setInteger(File,"Ak47",PlayerInfo[playerid][pAk]);
ini_setInteger(File,"M4",PlayerInfo[playerid][pM4]);
ini_setInteger(File,"pShot",PlayerInfo[playerid][pShot]);
9. В public OnPlayerLogin(playerid,password[]):
Code
ini_getInteger(File,"Desert",PlayerInfo[playerid][pDesert]);
ini_getInteger(File,"Smg",PlayerInfo[playerid][pSmg]);
ini_getInteger(File,"Ak47",PlayerInfo[playerid][pAk]);
ini_getInteger(File,"M4",PlayerInfo[playerid][pM4]);
ini_getInteger(File,"pShot",PlayerInfo[playerid][pShot]);
10. И итог,добавляем в CommandText саму команду просмотра skill'ов
Code
if(strcmp(cmd, "/myskill", true) == 0)
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Âû íå âîøëè!");
new dtext[200], smtext[200],aatext[200], sktext[200];
new sstext[200];
// Deagle
if(PlayerInfo[playerid][pDesert] >= 0 && PlayerInfo[playerid][pDesert] <= 5) dtext = "........................................................................................0\%";
else if(PlayerInfo[playerid][pDesert] >= 5 && PlayerInfo[playerid][pDesert] <= 10) dtext = "//////..................................................................................5\%";
else if(PlayerInfo[playerid][pDesert] >= 10 && PlayerInfo[playerid][pDesert] <= 20) dtext = "////////////////////////........................................................10\%";
else if(PlayerInfo[playerid][pDesert] >= 20 && PlayerInfo[playerid][pDesert] <= 100) dtext = "////////////////////////////////////////////////////........................50\%";
else if(PlayerInfo[playerid][pDesert] >= 100 && PlayerInfo[playerid][pDesert] <= 200) dtext = "////////////////////////////////////////////////////////////////......70\%";
else if(PlayerInfo[playerid][pDesert] >= 200) dtext = "////////////////////////////////////////////////////////////////////////////////////////100\%";
// MP5
if(PlayerInfo[playerid][pSmg] >= 0 && PlayerInfo[playerid][pSmg] <= 5) smtext = "........................................................................................0\%";
else if(PlayerInfo[playerid][pSmg] >= 5 && PlayerInfo[playerid][pSmg] <= 20) smtext = "////////////////////////................10\%";
else if(PlayerInfo[playerid][pSmg] >= 20 && PlayerInfo[playerid][pSmg] <= 100) smtext = "////////////////////////////////////////////////////.........50\%é";
else if(PlayerInfo[playerid][pSmg] >= 100 && PlayerInfo[playerid][pSmg] <= 200) smtext = "////////////////////////////////////////////////////////////////......70\%";
else if(PlayerInfo[playerid][pSmg] >= 200) smtext = "////////////////////////////////////////////////////////////////////////////////////////100\%";
// AK-47
if(PlayerInfo[playerid][pAk] >= 0 && PlayerInfo[playerid][pAk] <= 5) sktext = "........................................................................................0\%";
else if(PlayerInfo[playerid][pAk] >= 5 && PlayerInfo[playerid][pAk] <= 20) sktext = "////////////////////////................10\%";
else if(PlayerInfo[playerid][pAk] >= 20 && PlayerInfo[playerid][pAk] <= 100) sktext = "////////////////////////////////////////////////////.........50\%";
else if(PlayerInfo[playerid][pAk] >= 100 && PlayerInfo[playerid][pAk] <= 200) sktext = "////////////////////////////////////////////////////////////////......70\%";
else if(PlayerInfo[playerid][pAk] >= 200) sktext = "////////////////////////////////////////////////////////////////////////////////////////100\%";
// M4
if(PlayerInfo[playerid][pM4] >= 0 && PlayerInfo[playerid][pM4] <= 5) sstext = "........................................................................................0\%";
else if(PlayerInfo[playerid][pM4] >= 5 && PlayerInfo[playerid][pM4] <= 20) sstext = "////////////////////////................10\%";
else if(PlayerInfo[playerid][pM4] >= 20 && PlayerInfo[playerid][pM4] <= 100) sstext = "////////////////////////////////////////////////////.........50\%é";
else if(PlayerInfo[playerid][pM4] >= 100 && PlayerInfo[playerid][pM4] <= 200) sstext = "////////////////////////////////////////////////////////////////......70\%";
else if(PlayerInfo[playerid][pM4] >= 200) sstext = "///////////////////////////////////////////////////////////////////////////////////////100\%";
//shot
if(PlayerInfo[playerid][pShot] >= 0 && PlayerInfo[playerid][pShot] <= 5) aatext = "........................................................................................0\%";
else if(PlayerInfo[playerid][pShot] >= 5 && PlayerInfo[playerid][pShot] <= 20) aatext = "////////////////////////................10\%";
else if(PlayerInfo[playerid][pShot] >= 20 && PlayerInfo[playerid][pShot] <= 100) aatext = "////////////////////////////////////////////////////.........50\%é";
else if(PlayerInfo[playerid][pShot] >= 100 && PlayerInfo[playerid][pShot] <= 200) aatext = "////////////////////////////////////////////////////////////////......70\%";
else if(PlayerInfo[playerid][pShot] >= 200) sstext = "///////////////////////////////////////////////////////////////////////////////////////100\%";
format(string, sizeof(string), "\nDeagle: %s\nMP5: %s\nM4: %s\nAK-47: %s\nShotGun: %s", dtext, smtext, sktext, sstext,aatext);
ShowPlayerDialog(playerid, REGISTER_DIALOG14, DIALOG_STYLE_MSGBOX, "<< скилы >>", string, "ок", "отмена");
}
Быстрой прокачки скиллов вам.