Sziasztok!
A mai nap folyamán összedobtam egy alap mentést a szerveremhez.
Csak gondokba ütköztem.
Az lenne a gondom , hogy 4 mentést csináltam, skin,pénz,pont,admin. E 4 közül a Pont mentést azaz szint mentést nem teszteltem, a többi 3-at igen, azonban csak az Admin mentés müködik, a pénz és a skin nem.
Megnézné valaki hogy milehet a baja?
OnPlayerRequestClass
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
////////////////////////////////////////////////////////////////
new file[256];
GetPlayerName(playerid, Nev, sizeof(Nev));
format(file,sizeof(file),\"/Karakterek/%s.ini\", Nev);
new string[256];
if(!fexist(file))
{
format(string, sizeof(string), \"Üdv %s ! \\nKérlek regisztrálja be \\nAdj meg egy tetszőleges jelszót!\",Nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
if(fexist(file))
{
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
}
return 1;
}
OnPlayerDisconnect
public OnPlayerDisconnect(playerid, reason)
{
new elkoszonouzenet[128];
GetPlayerName(playerid, Nev, sizeof(Nev));
format(elkoszonouzenet,sizeof(elkoszonouzenet),\"%s lecsatlakozott a szerverről!\", Nev);
SendClientMessage(playerid, -1, elkoszonouzenet);
printf(elkoszonouzenet);
new file[128];
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
if(fexist(file) && Belepve[playerid] == 1)
{
dini_IntSet(file, \"Szint\", JatekosInfo[playerid][szint]);
dini_IntSet(file, \"Pénz\", JatekosInfo[playerid][Penz]);
dini_IntSet(file, \"Skin\", GetPlayerSkin(playerid));
dini_IntSet(file, \"Admin\", JatekosInfo[playerid][Admin]);
}
return 1;
}
OnDialogResponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == regisztracio)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid,Nev,sizeof(Nev));
if(strlen(inputtext) == 0 )
{
format(string, sizeof(string), \"Üdv %s ! \\nKérlek regisztrálja be \\nAdj meg egy tetszőleges jelszót!\",Nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
return 0;
}
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, \"Antibug\", 0);
dini_IntSet(file, \"Jelszó\", udb_hash(inputtext));
dini_IntSet(file, \"Szint\", 0);
dini_IntSet(file, \"Pénz\", 0);
dini_IntSet(file, \"Skin\", 0);
dini_IntSet(file, \"Admin\", 0);
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
printf(\"%s regisztrált a szerverre\",Nev);
}
else
{
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
}
}
}
if(dialogid == bejelentkezes)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid, Nev, sizeof(Nev));
if(strlen(inputtext) == 0 )
{
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
return 0;
}
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
if(fexist(file))
{
new Jelszo = dini_Int(file, \"Jelszó\");
if(udb_hash(inputtext) == Jelszo)
{
Belepve[playerid] = 1;
ResetPlayerMoney(playerid);
JatekosInfo[playerid][Penz] = dini_Int(file, \"Penz\");
JatekosInfo[playerid][szint] = dini_Int(file, \"Szint\");
JatekosInfo[playerid][Admin] = dini_Int(file, \"Admin\");
SetPlayerSkin(playerid, JatekosInfo[playerid][skin]);
SendClientMessage(playerid, FEHER,\"Sikeresen bejelentkeztél!\");
SpawnPlayer(playerid);
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
}
else
{
SendClientMessage(playerid, HIBA, \"Hiba : Hibás jelszó!\");
printf(\"%s bejelentkezése sikertelen volt\", Nev);
Kick(playerid);
}
}
}
}
return 1;
}
Válaszotokat/Segitsígéteket előre is köszönöm!
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == regisztracio)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid,Nev,sizeof(Nev));
if(strlen(inputtext) == 0 )
{
format(string, sizeof(string), \"Üdv %s ! \\nKérlek regisztrálja be \\nAdj meg egy tetszőleges jelszót!\",Nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
return 0;
}
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, \"Antibug\", 0);
dini_IntSet(file, \"Jelszó\", udb_hash(inputtext));
dini_IntSet(file, \"Szint\", 0);
dini_IntSet(file, \"Pénz\", 0);
dini_IntSet(file, \"Skin\", 0);
dini_IntSet(file, \"Admin\", 0);
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
printf(\"%s regisztrált a szerverre\",Nev);
}
else
{
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
}
}
}
if(dialogid == bejelentkezes)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid, Nev, sizeof(Nev));
if(strlen(inputtext) == 0 )
{
format(string,sizeof(string), \"\\n\\nÜdv %s ! \\nMár regisztrálva vagy! \\n\\nKérlek jelentkezz be!\",Nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
return 0;
}
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
if(fexist(file))
{
new Jelszo = dini_Int(file, \"Jelszó\");
if(udb_hash(inputtext) == Jelszo)
{
Belepve[playerid] = 1;
ResetPlayerMoney(playerid);
JatekosInfo[playerid][Penz] = dini_Int(file, \"Pénz\");//\'Pénz\' ként mentetted, de \'Penz\' ként akartad betölteni.
JatekosInfo[playerid][szint] = dini_Int(file, \"Szint\");
JatekosInfo[playerid][Admin] = dini_Int(file, \"Admin\");
JatekosInfo[playerid][skin] = dini_Int(file, \"Skin\");//Lementetted, de nem töltötted be.
SetPlayerSkin(playerid, JatekosInfo[playerid][skin]);
SendClientMessage(playerid, FEHER,\"Sikeresen bejelentkeztél!\");
SpawnPlayer(playerid);
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
}
else
{
SendClientMessage(playerid, HIBA, \"Hiba : Hibás jelszó!\");
printf(\"%s bejelentkezése sikertelen volt\", Nev);
Kick(playerid);
}
}
}
}
return 1;
}
Illetve használd ezt a név lekérdezéseknél.
stock Name(playerid)
{
new NAME[MAX_PLAYER_NAME];
GetPlayerName(playerid, NAME, MAX_PLAYER_NAME);
return NAME;
}
//Pl.: format(string, sizeof(string), \"Üdv %s ! \\nKérlek regisztrálja be \\nAdj meg egy tetszőleges jelszót!\",Name(playerid));