return 0; }
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(response)
{
new
string[179],pFile[35];
format(pFile, 35, Player_File, GetName(playerid));
new
INI:UserFile = INI_Open(pFile);
INI_WriteInt(UserFile, "Password", udb_hash(inputtext));
INI_WriteInt(UserFile, "Admin", 0);
INI_WriteInt(UserFile, "Money", START_MONEY);
INI_WriteInt(UserFile, "Score", 0);
INI_WriteInt(UserFile, "Skin", SKIN_ID);
INI_WriteInt(UserFile, "Warn", 0);
INI_WriteInt(UserFile, "VIP", 0);
INI_Close(UserFile);
SetPVarInt(playerid, "Registered", 1);
SetPVarInt(playerid, "Logged", 1);
SpawnPlayer(playerid);
format(string, 125, ""COL_YELLOW"Name: "COL_WHITE"%s "COL_YELLOW"Password: "COL_WHITE"%s "COL_YELLOW"succesfuly registerd", GetName(playerid), inputtext);
SCM(playerid, 0x46BA29FF, string);
SpawnPlayer(playerid);
}
else Kick(playerid);
}
case DIALOG_LOGIN:
{
if(response)
{
new
pFile[35],dialog[128];
format(pFile, 35, Player_File, GetName(playerid));
INI_ParseFile(pFile, "LoadPlayerData", .bExtra = true, .extra = playerid);
if(udb_hash(inputtext) == P_Data[playerid][pPassword])
{
SetPVarInt(playerid, "Logged", 1);
SCM(playerid,-1,"Succesfuly login!");
}
else
{
format(dialog, sizeof(dialog),""COL_YELLOW"Name "COL_WHITE"%s "COL_YELLOW"is registered\n\n{FFFFFF}Please login", GetName(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FF0033}Welcome on my server",dialog, "Login", "Exit");
}
}
else Kick(playerid);
}
case DIALOG_CLICK:
{
if(!response) return SCM(playerid,-1,"Dialog is closed");
new
text[128];
switch(listitem)
{
case 0: {
Kick(GetPVarInt(playerid,"pplayerid"));
SetPVarInt(playerid,"pplayerid",999);
format(text,sizeof(text),"Admin %s is kick you from server!",GetName(playerid));
SCM(GetPVarInt(playerid,"pplayerid"),-1,text);}
case 1: {
Ban(GetPVarInt(playerid,"pplayerid"));
SetPVarInt(playerid,"pplayerid",999);
format(text,sizeof(text),"Admin %s is ban you from server!",GetName(playerid));
SCM(GetPVarInt(playerid,"pplayerid"),-1,text); }
case 2: {
ShowPlayerDialog(playerid,DIALOG_ADMIN,DIALOG_STYLE_INPUT,"Admin Control Panel","Type admin level [1-5]","Make","Лxit");
}
}
}
case DIALOG_ADMIN:
{
if(!response) return SCM(playerid,-1,"Dialog is closed");
new
string[128];
P_Data[GetPVarInt(playerid,"pplayerid")][pAdmin] = strval(inputtext);
format(string,sizeof(string),"Now you are admin level %d",strval(inputtext));
SCM(GetPVarInt(playerid,"pplayerid"),-1,string);
format(string,sizeof(string),"Player %s is now admin level %d",GetName(GetPVarInt(playerid,"pplayerid")),strval(inputtext));
SCM(playerid,-1,string);
SetPVarInt(playerid,"pplayerid",999);
}
case RCON_DIALOG:
{
if(!response) return SCM(playerid,-1,"Dialog is closed");
new
string[128];
switch(listitem)
{
case 0: {//Server name
ShowPlayerDialog(playerid,RCON_DIALOG+1,DIALOG_STYLE_INPUT,"Server name","Type new server name","Insert","Exit");
}
case 1: {//Map name
ShowPlayerDialog(playerid,RCON_DIALOG+2,DIALOG_STYLE_INPUT,"Map name","Type new map name","Insert","Exit");
}
case 2: {//Web adress
ShowPlayerDialog(playerid,RCON_DIALOG+3,DIALOG_STYLE_INPUT,"Web adress","Type new web adress","Insert","Exit");
}
case 3: {//Unlock
SendRconCommand("password 0");
}
case 4: {//lock
ShowPlayerDialog(playerid,RCON_DIALOG+4,DIALOG_STYLE_INPUT,"LOCK server","Type password for server","Insert","Exit");
}
case 5: {//GMX
format(string,sizeof(string),"Admin %s has restart server",GetName(playerid));
SCMToAll(-1,string);
SendRconCommand("gmx");
}
case 6: {//Password
ShowPlayerDialog(playerid,RCON_DIALOG+5,DIALOG_STYLE_INPUT,"Change password","Type new RCON password","Insert","Exit");
}
case 7: {//Turn Off
format(string,sizeof(string),"Admin %s has shutted down server",GetName(playerid));
SCMToAll(-1,string);
SendRconCommand("exit");
}
}
}
case RCON_DIALOG+1:
{
new string[32];
format(string, 16, "hostname %s",inputtext);
SendRconCommand(string);
}
case RCON_DIALOG+2:
{
new string[32];
format(string, 16, "mapname %s",inputtext);
SendRconCommand(string);
}
case RCON_DIALOG+3:
{
new string[32];
format(string, 16, "weburl %s",inputtext);
SendRconCommand(string);
}
case RCON_DIALOG+4:
{
new string[32];
format(string, 16, "password %s",inputtext);
SendRconCommand(string);
}
case RCON_DIALOG+5:
{
new string[32];
format(string, 16, "rcon_password %s",inputtext);
SendRconCommand(string);
}
}
return 1;
}
|
Try to explain it better and post the code only for the thing you need fixed please.
|
return 1
}
return 0
}
|
Return Values for Dialogs:
1: The function executed successfully. 0: The function failed to execute. This means the player is not connected. so problem must be at code in other Filterscript, show us that code. |
|
Originally Posted by wiki
Return Values:
Returning 0 in this callback will pass the dialog to another script in case no matching code were found in your gamemode's callback. It is always called first in filterscripts so returning 1 there blocks other filterscripts from seeing it. |
|
It HAS to be return 0 for the callback, otherwise no other scripts OnDialogResponse will be called.
Nothing at all to do with the player, not being connected. |
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if all this stuff in here
{
Extra stuff and bits and bobs
}
return 0; //<<===
}
|
return 0, just needs to be at the end of the callback in your gamemode.
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if all this stuff in here
{
Extra stuff and bits and bobs
}
return 0; //<<===
}
Mess about with it, and see what goes on. The more you look at things, and process it, the more you will learn over it. |