duda chat -
hensr - 06.09.2014
hola que tal mi duda es como podria bloquear el chat al conectarse y que solo se pudiera usar si el jugador spawnea gracias de antemano
Respuesta: duda chat -
aoEXE - 06.09.2014
has una variable global, que cuando un jugador se conecte estй en false a playerid, luego en OnPlayerText usas una restricciуn que si esa variable de playerid estб en false retorne 0. Luego en OnPlayerRequestSpawn pones esto:
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
Variable[playerid] = true;
return 1;
}
Es sencillo, puedes hacerlo
Respuesta: duda chat -
ErickPuga234 - 06.09.2014
Arriba de todo tu GM
pawn Код:
new VariableBloqueo[MAX_PLAYERS];
en OnPlayerConnect
pawn Код:
public OnPlayerConnect(playerid)
{
VariableBloqueo[playerid] = 1;
// lo que tengas
return 1;
}
En OnPlayerText
pawn Код:
public OnPlayerText(playerid, text[])
{
if(VariableBloqueo[playerid] == 0)
{
// Lo que tengas
return 0;
}
y en OnPlayerSpawn
pawn Код:
public OnPlayerSpawn(playerid)
{
VariableBloqueo[playerid] = 0;
//lo que tengas
return 1;
}
Respuesta: duda chat -
Zodiaco - 06.09.2014
Quote:
Originally Posted by ErickPuga234
Arriba de todo tu GM
pawn Код:
new VariableBloqueo[MAX_PLAYERS];
en OnPlayerConnect
pawn Код:
public OnPlayerConnect(playerid) { VariableBloqueo[playerid] = 1; // lo que tengas return 1; }
En OnPlayerText
pawn Код:
public OnPlayerText(playerid, text[]) { if(VariableBloqueo[playerid] == 0) { // Lo que tengas return 0; }
y en OnPlayerSpawn
pawn Код:
public OnPlayerSpawn(playerid) { VariableBloqueo[playerid] = 0; //lo que tengas return 1; }
|
no me funciono e.e
Respuesta: duda chat -
jurgen - 06.09.2014
Quote:
Originally Posted by Zodiaco
no me funciono e.e
|
ASI FUNCIONARIA
public OnPlayerText(playerid, text[])
{
if(VariableBloqueo[playerid] == 1) return 0;
//todo lo otro que tengas
return 1;
}
Respuesta: duda chat -
xDarkuzSx - 06.09.2014
OK ahн te va mi shavo xD
okay okay definimos la variable que vamos a usar :3
pawn Код:
new SAS_PlayerSpawned[MAX_PLAYERS];
y luego vienen las cosas que solo quieres copiar y pegar
pawn Код:
//esta funcion te puede servir para muchas otras cosas, asн que decidi hacerla de esta forma xd aunque existe otra.
stock IsPlayerSpawned(playerid) return SAS_PlayerSpawned[playerid];
public OnPlayerConnect(playerid)
{
SAS_PlayerSpawned[playerid] = 0;
//tus codigos aqui mi shavo
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SAS_PlayerSpawned[playerid] = 0;
//tus codigos aqui mi shavo
return 1;
}
public OnPlayerSpawn(playerid)
{
SAS_PlayerSpawned[playerid] = 1;
//tus codigos aqui mi shavo
return 1;
}
public OnPlayerDeath(playerid,killerid,reason)
{
SAS_PlayerSpawned[playerid] = 0;
//tus codigos aqui mi shavo
return 1;
}
y luego finalmente:
pawn Код:
public OnPlayerText(playerid,text[])
{
if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid,-1,"Para utilizar el chat debes spawnear.");
//mas copypastes tuyos aqui abajo ↓ ↓ mi querido shaval :v xd
return 1;
}
DE NADA
Respuesta: duda chat -
OTACON - 06.09.2014
el return de OnPlayerText debe de estar en 0 (tambiйn).
https://sampwiki.blast.hk/wiki/OnPlayerText_Es
Respuesta: duda chat -
aoEXE - 06.09.2014
Quote:
Originally Posted by OTACON
|
eh? el quiere que cuando NO estй spawneado NO pueda usarlo. Para que le dices que ponga return 0 en OnPlayerText? no podrб usarlo si en ningъn momento...
sencillamente esto es lo que йl quiere hacer:
pawn Код:
new bool:Variable[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
Variable[playerid] = false;
return 1;
}
public OnPlayerText(playerid, text[])
{
if(Variable[playerid] == false)
{
SendClientMessage(playerid,-1,"Debes estar spawneado para usar el chat.");
return 0;
}
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
Variable[playerid] = true;
return 1;
}
Respuesta: duda chat -
OTACON - 06.09.2014
Quote:
Originally Posted by aoEXE
eh? el quiere que cuando NO estй spawneado NO pueda usarlo. Para que le dices que ponga return 0 en OnPlayerText? no podrб usarlo si en ningъn momento...
sencillamente esto es lo que йl quiere hacer:
pawn Код:
new bool:Variable[MAX_PLAYERS];
public OnPlayerConnect(playerid) { Variable[playerid] = false; return 1; }
public OnPlayerText(playerid, text[]) { if(Variable[playerid] == false) { SendClientMessage(playerid,-1,"Debes estar spawneado para usar el chat."); return 0; } return 1; }
public OnPlayerRequestSpawn(playerid) { Variable[playerid] = true; return 1; }
|
return 0 se coloca para que no saldrб el chat por defecto de sa-mp (no es ejecutado por SendClientMessage o otra similar), el texto dentro del call es ejecutado por SendClientMessage o otra similar. (lo aclare ya que le dieron opciones con el return 1 y el usuario dice que no le funciono, puede que este funcionando y sea el return el problema).
saludos.
.
Respuesta: duda chat -
xDarkuzSx - 06.09.2014
Quote:
Originally Posted by aoEXE
eh? el quiere que cuando NO estй spawneado NO pueda usarlo. Para que le dices que ponga return 0 en OnPlayerText? no podrб usarlo si en ningъn momento...
sencillamente esto es lo que йl quiere hacer:
pawn Код:
new bool:Variable[MAX_PLAYERS];
public OnPlayerConnect(playerid) { Variable[playerid] = false; return 1; }
public OnPlayerText(playerid, text[]) { if(Variable[playerid] == false) { SendClientMessage(playerid,-1,"Debes estar spawneado para usar el chat."); return 0; } return 1; }
public OnPlayerRequestSpawn(playerid) { Variable[playerid] = true; return 1; }
|
Eso no funciona si me suicido y estoy en OnPlayerRequestClass, xd o si muere .-.