13.12.2009, 20:41
Bueno, todo empezу cuando yo decidн hacer un registro y login con showplayerdialog. Lo habнa hecho y saliу bien, pero cuando relogeaba o cerraba el juego, volvнa a entrar y tenнa que registrarme nuevamente.
Un amigo me pasу su dialog, aquн se los muestro: (este es el onplayerconnect)
Y aquн abajo el ondialogresponse:
Bueno, al compilar me tira esto:
C:\ARCHIV~1\MI4868~1\Script\server\GAMEMO~2\GMZ.pw n(52343) : warning 209: function "OnDialogResponse" should return a value
C:\ARCHIV~1\MI4868~1\Script\server\GAMEMO~2\GMZ.pw n(52344) : error 010: invalid function or declaration
Las lineas que aparecen ahн son respectivamente las anteultimas del ondialogresponse.
Intentй con sacar el return, y hasta darle valor 1, y nada...
Si alguien me puede ayudar gracias, es muy urgente xd.
Saludos
Un amigo me pasу su dialog, aquн se los muestro: (este es el onplayerconnect)
Код:
new string[256]; GetPlayerName(playerid, plname, sizeof(plname)); format(string, sizeof(string), "cuentas/%s.ini", plname); if(fexist(string)) { gPlayerAccount[playerid] = 1; new s[128]; new loginname[MAX_PLAYER_NAME]; GetPlayerName(playerid,loginname,MAX_PLAYER_NAME); format(s,sizeof(s),"Bienvenido, %s!\n\nEscribe tu contraseсa y logeate!",loginname); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Panel de Logeo por Sergio",s,"Entrar","Cancelar"); return 1; } else { gPlayerAccount[playerid] = 0; new s[128]; new loginname[MAX_PLAYER_NAME]; GetPlayerName(playerid,loginname,MAX_PLAYER_NAME); format(s,sizeof(s),"Bienvenido, %s!\n\n Como eres nuevo por aquн, ingresa tu contresaсe abajo y regнstrate.",loginname); ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Panel de Registro por Sergio",s,"Registrarse","Cancelar"); return 1;// parece que si }
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new sendername[MAX_PLAYER_NAME]; new string[128]; if(response) { if(dialogid == 1) { if(strlen(inputtext)) { new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); Encrypt(tmppass); OnPlayerLogin(playerid,tmppass); } else { new loginstring[128]; new loginname[64]; GetPlayerName(playerid,loginname,sizeof(loginname)); format(loginstring,sizeof(loginstring),"CONTRASENA INCORRECTA\nIngresa la contrasena correcta.\n Si fallas mбs de 4 veces quedarбs baneado:",loginname); ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Iniciar Sesion",loginstring,"Conectar","Salir"); gPlayerLogTries[playerid] += 1; if(gPlayerLogTries[playerid] == 4) { Ban(playerid); } } } if(dialogid == 2) { if(strlen(inputtext)) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "cuentas/%s.ini", sendername); new File: hFile = fopen(string, io_read); if (hFile) { SendClientMessage(playerid, COLOR_YELLOW, "Este nombre Ya Existe, porfavor elije otro."); fclose(hFile); return 1; } new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); Encrypt(tmppass); OnPlayerRegister(playerid,tmppass); } else { new regstring[128]; new regname[64]; GetPlayerName(playerid,regname,sizeof(regname)); format(regstring,sizeof(regstring),"Bienvenido, %s\nIngresa tu contrasena para Registrar tu cuenta:",regname); ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrar",regstring,"Registrar","Salir"); } } if(!strlen(inputtext)) { new loginmsg[] = "CONTRASENA INCORRECTA\nIngresa la contrasena correcta\npara logear:"; ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Iniciar Sesion", loginmsg, "Conectar", "Salir"); } else if(response == 0) { Kick(playerid); } } } return 0; }
C:\ARCHIV~1\MI4868~1\Script\server\GAMEMO~2\GMZ.pw n(52343) : warning 209: function "OnDialogResponse" should return a value
C:\ARCHIV~1\MI4868~1\Script\server\GAMEMO~2\GMZ.pw n(52344) : error 010: invalid function or declaration
Las lineas que aparecen ahн son respectivamente las anteultimas del ondialogresponse.
Intentй con sacar el return, y hasta darle valor 1, y nada...
Si alguien me puede ayudar gracias, es muy urgente xd.
Saludos