Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Plen Ki Mun poslato Mart 17, 2018, 18:32:28 POSLE PODNE

Naslov: Ne Sprema 'Score'
Poruka od: Plen Ki Mun poslato Mart 17, 2018, 18:32:28 POSLE PODNE
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
Naslov: Odg: Ne Sprema 'Score'
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ 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
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Plen Ki Mun poslato Mart 17, 2018, 18:51:41 POSLE PODNE
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)
Naslov: Odg: Ne Sprema 'Score'
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Mart 17, 2018, 18:55:13 POSLE PODNE
Jel praviš mod od 0 ako praviš jel imaš nešto još što ti ne učitava
Naslov: Odg: Ne Sprema 'Score'
Poruka od: PekiDaBoss poslato Mart 17, 2018, 19:01:35 POSLE PODNE
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);
Naslov: Odg: Ne Sprema 'Score'
Poruka od: [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]);
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Plen Ki Mun poslato Mart 17, 2018, 19:30:18 POSLE PODNE
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.
Naslov: Odg: Ne Sprema 'Score'
Poruka od: PekiDaBoss poslato Mart 17, 2018, 21:17:36 POSLE PODNE
Citat: Vantage poslato Mart 17, 2018, 19:30:18 POSLE PODNE
Stavio sam ovako, I cini se da radi sada.

Ako radi,uzivaj
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Paul Castellano poslato Mart 18, 2018, 11:59:05 PRE PODNE
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.
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Ino42O poslato Mart 18, 2018, 19:44:20 POSLE PODNE
Je li uopce u datoteci bude 'Score' polje posle spremanja?
Naslov: Odg: Ne Sprema 'Score'
Poruka od: anderson87 poslato Mart 18, 2018, 20:20:05 POSLE PODNE
Ocigledno ti je spremanje pojebano
[pawn]INI_WriteInt(File,"Score", GetPlayerScore(playerid));[/pawn]
probaj sa
[pawn]INI_WriteInt(File,"Score", PlayerInfo[playerid][Score]);[/pawn]
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Plen Ki Mun 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.
Naslov: Odg: Ne Sprema 'Score'
Poruka od: 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
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Plen Ki Mun poslato Mart 18, 2018, 21:46:05 POSLE PODNE
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
Naslov: Odg: Ne Sprema 'Score'
Poruka od: PekiDaBoss poslato Mart 18, 2018, 21:58:52 POSLE PODNE
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
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Łuk@ poslato Mart 18, 2018, 22:59:54 POSLE PODNE
SetPlayerScore(playerid, PlayerInfo[playerid][Score] + 2);

mislis

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

?
Naslov: Odg: Ne Sprema 'Score'
Poruka od: Paul Castellano poslato Mart 19, 2018, 12:54:41 POSLE PODNE
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

I ja sam mislio,čudno...


public OnPlayerConnect(playerid)
{
new score = 5;
SetPlayerScore(playerid, score += 2);
printf("GetScore: %d , Score: %d " ,GetPlayerScore(playerid),score);
return 1;
}


Ispis:
Citat[12:52:48] GetScore: 7 , Score: 7
Naslov: Odg: Ne Sprema 'Score'
Poruka od: PekiDaBoss poslato Mart 19, 2018, 19:46:09 POSLE PODNE
Citat: Łukmember=1996][/member] link=topic=120726.msg831552#msg831552 date=1521410394]
SetPlayerScore(playerid, PlayerInfo[playerid][Score] + 2);

mislis

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

?
Mislim [pawn]SetPlayerScore(killerid, PlayerInfo[killerid][Score] += 2);[/pawn] njemu radi sve,a ja sam napravio gresku lol