offline perm

Započeo Goku ^, Jul 12, 2022, 11:48:15 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Zelim napraviti da lider moze davati offline permisije igracu, medjutim ne mogu nikako prosto mi ne ide da napravim proveri da li je igrac clan te organizacije jelte ako nije da izbaci taj igrac nije clan vase org itd itd  ili je taj igrac lider te organizacije.
Deo skripte:
[b]
Dialog:lp1statusi(playerid, response, listitem, inputtext[])
{
   if(response)
    {
        new id, ifile[90];
        if(sscanf(inputtext, "u", id)) return Dialog_Show(playerid, lp1statusi, DIALOG_STYLE_INPUT,"[HA] Lider Panel (ID Igraca)", "Unesite ID/Ime_Prezime igraca\n"ORANGE"* Niste uneli potrebne parametre", "Dalje", "Izlaz");
        NijeClan = id;
        INI_ParseFile(ifile, "ProveriClana"); // NE RADI
        if(PlayerInfo[playerid][pClan] != NijeClan) return SCM(playerid, NS_ORANGE,"* NIJE CLAN"); // NE RADI
   if(NijeClan == INVALID_PLAYER_ID) 
      {
                   new player[MAX_PLAYER_NAME + 1], filee[54], namade[1024], str[1024], cr2[22];
                   sscanf(inputtext, "s[24]", player);
                   format(filee, sizeof filee,"Korisnici/%s.ini", player);
                   if(!fexist(filee)) return va_SendClientMessage(playerid,NS_ORANGE, "* Igrac '%s' nije pronadjen u bazi podataka.", player);
         format(namade,sizeof(namade),""BELA"%s (Offline)", player);
         INI_ParseFile(filee, "Provere", .bExtra = true, .extra = playerid);// Ovo je provera permisije koje igrac ima
         if(liderstat == 1) { lider = ""ZELENA"ON"; } else { lider = ""CRVENA"OFF"; }
         format( str, sizeof( str ), ""BELA"#\tOdobrenje\tStatus\n[1]\tPermisija Organizacija\t%s"cr2);
         Dialog_Show(playerid, offlineparams, DIALOG_STYLE_TABLIST_HEADERS, namade, str, "Izaberi", "Izlaz");
       } 
       else 
       {
         new string[512], str[512], cr2[22];
         format(string,sizeof(string),""BELA"%s (Online)", GetName(id));
         if(PlayerInfo[ id ][ pApermlider ] == 1) { lider = ""ZELENA"ON"; } else { lider = ""CRVENA"OFF"; }
              format( str, sizeof( str ), ""BELA"#\tOdobrenje\tStatus\n[1]\tPermisija Organizacija\t%s"cr2);
         Dialog_Show(playerid, apermstatusis, DIALOG_STYLE_TABLIST_HEADERS, string, str, "Izaberi", "Izlaz");
         Apermstatus[playerid] = id;
       }
   }
   return 1;
}
[/b]

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
[b]Vaš odgovor[/b]

Slika/video ingame problema(obavezno ako je ingame problem): link slike
Poslednja Izmena: Jul 13, 2022, 16:55:12 POSLE PODNE od Deleted User

Moras da cuvas u varijablu da li je igrac u organizaciji koju provjeravas

Citat: Jack_Ander poslato Jul 12, 2022, 23:19:32 POSLE PODNE
Moras da cuvas u varijablu da li je igrac u organizaciji koju provjeravas
Fixao sam 10min nakon sto sam okacio na frm ali zab sam lock, u sustini fixao sam ovako ako nekome bude nekad zatrebalo.
new NijeClan, LiderJe;
new OffPermisije[MAX_PLAYERS][25];
forward ProveriClan(playerid, name[], value[]);
public ProveriClan(playerid, name[], value[])
{
	INI_Int("Lider", LiderJe);
	INI_Int("Clan", NijeClan);
    return 1;
}

else if(player == INVALID_PLAYER_ID)
	{
		new staff[MAX_PLAYER_NAME + 1], filee[54], string[1024];
		sscanf(inputtext, "s[24]", staff);
		OffPermisije[playerid] =  staff;
        format(filee, sizeof filee, "Korisnici/%s.ini", staff);
        if(!fexist(filee)) return va_SendClientMessage(playerid,NS_ORANGE, "* Igrac '%s' nije pronadjen u bazi podataka.", staff);
        INI_ParseFile(filee, "ProveriClan", .bExtra = true, .extra = playerid);
        if(PlayerInfo[playerid][pLider] != NijeClan) return Dialog_Show(playerid, lp1statusi, DIALOG_STYLE_INPUT,"[HA] Lider Panel (ID Igraca)", "Unesite ID/Ime_Prezime igraca\n"ORANGE"* Igrac nije clan vase organizacije", "Dalje", "Izlaz");
        if(LiderJe != 0) return Dialog_Show(playerid, lp1statusi, DIALOG_STYLE_INPUT,"[HA] Lider Panel (ID Igraca)", "Unesite ID/Ime_Prezime igraca\n"ORANGE"* Taj igrac je lider organizacije", "Dalje", "Izlaz");
        format(string,sizeof(string),"[HA] Staff Stats - %s (Offline)", staff);
        new str[565], ubacivanje[90];
		if(Ubaci == 1) { ubacivanje = ""BELA"["IMOVINA"ON"BELA"]"; } else { ubacivanje = ""BELA"["CRVENA"OFF"BELA"]"; }
	    format( str, sizeof( str ), "#\tOdobrenje\tStatus\n[1]\tUbacivanje clanova\t%s", ubacivanje);
		Dialog_Show(playerid, OffStatusi, DIALOG_STYLE_TABLIST_HEADERS, string, str, "Dalje", "Izlaz");
	}