Detaljan opis problema: Uspeo sam da napravim sistem davanja slotova igracima za helpere i lidere kako bih mogao da im preko tog sistema skidam lidere i helpere ako nisu na serveru.I sad uspeo sam to da uradim ali imam problem sa komandom...naime kada ukucam "/makeleaderslot ID igraca ID slota - /makeleader 0 1 " pocne da izbacuje 15 puta SCM iz komande za davanje...druga stvar je kada otvorim fajl u kome se cuvaju podaci pise sledece: Slot:0|Ime: Niko|..a za svaki sledeci slot moje ime iako sam samo hteo slot 1...ako moze pomoc bio bih zahvalan....
Dio skripte: Eo..
Komande za davanje slota i za brisanje slota!
if(strcmp(cmd, "/makeleaderslot", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "KORISCENJE: /makeleaderslot [playerid/Deo imena] [1 - 20]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 20 || level < 1) { SendClientMessage(playerid, COLOR_GREY, "Ne idite ispod 1 ili iznad 20!"); return 1; }
if (PlayerInfo >= 7)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(PlayerInfo > 0 || PlayerInfo < 255)
{
SendClientMessage(playerid, COLOR_GREY, "Taj igrac je vec clan neke organizacije!");
return 1;
}
new targetlevel = PlayerInfo;
new playerlevel = PlayerInfo;
if(targetlevel > playerlevel) return SendClientMessage(playerid, COLOR_WHITE, "Ne pokusavaj to nad jacim od tebe!");
if(PlayerInfo == 2) return SCM(playerid, COLOR_WHITE, "Taj igrac je Helper!");
if(PlayerInfo == 3) return SCM(playerid, COLOR_WHITE, "Taj igrac je Vodja Helpera!");
if(PlayerInfo > 0) return SCM(playerid, COLOR_WHITE, "Taj igrac je Lider!");
if(PlayerInfo > 0) return SCM(playerid, COLOR_WHITE, "Taj igrac vec ima slot za Lidera!");
if(level > 20 || level < 1) return SCM(playerid, COLOR_WHITE, "Ne moze manje od 1 ili vise od 20!");
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new le = 0; le < sizeof(LeaderInfo); le++)
{
PlayerInfo = level;
LeaderInfo = 0;
LeaderInfo = PlayerInfo;
strmid(LeaderInfo, sendername, 0, strlen(sendername), 255);
SaveLideri();
OnPlayerUpdate(playerid);
format(string, sizeof(string), "Promovisani ste na Lider slot %d od strane Admina %s",level, sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Promovisali ste igraca %s na Lider slot: %d.", giveplayer,level);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Niste ovlasceni da koristite ovu komandu!");
}
}
return 1;
}
if(strcmp(cmd, "/clearleaderslot", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, playername, sizeof(playername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "KORISCENJE: /clearleaderslot [Slot ID]");
return 1;
}
new lead = strval(tmp);
if (PlayerInfo >= 7)
{
LeaderInfo = 0;
LeaderInfo = 0;
strmid(LeaderInfo, "Niko", 0, strlen("Niko"), 255);
format(string, sizeof(string), "Ocistili ste Lider slot ID: %d",lead);
SCM(playerid, COLOR_WHITE, string);
SaveLideri();
OnPlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Nisi ovlascen da koristis ovu komandu!");
}
}
return 1;
}
Ucitavanje i cuvanje podataka u fajl
forward LoadLideri();
public LoadLideri()
{
new arrCoords;
new strFromFile2;
new File: file = fopen("cfg/lideri.cfg", io_read);
if (file)
{
new idx;
while (idx < sizeof(LeaderInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
LeaderInfo = strval(arrCoords);
strmid(LeaderInfo, arrCoords, 0, strlen(arrCoords), 255);
LeaderInfo = strval(arrCoords);
printf("LiderInfo: Slot:%d Ime:%s\n",
idx,
LeaderInfo,
LeaderInfo);
idx++;
}
fclose(file);
}
return 1;
}
forward SaveLideri();
public SaveLideri()
{
new idx;
new File: lidercic;
while (idx < sizeof(LeaderInfo))
{
new leadstring;
format(leadstring, sizeof(leadstring), "Slot:%d|Ime:%s|\n",
LeaderInfo,
LeaderInfo,
LeaderInfo);
if(idx == 0)
{
lidercic = fopen("cfg/lideri.cfg", io_write);
}
else
{
lidercic = fopen("cfg/lideri.cfg", io_append);
}
fwrite(lidercic, leadstring);
idx++;
fclose(lidercic);
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): http://www.igreklik.com/slike/viewer.php?file=48277194875712011008.jpg