[AYUDA]Bloquear spawn
#1

Bueno me gustaria saver como bloqueo el spawn

ejemplo tu te has registrado y al entrar denuevo precionas spawn y te dice:

este nick ya esta registrado por favor use /login

gracias...

si no me entendieron aviesn
Reply
#2

creo q entendi:
si lo que quieres es que si el jugador esta registrado y no esta logueado no pueda spawnear puedes usar este codigo como guia:

debajo de los includes:
pawn Код:
forward Timer(playerid);
[pawn] new Registrado[MAX_PLAYERS], Logueado[MAX_PLAYERS];

pawn Код:
public OnPlayerSpawn(playerid)
{
  if(Registrado[playerid] == 1 && Logueado[playerid] == 0){
    SendClientMessage(playerid, 0xFF0000AA, "ERROR: Debes loguearte para poder spawnear");
    SetTimerEx("Timer", 2500,0,"d",playerid);
    return 1;
  }
  return 1;
}
pawn Код:
public Timer(playerid)
{
  SetPlayerHealth(playerid,0.0);
  ForceClassSelection(playerid);
}
Ahora para que este codigo funcione debes hacer algunas cosas:
1є cuando el jugador se registra debes crearle una cuenta(obvio)
2є cuando el jugador se conecte debes chequear si esta cuenta existe, y si existe debes setear Registrado[playerid] = 1
3є cuando se use "/login" debes setear Logueado[playerid] = 1(si la contraseсa es correcta(obviamente))
Espero que te haya sido de ayuda, cualquier cosa avisame.
Reply
#3

Quote:
Originally Posted by the_chaoz
creo q entendi:
si lo que quieres es que si el jugador esta registrado y no esta logueado no pueda spawnear puedes usar este codigo como guia:

debajo de los includes:
pawn Код:
forward Timer(playerid);
[pawn] new Registrado[MAX_PLAYERS], Logueado[MAX_PLAYERS];

pawn Код:
public OnPlayerSpawn(playerid)
{
  if(Registrado[playerid] == 1 && Logueado[playerid] == 0){
    SendClientMessage(playerid, 0xFF0000AA, "ERROR: Debes loguearte para poder spawnear");
    SetTimerEx("Timer", 2500,0,"d",playerid);
    return 1;
  }
  return 1;
}
pawn Код:
public Timer(playerid)
{
  SetPlayerHealth(playerid,0.0);
  ForceClassSelection(playerid);
}
Ahora para que este codigo funcione debes hacer algunas cosas:
1є cuando el jugador se registra debes crearle una cuenta(obvio)
2є cuando el jugador se conecte debes chequear si esta cuenta existe, y si existe debes setear Registrado[playerid] = 1
3є cuando se use "/login" debes setear Logueado[playerid] = 1(si la contraseсa es correcta(obviamente))
Espero que te haya sido de ayuda, cualquier cosa avisame.
porque no return 0? hace que no spawnee
Reply
#4

preferi que se muriera al spawnear xD
pero si tambien se puede usar return 0;
en mi script puse q se muera x eso xD
Reply
#5

aa gracias a los 2 las 2 me sirven pero especialmente me servia poner return 0 gracias de todos modos
Reply
#6

Bla bla bla, lo podнas hacer mucho mбs fбcil, si es lo que entendн:

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
  if(registrado[playerid] == false) // cambia "registrado" por tu variable para checkear si el jugador estб registrado...
  {
    SendClientMessage(playerid, COLOR, "Este nickname estб registrado, porfavor usa /login [contraseсa]!");
    return 0; // esta es la parte importante, aqui es donde se bloquea, para que no aparesca...
  }
  return 1;
}
Es mucho mбs simple y gasta mucha menos memoria (porque no tiene timers ni nada).
Reply
#7

Quote:
Originally Posted by SAWC™
Bla bla bla, lo podнas hacer mucho mбs fбcil, si es lo que entendн:

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
  if(registrado[playerid] == false) // cambia "registrado" por tu variable para checkear si el jugador estб registrado...
  {
    SendClientMessage(playerid, COLOR, "Este nickname estб registrado, porfavor usa /login [contraseсa]!");
    return 0; // esta es la parte importante, aqui es donde se bloquea, para que no aparesca...
  }
  return 1;
}
Es mucho mбs simple y gasta mucha menos memуria (porque no tiene timers ni nada).
ya dije que el timer es opcional por si queres como yo que el jugador muera al spawnear despues de X tiempo. despues el codigop es el mismo basicamente.
Reply
#8

kajdka sawc siempre me da la respuesta exacta gracias a todos por aportar
Reply
#9

Quote:
Originally Posted by SAWC™
Bla bla bla, lo podнas hacer mucho mбs fбcil, si es lo que entendн:

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
  if(registrado[playerid] == false) // cambia "registrado" por tu variable para checkear si el jugador estб registrado...
  {
    SendClientMessage(playerid, COLOR, "Este nickname estб registrado, porfavor usa /login [contraseсa]!");
    return 0; // esta es la parte importante, aqui es donde se bloquea, para que no aparesca...
  }
  return 1;
}
Es mucho mбs simple y gasta mucha menos memoria (porque no tiene timers ni nada).
Es casi el mismo codigo que el de chaoz solo que sin el timer.
Ademas, no es que si no esta registrado que no lo deje spawnear, es si esta registrado y no logueado.
Asique el codigo de the chaoz esta mejor hecho
Reply
#10

Esto no es una competencia, la idea es enseсarle como hacerlo. Йl puede sustituir la variable registrado por lo que le de la ***** gana.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)