Skripta koju koristim: Moja
Detaljan opis problema: Pa imam 2 problema... 1: Kada si dadnem GameMastera i odem relog, vise mi neostane kada dodjem na server.. 2: kada upisem /gamemasteri izbaci mi online gamemastere al nece da pokaze GM-a nivo 4... GM lvl 1,2,3 pokaze al 4 nece s ubacim i njega u skriptu....
Dio skripte:
1. problem ( nece da ostane gm )
format(string2, sizeof(string2), "{00A9FF}Admin {00A9FF}Level: {FFFFFF}%d",PlayerInfo[playerid][pAdmin]);
SendClientMessage(playerid, COLOR_LIGHTBLUE,string2);
format(string2, sizeof(string2), "{00FF00}GameMaster {00FF00}Level: {FFFFFF}%d",PlayerInfo[playerid][pGameMaster]);
SendClientMessage(playerid, COLOR_LIGHTBLUE,string2);
2. problem ( nece da pokaze gm nivo 4 )
if (strcmp(cmd, "/gamemasteri", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_LIGHTGREEN, " ");
SendClientMessage(playerid, COLOR_LIGHTGREEN, "{00FF00}|______Online GameMasteri______|");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pGameMaster] >= 1 && PlayerInfo[i][pGameMaster] < 4)
{
new admtext[64];
if(PlayerInfo[i][pGameMaster] == 4) { admtext = "{00FF00}, Gamemaster nivo: {FFFFFF}4"; }
else if(PlayerInfo[i][pGameMaster] == 3) { admtext = "{00FF00}, Gamemaster nivo: {FFFFFF}3"; }
else if(PlayerInfo[i][pGameMaster] == 2) { admtext = "{00FF00}, Gamemaster nivo: {FFFFFF}2"; }
else if(PlayerInfo[i][pGameMaster] == 1) { admtext = "{00FF00}, Gamemaster nivo: {FFFFFF}1"; }
GetPlayerName(i, sendername, sizeof(sendername));
if(GameMasterDuty[i] == 0)
{
format(string, 256, "{FFFFFF}%s {FFFFFF}%s ", sendername, admtext);
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
}
else
{
format(string, 256, "{FFFFFF}%s {FFFFFF}%s ", sendername, admtext);
SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
}
}
}
}
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno)://[color]
if(PlayerInfo[i][pGameMaster] >= 1 && PlayerInfo[i][pGameMaster] <= 4)
zamijeni sa tvojim.
1 problem ) nisam siguran sta treba da se doda pod onplayerupdate jer nisam kuci,uzmi pod tim callbackom kod od admina i samo umesto pAdmin ili kako ti je vec prebaci u pGameMaster...
2 problem) umesto
if(PlayerInfo[i][pGameMaster] >= 1 && PlayerInfo[i][pGameMaster] < 4)
stavi
if(PlayerInfo[i][pGameMaster] >= 1 && PlayerInfo[i][pGameMaster] < 5)
Moze i ovako kako sam mu ja napisao. :)
Isto ti je kako god da ga stavis.
Nije isto pokazati cemu samo do lvla 3 daj nam onplayerregister i onplayerlogin
Citat: - Nickâ,,¢ poslato Avgust 28, 2011, 23:05:51 POSLE PODNE
Nije isto pokazati cemu samo do lvla 3 daj nam onplayerregister i onplayerlogin
Sta bre ti covece pricas?
Testiraj pa vidi .
ovo
if(PlayerInfo[i][pGameMaster] >= 1 && PlayerInfo[i][pGameMaster] <= 4)
i ovo
if(PlayerInfo[i][pGameMaster] >= 1 && PlayerInfo[i][pGameMaster] < 5)
je isto.
Ocito ne poznajes znakove manje,vece,manje ili jednako,vece ili jednako. :S
Vidis li da je problem u tome sto mu ne spema GMA nisi shvatio ocito zato sam trazio onplayerlogin i onplayerregister
Citat: - Nickâ,,¢ poslato Avgust 28, 2011, 23:11:50 POSLE PODNE
Vidis li da je problem u tome sto mu ne spema GMA nisi shvatio ocito zato sam trazio onplayerlogin i onplayerregister
Pricaj malo jasnije.
Ja sam mu dao rjesenje za ovaj drugi problem ili ti /gamemasteri.
Savrseno sam ja shvatio.
Citat: - Nickâ,,¢ poslato Avgust 28, 2011, 23:11:50 POSLE PODNE
Vidis li da je problem u tome sto mu ne spema GMA nisi shvatio ocito zato sam trazio onplayerlogin i onplayerregister
Covece to su 2 razlicita problema,rekao sam mu za prvi problem resenje ,a to je da nije stavio pod onplayerupdate ili kako vec glasi taj callback,a za ovo drugo partybreaker i ja smo mu dali resenje .
2. problem rijesen ( u mene stajo zna > 4 umjesto >=4 i zato nije pokazivalo -.- , thx momci)... a 1. neznam jos nista, nek se uradi bilo kako samo da GM nivo ostaje nakon reloga... Hvala unapred
Ok brate nisam dobro vidio nabrzinu sam procitao sta odma divljas :-[ :-[
Citat: DeBlack poslato Avgust 28, 2011, 23:14:42 POSLE PODNE
2. problem rijesen ( u mene stajo zna > 4 umjesto >=4 i zato nije pokazivalo -.- , thx momci)... a 1. neznam jos nista, nek se uradi bilo kako samo da GM nivo ostaje nakon reloga... Hvala unapred
gledaj,odes na callback onplayerupdate valjda se tako zove, onda vidis nesto vezano za pAdmin ,kopiras to i nalepis ispod,i svugde gde je pAdmin stavi pGameMaster,compajlaj i to je to,razumes ? =)
Za vas koji neznate cemu sluzi koji aritmeticki simbol: http://balkan-samp.com/forum/index.php?topic=15196.0
OnPlayerUpdate NIJE preporucljivo koristiti za updateanja igracevih statsa, jer se OnPlayerUpdate koristi vise od 5 puta u sekundi, sto znaci da se vise od 5 puta u sekundi zapisuje u igracev file, sto je jako losa optimizacija.
Ostalo je Nxidza objasnio.
Rodjo .. Ja cu ti najlakse Objasnit ! :P
Znaci idi CTRL + f i upisi public OnPlayerUpdate(playerid)
Kad si naso ima dole ovo
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid])
{
new string3[64];
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "users/%s.ini", playername3);
new File: hFile = fopen(string3, io_write);
if (hFile)
{
new var[64];
format(var, 64, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
format(var, 64, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
format(var, 64, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
ima toga jos al ovo je dosta
Sad Ispod
format(var, 64, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
Dodaj ovo
format(var, 64, "GameMasterLevel=%d\n",PlayerInfo[playerid][pGameMaster]);fwrite(hFile, var);
i to je to :D nadam se da sam ti pomogo rodjoo :D
1 problem ) nisam siguran sta treba da se doda pod onplayerupdate jer nisam kuci,uzmi pod tim callbackom kod od admina i samo umesto pAdmin ili kako ti je vec prebaci u pGameMaster...
Pokusao sam tvoje i valja... hvala svima, moderator ovdje moze lock..