Ne Sprema 'Score'


Započeo Plen Ki Mun, Mart 17, 2018, 18:32:28 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Problem je u tome što se score ne sprema a kada ga ucitava ucita tu nulu(0) jer se ne sprema. Ako sam nešto zaboravio, recite.
Dio skripte:

Score uvijek postavljam na ovaj nacin, kada igrac ubije nekoga itd.

SetPlayerScore(playerid, PlayerInfo[playerid][Score] + 2);


Kada se igrac uloguje

SetPlayerScore(playerid, PlayerInfo[playerid][Score]);


Ucitavanje, to jest LoadUser_data

INI_Int("Score", PlayerInfo[playerid][Score]);


Spremanje

INI_WriteInt(File,"Score", GetPlayerScore(playerid));


I dodao sam kasnije timer da ucitava igrace skor svakih 5 sekundi.

SetTimerEx("UpdateScore", 5000, true, "");


public UpdateScore()
{
    foreach (new i : Player) if (IsPlayerLoggedIn[i] && IsPlayerSpawned(i))
	{
	   SetPlayerScore(i, PlayerInfo[i][Score]);
 	}
 	return 1;
}



Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //

Sorry, @Ino42O

Ali ti si mi nekako najdrazi  :D

Mislim da ti taj tajmer nikako nije potreban msm cijela funkcija znaš ja koristim enum pinfo i nemam problem ucitava mi normalno
Respect to Muma187, Sivir, Ino420, Tosic, Shomy Script, σgí, [CG]Johnny, [WG]Danny
Alfa Gaming Community Owner & Skripter
Alfa Gaming mod edit:100%

Citat: Yannick poslato Mart 17, 2018, 18:42:19 POSLE PODNE
Mislim da ti taj tajmer nikako nije potreban msm cijela funkcija znaš ja koristim enum pinfo i nemam problem ucitava mi normalno

Kako nije potreban, a koristi se samo da ucita trenutni 'score' koji je spremljen. I bez timera, sprema se '0' i isto tako ucitava nulu (0)

Jel praviš mod od 0 ako praviš jel imaš nešto još što ti ne učitava
Respect to Muma187, Sivir, Ino420, Tosic, Shomy Script, σgí, [CG]Johnny, [WG]Danny
Alfa Gaming Community Owner & Skripter
Alfa Gaming mod edit:100%

Citat: Vantage poslato Mart 17, 2018, 18:32:28 POSLE PODNE

SetPlayerScore(playerid, PlayerInfo[playerid][Score] + 2);



Zar ne ide
SetPlayerScore(playerid, PlayerInfo[playerid][Score] += 2);

imas gresaka...
SetPlayerScore(playerid, PlayerInfo[playerid][Score] + 2);
// Ovo ce ti davat onome ko umre a ne onom igracu koji ubije i ne treba ti tajmer za postavljanje scora svakih 5sec
i ne  ti normalno score system, ovako ti je lakse ovako napravi....
stock DajScore(playerid,koliko)
{
 PlayerInfo[playerid][Score]=PlayerInfo[playerid][Score]+koliko; 
SetPlayerScore(playerid,PlayerInfo[playerid][Score]);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
DajScore(killerid,2);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerScore(playerid,PlayerInfo[playerid][Score]);
return 1;
}
 // i u funkciji kad se prijavi/registruje stavis isto
SetPlayerScore(playerid,PlayerInfo[playerid][Score]);

Citat: Belegija poslato Mart 17, 2018, 19:01:35 POSLE PODNE
Zar ne ide
SetPlayerScore(playerid, PlayerInfo[playerid][Score] += 2);


Stavio sam ovako, I cini se da radi sada.


Citat: Vantage poslato Mart 17, 2018, 18:51:41 POSLE PODNE
Kako nije potreban, a koristi se samo da ucita trenutni 'score' koji je spremljen. I bez timera, sprema se '0' i isto tako ucitava nulu (0)

Tajmer ti nije potreban,čemu svako 5 sekundi učitavati Score igraču? Učitavaš mu Score samo onda kada mijenjaš vrijednost i na loginu puno bolje riješenje nego ovo.

Je li uopce u datoteci bude 'Score' polje posle spremanja?
Software Developer

Ocigledno ti je spremanje pojebano
INI_WriteInt(File,"Score", GetPlayerScore(playerid));

probaj sa
INI_WriteInt(File,"Score", PlayerInfo[playerid][Score]);
• G A M E M O D E •
• F I L T E R S C R I P T •
• T U T O R I A L •


Citat
You are what you believe yoursefl to be.

Radi mi na ovaj nacin sto je Belegija rekao i sada ga sprema, a ovo ostalo sam pokusao i nece.

Svejedno tu vrijednost postavljas na score (SetPlayerScore) kojom posle zapisivas (GetPlayerScore), tako da bi i 'stari' nacin trebao raditi, i ovo:

SetPlayerScore(playerid, PlayerInfo[playerid][Score] += 2);

nebi trebalo raditi
Software Developer

Citat: Ino42O poslato Mart 18, 2018, 21:24:23 POSLE PODNE
Svejedno tu vrijednost postavljas na score (SetPlayerScore) kojom posle zapisivas (GetPlayerScore), tako da bi i 'stari' nacin trebao raditi, i ovo:

SetPlayerScore(playerid, PlayerInfo[playerid][Score] += 2);

nebi trebalo raditi

Ali radi, sprema mu i ucitava kako treba

Citat: Vantage poslato Mart 18, 2018, 20:34:43 POSLE PODNE
Radi mi na ovaj nacin sto je Belegija rekao i sada ga sprema, a ovo ostalo sam pokusao i nece.
Drago mi je sto sam pomogao
Citat: [beNNy] poslato Mart 17, 2018, 19:15:00 POSLE PODNE
imas gresaka...
SetPlayerScore(playerid, PlayerInfo[playerid][Score] + 2);
// Ovo ce ti davat onome ko umre a ne onom igracu koji ubije i ne treba ti tajmer za postavljanje scora svakih 5sec
i ne  ti normalno score system, ovako ti je lakse ovako napravi....
stock DajScore(playerid,koliko)
{
 PlayerInfo[playerid][Score]=PlayerInfo[playerid][Score]+koliko; 
SetPlayerScore(playerid,PlayerInfo[playerid][Score]);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
DajScore(killerid,2);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerScore(playerid,PlayerInfo[playerid][Score]);
return 1;
}
 // i u funkciji kad se prijavi/registruje stavis isto
SetPlayerScore(playerid,PlayerInfo[playerid][Score]);

a ovo drugo,ako ti bude davalo pogresnom Score,stavi umjesto playerid,killerid