Skripta koju koristim: NL
Detaljan opis problema: Treba mi savet kako do stavim kada neki killdeid ubije nekog igraca da mu se poveca skill sa odredjenim oruzijem za 5,a kada izadje sa srw da mu ostane skill koji ima na primer izadje sa skillom 5 da mu se sacuva ili sa 1005 i da mu se sacuva
Dio skripte:/
Neke slike/video za lakse dobivanje pomoci(neobavezno):/
Koji sistem cuvanja koristis?
Evo linije od onplayerdisconect http://pastebin.com/XD1XWu3D
dodas npr
enum playerskill
{
sUzi,
sDeagle
}
new PlayerSkill[MAX_PLAYERS][playerskill];
public OnPlayerConnect(playerid)
{
PlayerSkill[playerid][sUzi] = 0, PlayerSkill[playerid][sDeagle] = 0; //postavljas mu varijable na 0
//provjeravas da li igrac vec ima skill file
if(fexist(playerskillfile(playerid))
{
INI_ParseFile(playerskillfile(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
}
else
{
new INI:File = INI_Open(playerskillfile(playerid));
INI_SetTag(File, "SkillInfo");
INI_WriteInt(File, "UziSkill", 0);
INI_WriteInt(File, "DeagleSkill", 0);
INI_Close(File);
}
return 1;
}
///Za loadovanje
forward loadskill_data(playerid, name[], value[]);
public loadskill_data(playerid, name[], value[])
{
INI_Int("UziSkill", PlayerSkill[playerid][sUzi]);
INI_Int("DeagleSkill", PlayerSkill[playerid][sDeagle]);
return 1;
}
/*sluzi za sracivanje koda :D*/
stock playerskillfile(playerid)
{
new string[MAX_PLAYER_NAME+10], plname[24];
GetPlayerName(playerid, plname, 24);
format(string, sizeof(string), "Skill-%s", plname);
return string;
}
/*Sada idemo da napravimo sta ce se desiti ako igrac nekoga ubije*/
public OnPlayerDeath(playerid, killerid, reason)
{
if(GetPlayerWeapon(killerid) == 28)
{
PlayerSkill[killerid][sUzi] += 5;
}
else if(GetPlayerWeapon(killerid) == 24)
{
PlayerSkill[killerid][sDeagle] += 5;
}
return 1;
}
/*cuvanje*/
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(playerskillfile(playerid));
INI_SetTag(File,"SkillInfo");
INI_WriteInt(File,"UziSkill", PlayerSkill[killerid][sUzi]);
INI_WriteInt(File,"Deagle", PlayerSkill[killerid][sDeagle]);
INI_Close(File);
return 1;
}
/*provjera skilla*/
YCMD:showskill(playeris, params[], help)
{
SendClientMessage(playerid, -1, "(*) Vas skill:);
new formmsg[128];
format(formmsg, 128, "Uzi skill: %d", PlayerSkill[killerid][sUzi]);
SendClientMessage(playerid, -1, formmsg);
format(formmsg, 128, "Deagle skill: %d", PlayerSkill[killerid][sDeagle]);
SendClientMessage(playerid, -1, formmsg);
return 1;
}
ako zelis pravi sys koristi i https://wiki.sa-mp.com/wiki/SetPlayerSkillLevel
@Z_!Proxy kad stavim ono pod onplayerdeath iskoci mi 26 error nesto g_novacMinus itd
ubacis samo ovo
if(GetPlayerWeapon(killerid) == 28)
{
PlayerSkill[killerid][sUzi] += 5;
}
else if(GetPlayerWeapon(killerid) == 24)
{
PlayerSkill[killerid][sDeagle] += 5;
}
@Z_!Proxy Ove mi errore pokazuje http://prntscr.com/9c1ryt
if(GetPlayerWeapon(killerid) == 28)
{
PlayerSkill[killerid][sUzi] += 5; a to je ova linija gdje pokazuje error
}
jesi dodao ovo na vrh skripte?
enum playerskill
{
sUzi,
sDeagle
}
new PlayerSkill[MAX_PLAYERS][playerskill];