16.03.2012, 03:33
Buenas.
Estoy comenzando ah hacer un GM desde 0. Eh creado un punto de spawn cuando el jugador muere. (lo cree en base a un tutorial que vi) Pero al principio todo bien, pero llega un momento que cada vez que muero. me sale el boton SPAWN y si le doy click, me sale asi:
Pongo los codigos para mostrarles como lo tengo:
La coordenada del hospital esta en un #define
La variable
Yo pienso que aqui esta el problema de todo:
LO que es cuando un user se registra lo tengo puesto aqui:
Al final de todo tengo esto:
Estoy comenzando ah hacer un GM desde 0. Eh creado un punto de spawn cuando el jugador muere. (lo cree en base a un tutorial que vi) Pero al principio todo bien, pero llega un momento que cada vez que muero. me sale el boton SPAWN y si le doy click, me sale asi:
Pongo los codigos para mostrarles como lo tengo:
La coordenada del hospital esta en un #define
pawn Код:
#define Hospital 1178.4025,-1323.0923,14.1183
pawn Код:
new bool:Murio[MAX_PLAYERS];
pawn Код:
public OnPlayerSpawn(playerid)
{
if(Murio[playerid] == true)
{
SetPlayerPos(playerid,Hospital); // especifico la variable del hospital
SendClientMessage(playerid,-1,"Te moriste. Te cobraron 500$");
Murio[playerid] = false;
return 1;
}
TextDrawShowForPlayer(playerid,Text:RolMaximo);
SetCameraBehindPlayer(playerid); // No se si esto tenga que ver en algo
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
Murio[playerid] = true;// aquн la variable
return 1;
}
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new REGISTRANDO[256];
new INGRESANDO[256];
GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
format(REGISTRANDO,sizeof(REGISTRANDO),"{FFFFFF}La Cuenta Con El Nombre: %s {FF0000}No Esta Registrada {FFFFFF}\nEscribe Una Contraseсa Para Guardar Tu Cuenta:",PlayerName);
format(INGRESANDO,sizeof(INGRESANDO),"{FFFFFF}La Cuenta Con El Nombre: %s {00FF00}Esta Registrada {FFFFFF}\nEscribe Tu Contraseсa Para Entrar:",PlayerName);
if (dialogid == REGISTRO)
{
new nombrejugador[MAX_PLAYER_NAME], archivo[256];
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro", REGISTRANDO , "{FFFFFF}Registrar", "{FFFFFF}Cancelar");
if (!response) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro",REGISTRANDO, "Registrar", "Cancelar");
GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
dini_Create(archivo);
dini_Set(archivo, "Usuario", nombrejugador);
dini_Set(archivo, "Contraseсa", inputtext);
dini_IntSet(archivo, "Admin", PlayerInfo[playerid][Admin]);
dini_IntSet(archivo, "Dinero", GetPlayerMoney(playerid));
ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "Ingresar", INGRESANDO, "Ingresar", "Cancelar");
return 1;
}
// aqui cuando carga los datos
if (dialogid == INGRESO)
{
new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Ingresar", INGRESANDO , "{FFFFFF}Ingresar", "{FFFFFF}Cancelar");
if (!response) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Ingresar", INGRESANDO , "Ingresar", "Cancelar");
GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Contraseсa"));
if (!strcmp (inputtext, comprobante))
{
PlayerInfo[playerid][Registrado] = 1;
PlayerInfo[playerid][Identificado] = 1;
PlayerInfo[playerid][Admin] = dini_Int(archivo, "Admin");
SetPlayerScore(playerid, dini_Int(archivo, "Nivel"));
GivePlayerMoney(playerid,dini_Int(archivo, "Dinero"));
PlayerPlaySound(playerid, 1053, 0.0, 0.0, 0.0);
Spawnear(playerid); // supongo que aqui va esto para que spawnee automaticamente, sin necesidad de presionar el boton spawn
}
else
{
PlayerPlaySound(playerid, 1053, 0.0, 0.0, 0.0);
SendClientMessage(playerid, 0xFF0000FF, "Contraseсa Incorrecta");
ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "Ingresar", INGRESANDO , "Ingresar", "Cancelar");
ContrasenaIncorrecta[playerid]++;
if(ContrasenaIncorrecta[playerid] == Maximo_Contraseсas_Incorrectas)
{
SendClientMessage(playerid, 0xFF0000FF, "Las Contraseсas Ingresadas No Coinciden Con El Nombre De La Cuenta");
Kick(playerid);
}
}
}
return 1;
}
pawn Код:
stock Spawnear(playerid)
{
SetSpawnInfo(playerid,0,0,0,0,0,0,0,0,0,0,0,0);
SpawnPlayer(playerid);
}