-
Sziasztok! Létrehoztam egy regisztrációs rendszer, de amikor belépek ( létre van hozva a scriptfiles mappában a karakterek nevű mappa ) akkor regisztrálok elvileg, de nem hozza létre a file-t, nem menti le, amikor kilépek, utána bármilyen jelszóval betudok lépni. ( bejelentkezést kidobja, bármit beírok jó. )
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <dini>
#include <dubd>
#include <sscanf>
#include <zcmd>
enum JatekosAdatok
{
Penz,
Admin
}
new JatekosInfo[MAX_PLAYERS][JatekosAdatok];
new nev[MAX_PLAYER_NAME];
// Regisztráció 0
// Bejelentkezés 1
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
SetGameModeText(\"Blank Script\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
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];
new string[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(file, sizeof(file), \"/Karakterek/%s.ini\", nev);
if(!fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük regisztrálj \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
if(!fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük jelentkezz be! \\n\\nAdd meg a jelszavadat!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 0)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid,nev,sizeof(nev));
if(strlen(inputtext) == 0)
{
format(string,sizeof string, \"Üdv %s \\nKérjük regisztrálj \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, \"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_Set(file, \"Jelszo\", inputtext);
dini_IntSet(file, \"Penz\", 0);
dini_IntSet(file, \"Admin\", 0);
format(string,sizeof string, \"Üdv %s \\nRegisztrálva vagy! \\n\\nKérjük add meg a jelszavad!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
else
{
format(string,sizeof string, \"Üdv %s \\nRegisztrálva vagy! \\n\\nKérjük add meg a jelszavad!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
}
}
if(dialogid == 1)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid,nev,sizeof(nev));
if(strlen(inputtext) == 0)
{
format(string,sizeof string, \"Üdv %s \\nKérjük jelentkezz be! \\n\\nAdd meg a jelszavadat!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
format(file,sizeof(file), \"/Karakterek/%s.ini\", nev);
if(!fexist(file))
{
new jelszo[200];
format(jelszo,sizeof(jelszo), \"%s\", dini_Get(file, \"Jelszo\"));
if(strcmp(inputtext, jelszo) == 0)
{
JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
JatekosInfo[playerid][Admin] = dini_Int(file,\"Admin\");
}
else
{
SendClientMessage(playerid, -1, \"Hibás jelszó!\");
Kick(playerid);
}
}
}
}
return 1;
}
Illetve ezek a warningok miért vannak?
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(274) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(275) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(276) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(277) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(278) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(279) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(280) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(281) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(282) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(283) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(284) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(285) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(286) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(287) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(288) : warning 202: number of arguments does not match definition
C:\\Users\\Martin\\Desktop\\pawno\\include\\dubd.inc(289) : warning 202: number of arguments does not match definition
-
A játékos csatlakozásakor kétszer vizsgálod meg ugyan ezt a dolgot, teljesen feleslegesen, ráadásul értelme sincs.
if(!fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük regisztrálj \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
if(!fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük jelentkezz be! \\n\\nAdd meg a jelszavadat!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
helyett
if(!fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük regisztrálj \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
else
{
format(string,sizeof string, \"Üdv %s \\nKérjük jelentkezz be! \\n\\nAdd meg a jelszavadat!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
A warningokat viszont így nem tudom mi okozza, elküldenéd, hogy melyik sorokra mutatnak?
-
format(file,sizeof(file), \"/karakterek/%s.ini\", nev);
if(!fexist(file))
{
new jelszo[200];
format(jelszo,sizeof(jelszo), \"%s\", dini_Get(file, \"Jelszo\"));
if(strcmp(inputtext, jelszo) == 0)
{
JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
JatekosInfo[playerid][Admin] = dini_Int(file,\"Admin\");
}
else
{
SendClientMessage(playerid, -1, \"Hibás jelszó!\");
Kick(playerid);
}
}
}
Kijavítottam, létrehozza az ini fájlt, de amikor bejelentkezek tök mindegy milyen jelszót írok be, akkor is bedob.
-
#include <a_samp>
#include <dini>
#include <sscanf>
#include <zcmd>
enum JatekosAdatok
{
Penz,
Admin
}
new JatekosInfo[MAX_PLAYERS][JatekosAdatok];
new nev[MAX_PLAYER_NAME];
// Regisztráció 0
// Bejelentkezés 1
public OnFilterScriptInit() return 1;
public OnFilterScriptExit() return 1;
public OnPlayerRequestClass(playerid, classid)
{
new file[256];
new string[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(file, sizeof(file), \"/Karakterek/%s.ini\", nev);
if(!fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük regisztrálj \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
else if(fexist(file))
{
format(string,sizeof string, \"Üdv %s \\nKérjük jelentkezz be! \\n\\nAdd meg a jelszavadat!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new file[128];
new string[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file), \"/Karakterek/%s.ini\", nev);
if (dialogid == 0)
{
if(response)
{
if(!strlen(inputtext))
{
format(string,sizeof string, \"Üdv %s \\nKérjük regisztrálj \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
return 0;
}
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, \"Antibug\", 0);
dini_Set(file, \"Jelszo\", inputtext);
dini_IntSet(file, \"Penz\", 0);
dini_IntSet(file, \"Admin\", 0);
format(string,sizeof string, \"Üdv %s \\nRegisztrálva vagy! \\n\\nKérjük add meg a jelszavad!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
else
{
format(string,sizeof string, \"Üdv %s \\nRegisztrálva vagy! \\n\\nKérjük add meg a jelszavad!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
}
}
if(dialogid == 1)
{
if(response)
{
if(!strlen(inputtext))
{
format(string,sizeof string, \"Üdv %s \\nKérjük jelentkezz be! \\n\\nAdd meg a jelszavadat!\", nev);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
if(fexist(file))
{
new jelszo[200];
format(jelszo,sizeof(jelszo), \"%s\", dini_Get(file, \"Jelszo\"));
if(strcmp(inputtext, jelszo) == 0)
{
JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
JatekosInfo[playerid][Admin] = dini_Int(file,\"Admin\");
}
else
{
SendClientMessage(playerid, -1, \"Hibás jelszó!\");
Kick(playerid);
}
}
}
}
return 1;
}