2 dudas & un problema. -
arturo clark - 25.12.2010
Tengo 2 dudas:
1) їComo hago para que un jugador no pueda usar los comandos en si mismo? Ejemplo tengo este comando:
pawn Код:
dcmd_kick(playerid, params[])
{
if(AdminLevel[playerid] >= 1)
{
new pid, reason[256], string[256], pName[MAX_PLAYER_NAME], kName[MAX_PLAYER_NAME];
if(sscanf(params, "us", pid, reason)) return SendClientMessage(playerid, COLOR_ORANGE,"Usage: /kick <playerid/partofname> <reason>");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_RED,"[ERROR]: This player isn't connected");
else
{
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(pid, kName, sizeof(kName));
format(string, sizeof(string), "[ADMIN]: %s has been kicked by %s for: %s", kName, pName, reason);
SendClientMessageToAll(COLOR_RED2, string);
Kick(pid);
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"[ERROR]: Unknown Command");
}
return 1;
}
2) їComo hago para encarcelar a los jugadores por tiempo? (por segundos)
3) Este es el problema:
pawn Код:
new Float:health, veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(IsPlayerInAnyVehicle(playerid) && health <= 400)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_GREY,"Your vehicle has broken down, you should find a mechanic (/call 462)");
}
Yo creo que son fбciles de resolver o hacer.
Espero que me puedan ayudar.
Respuesta: 2 dudas & un problema. -
[M]xFire - 26.12.2010
1)
pawn Код:
dcmd_kick(playerid, params[])
{
if(AdminLevel[playerid] >= 1)
{
new pid, reason[256], string[256], pName[MAX_PLAYER_NAME], kName[MAX_PLAYER_NAME];
if(sscanf(params, "us", pid, reason)) return SendClientMessage(playerid, COLOR_ORANGE,"Uso: /kick <playerid> <razon>");
if(!IsPlayerConnected(pid) || pid == playerid) return SendClientMessage(playerid, COLOR_RED,"[ERROR]: Jugador No Valido");
else
{
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(pid, kName, sizeof(kName));
format(string, sizeof(string), "[ADMIN]: %s ha sido kickeado por el admin %s por: %s", kName, pName, reason);
SendClientMessageToAll(COLOR_RED2, string);
Kick(pid);
}
} else return 0;
return 1;
}
2) Puede ser asi:
pawn Код:
Encarcelado[MAX_PLAYERS];
TiempoDeEncarcelado[MAX_PLAYERS] = 0;
CarcelTimer[MAX_PLAYERS];
//Comando /encarcelar
TiempoDeEncarcelado[ID] = tiempo*1000;
SetTimerEx("Encarcelar",500,0,"d",player1);
//Publics de las funciones
forward Encarcelar(ID);
public Encarcelar(ID)
{
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
SetPlayerInterior(ID,3);
SetCameraBehindPlayer(ID);
CarcelTimer[ID]; = SetTimerEx("SalirDePrision",TiempoDeEncarcelado[ID],0,"d",ID);
Encarcelado[ID] = 1;
}
forward SalirDePrision(ID);
public SalirDePrision(ID)
{
KillTimer(CarcelTimer[ID]);
TiempoDeEncarcelado[ID] = 0;
Encarcelado[ID] = 0;
SetPlayerInterior(ID,0);
SetPlayerPos(ID, 0.0, 0.0, 0.0);
SpawnPlayer(ID);
PlayerPlaySound(ID,1057,0.0,0.0,0.0);
GameTextForPlayer(player1,"~g~~w~Saliste de Prision ~n~~r~Respeta las reglas!",3000,3);
}
3) Que errores te da?
Re: 2 dudas & un problema. -
arturo clark - 26.12.2010
1) Me sirviу gracias.
2) їComo se harнa?
3) Hace mucho spam
Respuesta: 2 dudas & un problema. -
[M]xFire - 26.12.2010
Puede ser porque esta en un timer, pasa el codigo completo de donde esta(el public)
y ya te di un ejemplo =D
Re: 2 dudas & un problema. -
arturo clark - 26.12.2010
1) Ya sirve
2) Creo que tambiйn sirve
3) Todo lo tengo en el public:
pawn Код:
public OnPlayerUpdate(playerid)
{
new Float:health, veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
if(IsPlayerInAnyVehicle(playerid) && health <= 400)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_GREY,"Your vehicle has broken down, you should find a mechanic");
}
return 1;
}
//No es ningъn timer xd