24.10.2015, 01:04
Buenas Tengo Contratado un VPS Linux con AntiDDoS y tengo el problema que lo tumban o asen crashear mi server,
primero pense que era un atake dos ( o nose ) pero dicen que si fuera un atake dos, el vps se apagaria y no podria entrar con el putty a encenderlo denuevo mi gamemode.
GM BASE ZC
Luego en el soporte del vps me dijeron que le agrege el plugin crashdetect para detectar cual era el problema en mi server por el vps sige activo y mi server osea mi gamemode es el que se crashea los dialogos.
Tambien lei que se deve limitar los caracteres al entrar,logearse, registrate etc ,cambiar algunas cosas en los Dialog dentro del script que son conflictivos ( eso enque parte se soluciona )
con ese plugin crashdetect tuve la informacion que necesitava y me sale esto en el log:
y en su archivo del que ingreso Ramon_Mendezzs no hay nada dentro de su archivo, no hay contraseсa no hay nada, esto quiere decir que no se logeo ni puso su contraseсa y se aprovecho de un dialogo supongo e iso el crash.
Nota: Explicare que esta pasando: el que esta asiendo esto es lastimosamente un niсo que va al colegio aun y que a visto algun video o texto para crashear al parecer los dialogos de mi server base ZC , aun lo tengo agregado al face ( lo bloquee anteriormente pero lo agrege denuevo para ver que esta asiendo para crashear mi server ) y asi encontrar la solucion y decirle que lo intente denuevo tumbarlo hasta encontrar la solucion.
paso los dodigos de OnDialogResponse:
Es muy largo todo el codigo y parece que esto tambien es importante para que vean:
aki mis warnings de mi gm base zc:
cuando ingresa antes de logearse y o registrarse ase el crash osea lo ase antes de entrar al server por que no crea su cuenta ( su cuenta esta vacia no se logeo con ninguga contraseсa) osea cuenta esta vacia ( antes de poner contraseсa lo ase el crash )
que codigo devo mostrar para que me ayuden
le paso esto sale en onplayerconnect:
Lei que esta asiendo crash en los dialogos ( pero lo ase antes de crear cuenta, antes de poner contraseсa)
Grasias por responder amigos. ayuden Grasias.
primero pense que era un atake dos ( o nose ) pero dicen que si fuera un atake dos, el vps se apagaria y no podria entrar con el putty a encenderlo denuevo mi gamemode.
GM BASE ZC
Luego en el soporte del vps me dijeron que le agrege el plugin crashdetect para detectar cual era el problema en mi server por el vps sige activo y mi server osea mi gamemode es el que se crashea los dialogos.
Tambien lei que se deve limitar los caracteres al entrar,logearse, registrate etc ,cambiar algunas cosas en los Dialog dentro del script que son conflictivos ( eso enque parte se soluciona )
con ese plugin crashdetect tuve la informacion que necesitava y me sale esto en el log:
Quote:
1 [join] Ramon_Mendezzs has joined the server (1:198.144.105.179) SAMP:Cuentas guardadas correctamente. [debug] Server crashed while executing VZRP.amx [debug] AMX backtrace: [debug] #0 00000033 in INI_AddToBuffer (INI:file=57, name[]=@0x00000000 "", data[]=@0x0143ca40 "0000001659309359") at <unknown file>:0 [debug] #1 0001aacc in ?? (... <13 arguments>) at E:\F CRISTOPER\Cristoper 2015\2015 SAMP\GAMEMODES 2016\MI SERVER 2017 COPIA DE SEGURIDAD 2\MiserverRoleplay\pawno\include\YSI\y_ini.inc:107 3 [debug] #2 00000033 in public S@@_OnDialogResponse () at <unknown file>:0 |
Nota: Explicare que esta pasando: el que esta asiendo esto es lastimosamente un niсo que va al colegio aun y que a visto algun video o texto para crashear al parecer los dialogos de mi server base ZC , aun lo tengo agregado al face ( lo bloquee anteriormente pero lo agrege denuevo para ver que esta asiendo para crashear mi server ) y asi encontrar la solucion y decirle que lo intente denuevo tumbarlo hasta encontrar la solucion.
paso los dodigos de OnDialogResponse:
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new sendername[MAX_PLAYER_NAME],giveplayer[MAX_PLAYER_NAME]; new idcar = GetPlayerVehicleID(playerid),string[256]; GetPlayerName(playerid, sendername, sizeof(sendername)); if(!isnull(inputtext)) { if(strfind(inputtext, "%s", true) != -1) { format(string, sizeof(string), " %s (ID %d) es un posible dialog-exploiting, intenta enviar string en blanco mediante diбlogos.", GetPlayerNameEx(playerid), playerid); ABroadCast(COLOR_ORANGE, string, 2); format(string, sizeof(string), "%s a intentado insertar un falso string en un diбlogo. [Exploit]", GetPlayerNameEx(playerid)); Log("logs/reportbug.log", string); Kick(playerid); return 1; } } if(dialogid == MPSPAYTICKETS) { if(response) { new szMessage[128]; if(Info[playerid][pWantedLevel] != 0) { format(szMessage, sizeof(szMessage), "%s intenta pagar multas y es buscado por la policнa - Nivel de bъsqueda: %i.", GetPlayerNameEx(playerid), Info[playerid][pWantedLevel]); SendRadioMessage(1, TEAM_RADIO_COLOR, szMessage); SendRadioMessage(2, TEAM_RADIO_COLOR, szMessage); return SendClientMessageEx(playerid, COLOR_YELLOW, "La policнa ha dado comunicado que usted estб buscado, y estбn en camino."); } if(PlayerVehicleInfo[playerid][listitem][pvTicket]) { if(GetPlayerCash(playerid) < PlayerVehicleInfo[playerid][listitem][pvTicket]) { return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes suficiente dinero para pagar la multa."); } GivePlayerCash(playerid, -PlayerVehicleInfo[playerid][listitem][pvTicket]); Tax += PlayerVehicleInfo[playerid][listitem][pvTicket]; format(szMessage, sizeof(szMessage), "Pagaste la multa de $%d de tu %s.", PlayerVehicleInfo[playerid][listitem][pvTicket], VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400]); SendClientMessageEx(playerid, COLOR_GRAD2, szMessage); PlayerVehicleInfo[playerid][listitem][pvTicket] = 0; } else if(PlayerVehicleInfo[playerid][listitem][pvImpounded]) { new iCost = (PlayerVehicleInfo[playerid][listitem][pvPrice] / 20) + PlayerVehicleInfo[playerid][listitem][pvTicket] + (Info[playerid][pLevel] * 2); if(GetPlayerCash(playerid) < iCost) { return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes suficiente dinero para pagar la multa."); } format(szMessage, sizeof(szMessage), "Liberaste tu %s por $%i.", VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400], iCost); SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage); SendClientMessageEx(playerid, COLOR_GRAD2, "Tu auto se encuentra en el depуsito municipal, puedes abrir la reja usando /deposito."); GivePlayerCash(playerid, -iCost); Tax += iCost; PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0; PlayerVehicleInfo[playerid][listitem][pvPosX] = 1655.4379; PlayerVehicleInfo[playerid][listitem][pvPosY] = -1829.5668; PlayerVehicleInfo[playerid][listitem][pvPosZ] = 13.2677; PlayerVehicleInfo[playerid][listitem][pvPosAngle] = 91.6165; PlayerVehicleInfo[playerid][listitem][pvTicket] = 0; PlayerVehicleInfo[playerid][listitem][pvVW] = 0; ++PlayerCars; PlayerVehicleInfo[playerid][listitem][pvId] = CreateVehicle(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1); SetPlayerVirtualWorld(PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvVW]); VehicleFuel[PlayerVehicleInfo[playerid][listitem][pvId]] = PlayerVehicleInfo[playerid][listitem][pvFuel]; if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvLock]); LoadPlayerVehicleMods(playerid, listitem); } else SendClientMessageEx(playerid, COLOR_GRAD2, "Este coche, o bien no existe, o no es necesario liberar o tiene sus multas pagadas."); } return 1; }
Код:
case DIALOG_REG_MSN: { if(response == 1) { new rt[] = "{FFFFFF}Gracias por confirmar los datos de tu personaje,\nahora podrбs empezar a jugar.\n\nRecuerda leйr las {6E9AFF}/reglas{FFFFFF}.\nSuerte! Gracias por preferirnos\n\nїPreparado?"; SafeDialogEx(playerid,DIALOG_REG_TUT,DIALOG_STYLE_MSGBOX,"{00A1FF}Fin del registro", rt,"Empezar",""); } else { SetTimerEx("FreezePlayer", 1000, false, "i", playerid); ClearChatbox(playerid); gNewbie[playerid]=1; gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1; SetPosEx(playerid,1649.5704,-2286.4312,-1.2097,271.8517,0,playerid); SetPlayerCameraPos(playerid,423.3802,-2067.7915,29.8605); SetPlayerCameraLookAt(playerid,370.0804,-2087.8767,7.8359); Info[playerid][pAge] = 30; Info[playerid][pSex] = 1; new sex[]= "{FFFFFF}їDe quй sexo serб tu personaje?:\n"; SafeDialogEx(playerid,REG_SEX,DIALOG_STYLE_MSGBOX, "Sexo", sex, "Hombre", "Mujer"); } } case DLOGIN: { if(response == 1) { if(udb_hash(inputtext) == Info[playerid][pKey]) { InsideMainMenu[playerid] = false; INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid); KillTimer(LoginTimer[playerid]); OnPlayerLogin(playerid); } else { new ip[32]; new titlestring[64]; GetPlayerIp(playerid, ip, 32); format(titlestring, sizeof(titlestring), "{FFFFFF}%s", GetPlayerNameEx(playerid)); format(string, sizeof(string), "{FFFFFF}Ingresa tu contraseсa para conectarte\n\n{0197D7}Contraseсa:", ip); SafeDialogEx(playerid,DLOGIN,DIALOG_STYLE_PASSWORD ,titlestring,string,"Entrar","Salir"); SetPlayerVirtualWorld(playerid, 20); return 1; } } else { SendClientMessageEx(playerid, COLOR_GENERAL, "Fuiste expulsado del servidor automбticamente."); Kick(playerid); } return 1; } case DREGISTER: { if (response == 1) { if(strlen(inputtext) > 24) { new ip[32]; new titlestring[64]; GetPlayerIp(playerid, ip, 32); format(titlestring, sizeof(titlestring), "{FF8000}Error: {FFFFFF}%s", GetPlayerNameEx(playerid)); format(string, sizeof(string), "{FFFFFF}Contraseсa con un mбximo de 24 carбcteres!\n\n%s Ingresa una contraseсa valida para registrarte en el servidor:\n\n{FF8000}Contraseсa:", GetPlayerNameEx(playerid)); SafeDialogEx(playerid,DREGISTER,DIALOG_STYLE_PASSWORD ,titlestring,string,"Registrar","Salir"); SetPlayerVirtualWorld(playerid, 20); return 1; } if(isnull(inputtext)) { new ip[32]; new titlestring[64]; GetPlayerIp(playerid, ip, 32); format(titlestring, sizeof(titlestring), "{FF8000}Registro: {FFFFFF}%s", GetPlayerNameEx(playerid)); format(string, sizeof(string), "{FFFFFF}Direccion IP: %s\nBienvenido a America United RolePlay\nIngresa una contraseсa para registrarte en el servidor.\n\n{FF8000}Contraseсa.", ip); SafeDialogEx(playerid,DREGISTER,DIALOG_STYLE_PASSWORD,titlestring,string,"Registrar","Salir"); return 1; } InsideMainMenu[playerid] = false; OnPlayerRegister(playerid,inputtext); KillTimer(LoginTimer[playerid]); return 1; } else { SendClientMessageEx(playerid, COLOR_GENERAL, "Fuiste expulsado del servidor automбticamente."); Kick(playerid); } return 1; } case CARSPAWN: { if (response == 1) { if(PlayerVehicleInfo[playerid][listitem][pvImpounded] == 1) return SendClientMessageEx(playerid,COLOR_WHITE,"El auto que intenta spawnear estб embargado."); if(PlayerVehicleInfo[playerid][listitem][pvImpounded] >= 2) PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0; if(PlayerVehicleInfo[playerid][listitem][pvModelId] != 0 && PlayerVehicleInfo[playerid][listitem][pvImpounded] == 0 && PlayerVehicleInfo[playerid][listitem][pvSpawned]== 0) { if(carsforplayer[playerid] == 8) return SendClientMessageEx(playerid,COLOR_WHITE,"* Sуlo puedes tener 8 coches spawneados."); PlayerCars++; carsforplayer[playerid]++; new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1); PlayerVehicleInfo[playerid][listitem][pvId] = carcreated; VehicleFuel[carcreated] = PlayerVehicleInfo[playerid][listitem][pvFuel]; SetVehicleHealth(carcreated, PlayerVehicleInfo[playerid][listitem][pvHealth]); SetVehicleVirtualWorld(carcreated, PlayerVehicleInfo[playerid][listitem][pvVW]); PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1; SendClientMessageEx(playerid,COLOR_WHITE,"Vehiculo spawneado correctamente, en la ъltima posiciуn que lo estacionaste. (/localizar)"); if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvLock]); LoadPlayerVehicleMods(playerid, listitem); return 1; } else if(PlayerVehicleInfo[playerid][listitem][pvSpawned] == 1) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); //printf(" Unloading %s's vehicles.", playername); new Float:health; GetVehicleHealth(PlayerVehicleInfo[playerid][listitem][pvId], health); if(health < 500) return SendClientMessageEx(playerid, COLOR_GREY, " El vehiculo estб muy daсado para ser guardado."); if(IsVehicleBusy(PlayerVehicleInfo[playerid][listitem][pvId])) return SendClientMessageEx(playerid, COLOR_GREY, " El vehiculo estб ocupado por otra persona y no puede ser guardado."); if(PlayerVehicleInfo[playerid][listitem][pvImpounded] >= 2) PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0; if(PlayerVehicleInfo[playerid][listitem][pvId] != INVALID_PLAYER_VEHICLE_ID && PlayerVehicleInfo[playerid][listitem][pvImpounded] == 0 && PlayerVehicleInfo[playerid][listitem][pvSpawned]== 1) { PlayerCars--; carsforplayer[playerid]--; if(LockStatus[PlayerVehicleInfo[playerid][listitem][pvId]] != 0) LockStatus[PlayerVehicleInfo[playerid][listitem][pvId]] = 0; UpdatePlayerVehicleMods(playerid, listitem); DestroyVehicle(PlayerVehicleInfo[playerid][listitem][pvId]); VehicleFuel[PlayerVehicleInfo[playerid][listitem][pvId]] = 1000; PlayerVehicleInfo[playerid][listitem][pvId] = INVALID_PLAYER_VEHICLE_ID; PlayerVehicleInfo[playerid][listitem][pvSpawned] = 0; SendClientMessageEx(playerid,COLOR_WHITE,"Tu vehнculo fue guardado correctamente."); if(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] != INVALID_PLAYER_ID) { Info[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID; Info[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeysFrom] = INVALID_PLAYER_ID; PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] = INVALID_PLAYER_ID; } } } } } } return 1; }
Quote:
pwn(2683) : warning 213: tag mismatch pwn(20961) : warning 204: symbol is assigned a value that is never used: "Distance" pwn(20981) : warning 204: symbol is assigned a value that is never used: "Distance" pwn(35826) : warning 202: number of arguments does not match definition pwn(40349) : warning 219: local variable "YSI_timer" shadows a variable at a preceding level .pwn(42364) : warning 203: symbol is never used: "carcreated" .pwn(42360) : warning 204: symbol is assigned a value that is never used: "oldfuel" .pwn(42344) : warning 203: symbol is never used: "health" .pwn(43836) : warning 204: symbol is assigned a value that is never used: "Distance" .pwn(4387 : warning 204: symbol is assigned a value that is never used: "Distance" .pwn(44094) : warning 203: symbol is never used: "Chocones" .pwn(44094) : warning 203: symbol is never used: "PlayerPos" .pwn(44094) : warning 203: symbol is never used: "Presidente" .pwn(43853) : warning 204: symbol is assigned a value that is never used: "PuertaRobo" .pwn(43895) : warning 204: symbol is assigned a value that is never used: "PuertaRobo1" .pwn(1236 : warning 204: symbol is assigned a value that is never used: "gTime" .pwn(12423) : warning 204: symbol is assigned a value that is never used: "gWeather" .pwn(12423 -- 44094) : warning 203: symbol is never used: "strinmode" |
que codigo devo mostrar para que me ayuden
le paso esto sale en onplayerconnect:
Код:
public OnPlayerConnect(playerid) { // PlayAudioStreamForPlayer(playerid,"http://ciavarro.com/music/random/12_-Toxicity.mp3"); // XTR MUSICA INICIO PlayAudioStreamForPlayer(playerid,"https://dl.dropbox.com/u/100949615/eve%20w%20gwen%20stefani%20-%20scorpion%20-%20let%20me%20blow%20your%20mind.mp3"); // XTR MUSICA INICIO if(IsPlayerNPC(playerid)) return 1; new playerIP[16]; GetPlayerIp(playerid, playerIP, sizeof(playerIP)); SetPlayerColor(playerid,COLOR_GRAD2); if (CheckBan(playerIP) == 1) { SetPlayerName(playerid, "BannedPlayer"); SendClientMessage(playerid, COLOR_ORANGE, " Lo sentimos, te encuentras baneado de este servidor."); Kick(playerid); return 1; } TotalConnect++; resetPlayerVariables(playerid); MapsRemoveForPlayer(playerid); ClearMarriage(playerid); SyncPlayerTime(playerid); SetPVarInt(playerid,"Trabajando",0); SetPVarInt(playerid,"TomoCarpintero",0); SetPVarInt(playerid,"MueblesCreados",0); ShowMenuLogin(playerid); if(Iter_Count(Player) > MaxPlayersConnected) { MaxPlayersConnected = Iter_Count(Player); gettime(MPHour,MPMinute); getdate(MPYear,MPMonth,MPDay); } if(MaxPlayersConnected > 400) MaxPlayersConnected = 400; // Temp good fix new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); if(!INI_Exist(playername)) // If exists in Y_ini { if(doesAccountExist(playername)) // If exists in .ini { ConvertAccount(playerid); // Convert Account to y_ini return 1; } } SetTimerEx("SafeLogin", 4000, 0, "d", playerid); return 1; } function SafeLogin(playerid) { /// XTR ELIMINO ESTO INICIO /* SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); SendClientMessageEx(playerid, COLOR_NEGRO, ""); */ /// XTR ELIMINO ESTO FIN ClearChatbox(playerid); // XTR AUMENTE TAMBIEN AKI ( BORRRAR SI NO DA ) TextDrawHideForPlayer(playerid, cargando); TextDrawHideForPlayer(playerid, looking); TextDrawHideForPlayer(playerid, box); SetPlayerJoinCamera(playerid); new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); //LoginTimer[playerid] = SetTimerEx("TimerLogin",30000000,0,"d",playerid); if(INI_Exist(playername)) { gPlayerAccount[playerid] = 1; ShowMainMenuDialog(playerid, 1); return 1; } else { if(strcmp(playername, "Zerox", false) == 0) return 1; // https://sampwiki.blast.hk/wiki/Strcmp if(strfind( playername, "_", true) == -1) { SetPlayerName(playerid, "InvalidNick"); SendClientMessageEx(playerid, COLOR_WHITE, "Porfavor usa el formato correcto: Nombre_Apellido"); SendClientMessageEx(playerid, COLOR_WHITE, "Vuelve a entrar con el formato indicado." ); Kick(playerid); } else { gPlayerAccount[playerid] = 0; ShowMainMenuDialog(playerid, 2); } return 1; } } ShowMainMenuDialog(playerid, frame) { new titlestring[28]; new string[256]; InsideMainMenu[playerid] = true; switch(frame) { case 1: { INI_ParseFile(UserPath(playerid), "LoadUser_pass", .bExtra = true, .extra = playerid); new ip[32]; PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0); GetPlayerIp(playerid, ip, 32); format(titlestring, sizeof(titlestring), "{0197D7}%s", GetPlayerNameEx(playerid)); format(string, sizeof(string), "{FFFFFF}Ingresa tu contraseсa para conectarte\n\n{0197D7}Contraseсa:", ip); SafeDialogEx(playerid,DLOGIN,DIALOG_STYLE_PASSWORD ,titlestring,string,"Entrar","Salir"); SetPlayerVirtualWorld(playerid, 20); } case 2: { new ip[32]; PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0); GetPlayerIp(playerid, ip, 32); format(titlestring, sizeof(titlestring), "{0197D7}%s", GetPlayerNameEx(playerid)); format(string, sizeof(string), "{FFFFFF}Bienvenido a America United Roleplay\nIngresa una contraseсa para registrarte en el servidor.\n\n{0197D7}Contraseсa:", ip); SafeDialogEx(playerid,DREGISTER,DIALOG_STYLE_INPUT ,titlestring,string,"Registrar","Salir"); SetPlayerVirtualWorld(playerid, 20); } } } ShowMenuLogin(playerid) { ClearChatbox(playerid); new string[128]; for(new i = 0; i < 9; i++) { TextDrawShowForPlayer(playerid, LoginMenu[i]); } TextDrawShowForPlayer(playerid, cargando); TextDrawShowForPlayer(playerid, looking); TextDrawShowForPlayer(playerid, box); TextDrawHideForPlayer(playerid, VortexZone); TextDrawSetString(MOTD, string); TextDrawShowForPlayer(playerid, MOTD); TextDrawSetString(LoginMenu[8], string); return 1; } HideMenuLogin(playerid) { TextDrawHideForPlayer(playerid, MOTD); for(new i = 0; i < 9; i++) { TextDrawHideForPlayer(playerid, LoginMenu[i]); } TextDrawShowForPlayer(playerid, VortexZone); return 1; } //function TimerLogin(playerid) //{ // SendClientMessage(playerid,COLOR_GENERAL,"*Fuiste expulsado, por no entrar.."); // SetPlayerName(playerid,"InvalidNick"); // Kick(playerid); //}
Grasias por responder amigos. ayuden Grasias.