Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Zaključano

[POMOC] Komanda i ucitavanje

pre 11 godina
237
pregleda
2
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Stunter Dan
Shot Caller
pre 11 godina
Skripta koju koristim: GTARP - edit
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
Stunter Dan
Shot Caller
pre 11 godina
*** BUMP *** ZNA LI NEKO?  😕

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava