Ovako kad napravim komandu /postaviadminaoff sve super radi ali ne sacuvava u Bazi Podataka
Evo ga i kod
[pawn]YCMD:postaviadminaoff(playerid, params[],help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"EG:RPG| "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] >= 6 || PlayerInfo[playerid][pDozvola3] == 1 || IsPlayerAdmin(playerid))
{
new player[25], level, string[256], filee[56];
if(sscanf(params, "s[25]d", player, level)) return SendClientMessage(playerid, -1, "EG:REG:RPG "ZUTA"/postaviadminaoff [Ime_Prezime] [Level (1-6)]");
format(filee, sizeof(filee),"Korisnici/%s.ini", player);
if(!fexist(filee)) return 1;
if(level < 0 || level > 6) return SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Admin Level ne moze biti manji od 0 i veci od 6!");
format(string, sizeof(string), ""ZUTA"A | "BELA"Igracu %s ste off postavili Admin Level na %d.", player, level);
SendClientMessage(playerid, -1, string);
new INI:File = INI_Open(filee);
INI_WriteInt(File,"Admin",level);
INI_Close(File);
}
else
{
SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Samo Vlasnik!");
}
return 1;
}[/pawn]
Pokusaj ovako:
YCMD:postaviadminaoff(playerid, params[],help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"EG:RPG| "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] >= 6 || PlayerInfo[playerid][pDozvola3] == 1 || IsPlayerAdmin(playerid))
{
new player[25], level, string[256], filee[56];
if(sscanf(params, "s[25]d", player, level)) return SendClientMessage(playerid, -1, "EG:REG:RPG "ZUTA"/postaviadminaoff [Ime_Prezime] [Level (1-6)]");
format(filee, sizeof(filee),"Korisnici/%s.ini", player);
if(!fexist(filee)) return 1;
if(level < 0 || level > 6) return SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Admin Level ne moze biti manji od 0 i veci od 6!");
format(string, sizeof(string), ""ZUTA"A | "BELA"Igracu %s ste off postavili Admin Level na %d.", player, level);
SendClientMessage(playerid, -1, string);
new INI:File = INI_Open(filee);
INI_WriteInt(File,"Admin",level);
INI_Close(File);
SavePlayer(player);
}
else
{
SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Samo Vlasnik!");
}
return 1;
}
ako ne bude radilo napisi mi
^ Ne vidim svrhu postavljanja 'SavePlayer' u komandi gde se otvara baza, i upisuje direktno zadata vrednost.
Dakle, evo potencijalni fix:
[pawn]YCMD:postaviadminaoff(playerid, params[],help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"EG:RPG| "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] >= 6 || PlayerInfo[playerid][pDozvola3] == 1 || IsPlayerAdmin(playerid))
{
new player[25], level, string[256], filee[56];
if(sscanf(params, "s[25]d", player, level)) return SendClientMessage(playerid, -1, "EG:REG:RPG "ZUTA"/postaviadminaoff [Ime_Prezime] [Level (1-6)]");
format(filee, sizeof(filee),"Korisnici/%s.ini", player);
if( !fexist( filee ) ) return SendClientMessage( playerid, -1, "Uneseno ime se ne nalazi u bazi.");
if(level < 0 || level > 6) return SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Admin Level ne moze biti manji od 0 i veci od 6!");
format(string, sizeof(string), ""ZUTA"A | "BELA"Igracu %s ste off postavili Admin Level na %d.", player, level);
SendClientMessage(playerid, -1, string);
new INI:File = INI_Open( filee );
INI_WriteInt( File, "Admin", level );
INI_Close( File );
}
else
{
SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Samo Vlasnik!");
}
return 1;
}[/pawn]
Ne treba returnas pozitivan rezultat na proveri za postojanje unesene vrednosti. Trebalo bi radi.
Citat: Vasic poslato April 03, 2021, 23:46:15 POSLE PODNE
^ Ne vidim svrhu postavljanja 'SavePlayer' u komandi gde se otvara baza, i upisuje direktno zadata vrednost.
Dakle, evo potencijalni fix:
[pawn]YCMD:postaviadminaoff(playerid, params[],help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"EG:RPG| "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pAdmin] >= 6 || PlayerInfo[playerid][pDozvola3] == 1 || IsPlayerAdmin(playerid))
{
new player[25], level, string[256], filee[56];
if(sscanf(params, "s[25]d", player, level)) return SendClientMessage(playerid, -1, "EG:REG:RPG "ZUTA"/postaviadminaoff [Ime_Prezime] [Level (1-6)]");
format(filee, sizeof(filee),"Korisnici/%s.ini", player);
if( !fexist( filee ) ) return SendClientMessage( playerid, -1, "Uneseno ime se ne nalazi u bazi.");
if(level < 0 || level > 6) return SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Admin Level ne moze biti manji od 0 i veci od 6!");
format(string, sizeof(string), ""ZUTA"A | "BELA"Igracu %s ste off postavili Admin Level na %d.", player, level);
SendClientMessage(playerid, -1, string);
new INI:File = INI_Open( filee );
INI_WriteInt( File, "Admin", level );
INI_Close( File );
}
else
{
SendClientMessage(playerid, -1, ""CRVENA"[EG:RPG] "SIVA"Samo Vlasnik!");
}
return 1;
}[/pawn]
Ne treba returnas pozitivan rezultat na proveri za postojanje unesene vrednosti. Trebalo bi radi.
Ne kontam sta si ti ovde uradio sem sto si odvojio redove...?
Citat: Accado poslato April 04, 2021, 13:40:12 POSLE PODNE
Ne kontam sta si ti ovde uradio sem sto si odvojio redove...?
Pogledaj malo bolje.
#pragma unused help dovoljno sam vidio mani se toga cemu ycmd kad imas brze ocitavanje poput pawn.CMD.. ?
Kad vec hoces YCMD da koristis, a neces da koristis sve sto pruza. Koristi zcmd sintaksu koju ycmd podrzava po defaultu
[pawn]CMD:postaviadminaoff(playerid, params[])[/pawn]
Reseno