Csinaáltam egy regisztrációs rendszert, de mikor fellépek szerverre, beírom a regisztrációnál a jelszót, rákattintok \"Bejelentkezés\", és nem tesz semmit, csak eltünik.. Mi lehet a baj?
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini> //segít lementeni a fájlokat
#include <dudb> //segít a dininek lementeni
#pragma unused ret_memcpy // Azért kell ide ez, mert enélkül ha csak simán include-oljuk a dini-t, akkor errort írna ki enélkül a parancs nélkül
#define VKEK 0x0ae9f5AA
#define SPIROS 0xc90000AA
#define ZOLD 0x07d700AA
#define FEHER -1
#define NARANCSPIROS 0xff2b00AA
#define KEK 0x0022ffAA
#define SCM SendClientMessage
#define regisztracio 0
#define bejelentkezes 1
enum JatekosAdatok
{
Penz,
Admin
}
new JatekosInfo [MAX_PLAYERS][JatekosAdatok];
new nev[MAX_PLAYER_NAME];
main()
{
print(\"\\n----------------------------------\");
print(\"A gamemode-t scritelte KrisT\");
print(\"----------------------------------\\n\");
}
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
SetGameModeText(\"AsdRPG\");
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];
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érjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\"); //ide
}
if(fexist(file))
{
format(string,sizeof string, \"Üdv %s! \\nKérjük jelentkezz be! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\"); //ide
}
return 1;
}
public OnPlayerConnect(playerid)
{
new uzenet[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(uzenet,sizeof(uzenet),\"Üdv a szerveren %s!\",nev);
SendClientMessage(playerid, VKEK,uzenet);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/mycommand\", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
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érjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\",nev);
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\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid,bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"belépés\",nev); //ide
PlayerPlaySound(playerid, 1057,0.0,0.0,0.0);
printf(\"%s regisztrált a szerverre!\",nev);
}
else
{
format(string, sizeof string, \"Üdv%s!\\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\",nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\",nev); // ide
}
}
}
if(dialogid == bejelentkezes)
{
if(response)
{
new file[128];
new string[128];
GetPlayerName(playerid, nev, sizeof(nev));
if(strlen(inputtext)==0)
{
format(string, sizeof string, \"Bejelentkezés \\n\\nÜdv /s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavad\"); //ide
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\",nev); //ide
return 0;
}
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] = dini_Int(file,\"Admin\");
}
else
{
SendClientMessage(playerid,SPIROS, \"Rossz jelszó!\");
printf(\"%s bejelentkezése sikertelen volt.\", nev);
Kick(playerid);
}
}
}
else
{
Kick(playerid);
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
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érjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadad!\", nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
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\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Belépek\", \"Kilépés\");
printf(\" %s regisztrált a szerverre!\", nev);
}
}
}
if(dialogid == bejelentkezes)
{
if(response)
{
new file [128];
new string [128];
new jelszo[64];
GetPlayerName(playerid, nev, sizeof(nev));
if(strlen(inputtext) == 0)
{
format(string, sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes,DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Belépek\", \"Kilépés\");
return 0;
}
format(file, sizeof(file),\"/Karakterek/%s.ini\",nev);
if(fexist(file))
{
format(jelszo, 64, \"%s\", dini_Get(file, \"Jelszo\"));
if(!strcmp(inputtext, jelszo, false))
{
JatekosInfo[playerid][Penz] = dini_Int(file, \"Penz\");
JatekosInfo[playerid][AdminSzint] = dini_Int(file, \"Admin\");
}
else
{
SendClientMessage(playerid, HIBA, \"Rossz jelszó !\");
Kick(playerid);
printf(\" %s bejelentkezése sikertelen volt.\", nev);
}
}
}
else
{
Kick(playerid);
}
}
Hozd létre a scriptfiles mappában a Karakterek mappát és mûködni fog.
Ja és a 65. sor ami ez:
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
Legyen ez:
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
[gmod]Javítottam helyetted a
taget
tagre![/gmod]
szimplán csak rossz dialogot adtál meg...
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, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\"); //ide
}
//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, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\"); //ide
}