-
Sziasztok annó mikor elkezdtem írni a modomat itt találtam ezt a reg rendszert. Azonban szeretném tovább fejleszeti, hogy mentsen pénzt és pontot. Tudnátok ebben nekem segíteni, hogy hogyan kell megoldani? Elõre is köszönöm! :)
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
ShowPlayerDialog(playerid,DIALOG_REGISZTRACIO, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Oké\", \"Mégse\");
}
else
{
ShowPlayerDialog(playerid,DIALOG_BELEPES, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISZTRACIO)
{
if(!response) Kick(playerid);
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_REGISZTRACIO, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Rendben\", \"Mégsem\");
return 0;
}
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
dini_Create(File);
dini_Set(File, \"Pasword\", inputtext);
ShowPlayerDialog(playerid,DIALOG_BELEPES, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
}
}
if(dialogid == DIALOG_BELEPES)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!response)
{
Kick(playerid);
}
format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
if(!strcmp(inputtext, PW, false))
{
SendClientMessage(playerid, NARANCS, \"Sikeres belépés!\");
}
else
{
WPW[playerid] ++;
SendClientMessage(playerid, PIROS, \"Rossz jelszó!\");
if(WPW[playerid] == 3)
{
Kick(playerid);
}
ShowPlayerDialog(playerid,DIALOG_BELEPES, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad\", \"Oké\", \"Mégse\");
}
}
stock Nev(playerid)
{
new Neve[MAX_PLAYER_NAME];
GetPlayerName(playerid, Neve, sizeof(Neve));
return Neve;
}
-
saját munka: http://sampforum.hu/index.php?topic=27568.0 :D Sokat fog segíteni neked :)
-
Átirtam többféle képpen de nem megy! Azt már sikerült elérnem, hogy xyz.ini be beírja, hogy pont=0 penz=0
Dupla hozzászólás automatikusan összefûzve. ( 2012. november 17. - 06:23:08 )
Tud valaki segíteni? Mert nem megy nem menti le a pénzt csak beírjra az inibe a pontot meg a pénzt, ennyire tudtam rájönni.
-
be kéne másoljad az egész regisztráció rendszered mert ami fent van az nem a tejes.. ::|
-
Rendben összeszedtem az egészet! Itt találtam egyébként a fórumon AmF készítette. Ezt így tettem annó a modomba, mert akkor még nem értettem ezekhez a dolgokhoz, bevallom most sem megy könnyen még. :D
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Oké\", \"Mégse\");
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!response) Kick(playerid);
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Rendben\", \"Mégsem\");
return 0;
}
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
dini_Create(File);
dini_Set(File, \"Pasword\", inputtext);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
}
}
if(dialogid == 2)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!response)
{
Kick(playerid);
}
format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
if(!strcmp(inputtext, PW, false))
{
SendClientMessage(playerid, -1, \"Sikeres belépés! Nyomj a \'SPAWN\' gombra!\");
}
else
{
WPW[playerid] ++;
SendClientMessage(playerid, -1, \"Rossz jelszó!\");
if(WPW[playerid] == 3)
{
Kick(playerid);
}
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad\", \"Oké\", \"Mégse\");
}
}
return 1;
}
stock Nev(playerid)
{
new Neve[MAX_PLAYER_NAME];
GetPlayerName(playerid, Neve, sizeof(Neve));
return Neve;
}
-
Tessék benne van a pont mentés és a pénz mentés + az alap regisztráció is.. :) Igen hozzál létre a scriptfiles mappában egy User mappát majd abba az User mappába hozzál létre egy Pont és egy Penz mappát.
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
#pragma tabsize 0
new nev[MAX_PLAYER_NAME];
new penz[100];
new Pont[100];
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Oké\", \"Mégse\");
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
}
GetPlayerName(playerid, nev, sizeof(nev));
format(penz, sizeof(penz), \"/User/Pont/%s.ini\",nev);
if(!dini_Exists(penz)) {
dini_Create(penz);
dini_IntSet(penz, \"Score\", 0);
GivePlayerMoney(playerid, dini_Int(penz, \"Pénz\"));
}
else
{
GivePlayerMoney(playerid, dini_Int(penz, \"Pénz\"));
}
GetPlayerName(playerid, nev, sizeof(nev));
format(Pont, sizeof(Pont), \"/User/Penz/%s.ini\",nev);
if(!dini_Exists(Pont)) {
dini_Create(Pont);
dini_IntSet(Pont, \"Score\", 0);
SetPlayerScore(playerid, dini_Int(Pont, \"Score\"));
}
else
{
SetPlayerScore(playerid, dini_Int(Pont, \"Score\"));
}
return 1;
}
public OnPlayerDisconnect ( playerid )
{
GetPlayerName(playerid, nev, sizeof(nev));
format(Pont, sizeof(Pont), \"/User/Penz/%s.ini\",nev);
if(!dini_Exists(Pont)) {
}
else
{
dini_IntSet(Pont, \"Score\", GetPlayerScore(playerid));
}
GetPlayerName(playerid, nev, sizeof(nev));
format(penz, sizeof(penz), \"/User/Pont/%s.ini\",nev);
if(!dini_Exists(penz)) {
}
else
{
dini_IntSet(penz, \"Score\", GetPlayerMoney(playerid));
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!response) Kick(playerid);
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Rendben\", \"Mégsem\");
return 0;
}
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
dini_Create(File);
dini_Set(File, \"Pasword\", inputtext);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
}
}
if(dialogid == 2)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!response)
{
Kick(playerid);
}
format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
if(!strcmp(inputtext, PW, false))
{
SendClientMessage(playerid, -1, \"Sikeres belépés! Nyomj a \'SPAWN\' gombra!\");
}
else
{
WPW[playerid] ++;
SendClientMessage(playerid, -1, \"Rossz jelszó!\");
if(WPW[playerid] == 3)
{
Kick(playerid);
}
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad\", \"Oké\", \"Mégse\");
}
}
return 1;
}
stock Nev(playerid)
{
new Neve[MAX_PLAYER_NAME];
GetPlayerName(playerid, Neve, sizeof(Neve));
return Neve;
}
-
Köszönöm szépen. Úgy nem tudnád megcsinálni, hogy mikor a user mappában létrehoz egy felhasználót akkor abba írja bele pontot? Mert azt sikerült megoldanom hogy beleírja a pontot meg a pénzt de azt nem sikerült, hogy mikor pénzt és pontot szerez és kilép akkor az ini-t felülírja. :)