GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: tudvari - 2011. december 27. - 07:50:57
-
Sziasztok,írtam egy pozíció,skin lementõt a regisztrációs szkriptemhez,de valami rossz benne.
Ha valaki regisztrál,akkor minden jól megy,de ha jön egy restart,akkor csak azoknak lesz jó a skin és pozicíó mentés akik a restart után regisztráltak.De igazából a mentés jó mert mindig a helyes adat van a .ini fájlban,csak a betöltés tönkremegy valamiért az olyan felhasználóknál akik restart elõtt regisztráltak :S
[pawn]
if(dialogid == belepes)
{
if(response)
{
new file[128];
new string[128];
new nev[MAX_PLAYER_NAME];
if(strlen(inputtext) == 0)
{
GetPlayerName(playerid, nev, sizeof nev);
format(string, sizeof string, \"Bejelentkezés \\n\\nÜdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, belepes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
return 0;
}
GetPlayerName(playerid, nev, sizeof(nev));
format(file,sizeof(file),\"/Adatbazis/%s.ini\",nev);
if(fexist(file))
{
new jelszo = dini_Int(file, \"Jelszó\");
if(udb_hash(inputtext) != jelszo)
{
SendClientMessage(playerid, HIBA, \"Rossz jelszó!\");
Kick(playerid);
GetPlayerName(playerid, nev, sizeof(nev));
printf(\"%s bejelentkezése sikertelen volt.\", nev);
}
else
{
Belepve[playerid] = 1;
ResetPlayerMoney(playerid);
SetPlayerScore(playerid, dini_Int(file,\"Pont\"));
GivePlayerMoney(playerid, dini_Int(file,\"Pénz\"));
JatekosInfo[playerid][Halal] = dini_Int(file,\"Halálok Száma\");
JatekosInfo[playerid][Oles] = dini_Int(file,\"Ölések Száma\");
JatekosInfo[playerid][Munka] = dini_Int(file,\"Munka\");
JatekosInfo[playerid][skin] = dini_Int(file,\"Skin\");
JatekosInfo[playerid][X] = dini_Int(file,\"X\");
JatekosInfo[playerid][Y] = dini_Int(file,\"Y\");
JatekosInfo[playerid][Z] = dini_Int(file,\"Z\");
JatekosInfo[playerid][XP] = dini_Int(file,\"Tapasztalat Pont\");
JatekosInfo[playerid][szint] = dini_Int(file,\"Szint\");
JatekosInfo[playerid][Leader] = dini_Int(file,\"Leader\");
JatekosInfo[playerid][Frakcio] = dini_Int(file,\"Frakció\");
JatekosInfo[playerid][Rang] = dini_Int(file,\"Rang\");
JatekosInfo[playerid][Kor] = dini_Int(file,\"Kor\");
JatekosInfo[playerid][Nem] = dini_Int(file,\"Nem\");
JatekosInfo[playerid][bann] = dini_Int(file,\"Bannolva\");
JatekosInfo[playerid][Admin] = dini_Int(file,\"Admin Szint\");
SendClientMessage(playerid, SIKERES, \"Sikeresen bejelentkeztél!\");
printf(\"%s bejelentkezett!\", nev);
TogglePlayerSpectating(playerid, 0);
GetPlayerName(playerid, nev, sizeof(nev));
new szint = JatekosInfo[playerid][szint];
new string2[128];
format(string2, sizeof string2,\"~y~Nev: ~w~%s ~y~Szint: ~w~%d ~y~Jatszott Orak:~w~\", nev, szint);
new Text:infovonal;
TextDrawSetString(infovonal, string2);
TextDrawShowForPlayer(playerid, infovonal);
//
new xp = JatekosInfo[playerid][XP];
new string3[128];
new kovszint = JatekosInfo[playerid][szint]+1;
new xpszukseges = kovszint*szintxp;
format(string3, sizeof string3,\"~y~%d/%d\", xp, xpszukseges);
new Text:xpcsik;
TextDrawSetString(xpcsik, string3);
TextDrawShowForPlayer(playerid, xpcsik);
TextDrawTextSize(xpcsik, 483.0, 49.0);
}
}
}
}
[/pawn]
És másik kérdésem:
VAn egy adat lekérdezõ parancsom (/adatok) aminél a kort,mindig 11-nek írja ki:
[pawn]
//new kor = JatekosInfo[playerid][Kor];
new szint = JatekosInfo[playerid][szint];
new halal = JatekosInfo[playerid][Halal];
new oles = JatekosInfo[playerid][Oles];
new rang = JatekosInfo[playerid][Rang];
new kovszint = JatekosInfo[playerid][szint]+1;
new xpszukseges = kovszint*szintxp;
format(string1,sizeof(string1), \"Név: %s | Kor: %d | Nem: %s | Munka: %s |\",nev, kor, nemszoveg, munkaszoveg);
format(string2,sizeof(string2), \"Tapasztalat Pont: %d/%d | Szint: %d | Halál: %d |\", xp, xpszukseges,szint, halal);
format(string3,sizeof(string3), \"Gyilkosság: %d | Frakció: %s | Rang: %d | Felhasználó: %s |\", oles, frakcioszoveg, rang, adminszoveg);
SendClientMessage(playerid, SZURKE1, \"---------------------ADATOK---------------------\");
SendClientMessage(playerid, SZURKE1, string1);
SendClientMessage(playerid, SZURKE1, string2);
SendClientMessage(playerid, SZURKE1, string3);[/pawn]
HA bent lenne a new kor és nem lenne // jel elõtte,akkor lehetséges hogy mindig az adott kort írná ki,de ha elveszem a //-t
akkor: error 001: expected token: \"-identifier-\", but found \"-integer value-\"
Remélem tud valaki segíteni :D
-
[pawn]new kor = JatekosInfo[playerid][Kor];
new szint = JatekosInfo[playerid][szint];
new halal = JatekosInfo[playerid][Halal];
new oles = JatekosInfo[playerid][Oles];
new rang = JatekosInfo[playerid][Rang];
new kovszint = JatekosInfo[playerid][szint]+1;
new xpszukseges = kovszint*szintxp;[/pawn]
ezeket tedd a mód/script elejére
-
ModeInit-re gondolsz,vagy csak oda,ahol az enumokat helyezem,színeket definiálom,forwardingok? ha teljesen az elejére rakom (ahova logikus) akkor jó sok error keletkezik,köztük az,hogy undefined symbol playerid,és hogy a script végére már eltûnik a hatása a definiált értékeknek.
[pawn]
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(57) : error 020: invalid symbol name \"\"
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(58) : error 017: undefined symbol \"playerid\"
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(58) : error 008: must be a constant expression; assumed zero
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(59) : error 017: undefined symbol \"playerid\"
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(59) : error 008: must be a constant expression; assumed zero
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(60) : error 017: undefined symbol \"playerid\"
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(60) : error 008: must be a constant expression; assumed zero
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(61) : error 017: undefined symbol \"playerid\"
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(61) : error 008: must be a constant expression; assumed zero
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(63) : error 008: must be a constant expression; assumed zero
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(417) : error 017: undefined symbol \"xp\"
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(439) : warning 219: local variable \"kovszint\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(440) : warning 219: local variable \"xpszukseges\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(465) : warning 219: local variable \"szint\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(626) : warning 219: local variable \"szint\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(919) : warning 219: local variable \"szint\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(929) : warning 219: local variable \"kovszint\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(930) : warning 219: local variable \"xpszukseges\" shadows a variable at a preceding level
D:\\Egyebek\\0.3d\\gamemodes\\loginom.pwn(1085) : warning 203: symbol is never used: \"\"[/pawn]
Másikban is segíthettek :D
-
hát akkor nem itt lesz a baj, szerintem