2 dudas & un problema.
#1

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.
Reply
#2

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?
Reply
#3

1) Me sirviу gracias.

2) їComo se harнa?

3) Hace mucho spam
Reply
#4

Puede ser porque esta en un timer, pasa el codigo completo de donde esta(el public)

y ya te di un ejemplo =D
Reply
#5

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)