Szerző Téma: Score Hiba!!!!  (Megtekintve 1385 alkalommal)

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Score Hiba!!!!
« Dátum: 2013. február 15. - 18:29:55 »
0 Show voters
Üdv fórumozók!
Azt szeretném megvalósítani, hogy a szerverem minden 1 percben adjon a playernek +1 pontot.
El is kezdtem, de abba a problémába ütköztem, hogy nem 1 percenként adja a pontot, hanem valamivel kevesebb és 499 ad mindíg.
Mi lehet a gond?
Így néz ki a dolog:
 
forward Pont(playerid);
SetTimer(\"Pont\",1000*60*1,true);
public Pont(playerid)
{
for(new i=1;i<MAX_PLAYERS;i++)
{
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
}
}

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Score Hiba!!!!
« Válasz #1 Dátum: 2013. február 15. - 18:35:33 »
0 Show voters
Set Timert- 60.000-rel próbáltad? Szozat nélkül talán jóbb.

Score Hiba!!!!
« Válasz #2 Dátum: 2013. február 15. - 18:37:08 »
0 Show voters
\"Kicsit\" hibás :D
 
Kód: (pawn) [Kijelölés]
forward Pont(playerid);
public OnFilterScriptInit()
{
SetTimer(\"Pont\", 60000, 1);
return 1;
}
public Pont(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
}
}


Nem elérhető BackUP

  • 908
    • Profil megtekintése
Score Hiba!!!!
« Válasz #3 Dátum: 2013. február 15. - 18:43:05 »
0 Show voters
Mondjuk igaz :D

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Score Hiba!!!!
« Válasz #4 Dátum: 2013. február 15. - 18:46:08 »
0 Show voters
mostmár jó az idõ, de most viszont az a gond hogy 1 percenként ad 2x500pontot
azaz 1 percenként 1000pontot, pedig 1et kellene

Score Hiba!!!!
« Válasz #5 Dátum: 2013. február 15. - 19:01:46 »
0 Show voters
Idézetet írta: sticky2 date=1360949828\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"33823\" data-ipsquote-contentclass=\"forums_Topic
\"Kicsit\" hibás :D
 
Kód: (pawn) [Kijelölés]
forward Pont(playerid);
public OnFilterScriptInit()
{
SetTimer(\"Pont\", 60000, 1);
return 1;
}
public Pont(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
}
}


ez se volt annyival jobb xD mondjuk egy kicsivel azért már jobb volt de figyelmetlen xD
 
forward Pont(playerid);
public OnFilterScriptInit()
{
SetTimer(\"Pont\", 60000, 1);
return 1;
}
public Pont(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerScore(i, GetPlayerScore(i)+1);
}
}

 
aki ügyes meglátja mit írtam át xD

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Score Hiba!!!!
« Válasz #6 Dátum: 2013. február 15. - 19:03:36 »
0 Show voters
Idézetet írta: sticky2 date=1360949828\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"33823\" data-ipsquote-contentclass=\"forums_Topic
\"Kicsit\" hibás :D
 
Kód: (pawn) [Kijelölés]
forward Pont(playerid);
public OnFilterScriptInit()
{
SetTimer(\"Pont\", 60000, 1);
return 1;
}
public Pont(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
}
}


Ez is hibás mert csak az ID 0 -nak adja majd a pontot oda.. :)

Score Hiba!!!!
« Válasz #7 Dátum: 2013. február 15. - 19:05:20 »
0 Show voters
Zyzu késtél ezzel a kijelentéseddel egy pöpet xD

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Score Hiba!!!!
« Válasz #8 Dátum: 2013. február 15. - 19:12:26 »
0 Show voters
Akkor is hibás nem az i de az is hiba volt hanem a SeTimer helyett én inkább SeTimerEx -et használnék mivel csak az ID: 0 -nak adja..

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Score Hiba!!!!
« Válasz #9 Dátum: 2013. február 15. - 19:16:31 »
0 Show voters
Ez már jó lett, de még mindíg hibás, mert 2 perc alatt kaptam 4 pontot, holott percenként csak 1 pontot kellene hogy adjon

Score Hiba!!!!
« Válasz #10 Dátum: 2013. február 15. - 19:18:19 »
0 Show voters

forward Pont(playerid);
public OnFilterScriptInit()
{
SetTimer(\"Pont\", 60000, true);
return 1;
}
public Pont(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerScore(i, GetPlayerScore(i)+1);
}
}

 
utsó kommim ide,de ha ebben te látsz olyan hibát ami kihat a mûködésére szólj, és még ha tegyük fel a Pont eljárás playerid-ként csak 0-át kapna folyton akkor se befolyásolja a for ciklust mivel az a saját egyedi i változójával baromkodik és az i változik emiatt nem szükséges mégcsak az se hogy a eljárás megkapja a playerid-t, szóvaaal... :whistle:
sry a féloffért mindenkinek,csak van amit nem bírok elviselni xD
na vissza  témához, rögtön letesztelem mennyire rossz is ez a verzió.
addig meg byebi :smokin:

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Score Hiba!!!!
« Válasz #11 Dátum: 2013. február 15. - 19:22:57 »
0 Show voters
Idézetet írta: Red-Eye date=1360952299\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"33823\" data-ipsquote-contentclass=\"forums_Topic


forward Pont(playerid);
public OnFilterScriptInit()
{
SetTimer(\"Pont\", 60000, true);
return 1;
}
public Pont(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerScore(i, GetPlayerScore(i)+1);
}
}

 
utsó kommim ide,de ha ebben te látsz olyan hibát ami kihat a mûködésére szólj, és még ha tegyük fel a Pont eljárás playerid-ként csak 0-át kapna folyton akkor se befolyásolja a for ciklust mivel az a saját egyedi i változójával baromkodik és az i változik emiatt nem szükséges mégcsak az se hogy a eljárás megkapja a playerid-t, szóvaaal... :whistle:
sry a féloffért mindenkinek,csak van amit nem bírok elviselni xD
na vissza  témához, rögtön letesztelem mennyire rossz is ez a verzió.
addig meg byebi :smokin:
 
Ezer bocs, már megoldottam. Én rontottam el azzal, hogy benthagytam az elõzõ settimer-t is és így ezért adott 2 pontot percenként.

Score Hiba!!!!
« Válasz #12 Dátum: 2013. február 15. - 19:27:08 »
+1 Show voters
Ha müxik akkor oksa  ;D valszeg nem sokat segítettem, de ha mégis akkor szívesen  ^-^

Nem elérhető ObiWan

  • 596
    • Profil megtekintése
Score Hiba!!!!
« Válasz #13 Dátum: 2013. február 15. - 19:28:32 »
0 Show voters
Mostmár csak az kellene, hogy mentse is egy fájlba mindenki pontját dinivel.
Aztán meg betöltse. (dinihez egyáltalán nem értek :S)

Score Hiba!!!!
« Válasz #14 Dátum: 2013. február 15. - 19:31:50 »
0 Show voters

#include <a_samp>
#include <dini>
enum pAdat
{
score
}
new nev[MAX_PLAYER_NAME];
new loc[100];
new PlayerAdat[MAX_PLAYERS][pAdat];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Score Saver 4 Chansee by RedDEV (founded by Red-Eye)\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(loc, sizeof(loc), \"/scores/%s.ini\",nev);
    if(!dini_Exists(loc))
{
    dini_Create(loc);
    dini_IntSet(loc, \"Score\", 0);
    PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
    }
else
{
    PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
    SetPlayerScore(playerid,PlayerAdat[playerid][score]);
    }
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerAdat[playerid][score] = GetPlayerScore(playerid); // <--- OTT xD
GetPlayerName(playerid,nev,sizeof(nev));
format(loc,sizeof(loc),\"/scores/%s.ini\",nev);
if(!dini_Exists(loc))
{
dini_Create(loc);
dini_IntSet(loc, \"Score\", 0);
}
else
{
dini_IntSet(loc,\"Score\",PlayerAdat[playerid][score]);
}
return 1;
}

 
másnak írtam de lehet hogy neked is jó lesz akkor de azért nézd át már régebben volt akkor mondjuk leteszteltem de akkor is xD jah meg ne felejts el scriptfiles-ban létrehozni egy scores nevû mappát
ha nem értesz rajta valamit szólj  8)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal