Como Hago Esto?
#1

Hola, Pues Tengo Una Duda como crear un comando k aga esta funcion:

que al escribir /ejemplo


se de vuelta el coche cuando te vuelcas

No Se Como Lo Puedo Hacer ,Si Me Pueden Ayudar Porfavor :$ Muchas Gracias Por Leer Mi Problema
Reply
#2

Con la funciуn de MrDeath.
pawn Код:
/*OnPlayerCommandText*/
if(strcmp(cmdtext, "/flipear", true) == 0)
{
FlipearAuto()
return 1;
}

/*Abajo de todo*/
stock FlipearAuto()
{
    for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
    {
    new State = GetPlayerState(playerid);
    if (IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
    {
    new VehicleID, Float:Angle, Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    VehicleID = GetPlayerVehicleID(playerid);
    GetVehicleZAngle(VehicleID, Angle);
    SetVehiclePos(VehicleID, X, Y, Z);
    SetVehicleZAngle(VehicleID, Angle);
    }
    }
    return 1;
}
Reply
#3

te lo paso de mi ex gm

pawn Код:
if(strcmp("/ejemplo", cmdtext, true, 10) == 0)
    {
       if(!IsPlayerInAnyVehicle(playerid)) return GameTextForPlayer(playerid, "~g~debes estar en un
       ~y~vehiculo"
,3000,3);
       SetVehicleZAngle(GetPlayerVehicleID(playerid),0);
       PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
       GameTextForPlayer(playerid, "~w~volteaste tu vehiculo!",2000,4);
       return 1;
    }
Reply
#4

Quote:
Originally Posted by J96
Посмотреть сообщение
Con la funciуn de MrDeath.
pawn Код:
/*OnPlayerCommandText*/
if(strcmp(cmdtext, "/flipear", true) == 0)
{
FlipearAuto()
return 1;
}

/*Abajo de todo*/
stock FlipearAuto()
{
    for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
    {
    new State = GetPlayerState(playerid);
    if (IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
    {
    new VehicleID, Float:Angle, Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    VehicleID = GetPlayerVehicleID(playerid);
    GetVehicleZAngle(VehicleID, Angle);
    SetVehiclePos(VehicleID, X, Y, Z);
    SetVehicleZAngle(VehicleID, Angle);
    }
    }
    return 1;
}
Esa funciуn es de Cacoby. Yo sуlo le dije cуmo era en realidad y The_Chaoz la puso bien, pero esa no es la arreglada y por lo tanto le funcionarнa mal.


EDIT: Post Nє 700
Reply
#5

Y yo te lo paso en DCMD (Basado en LADMIN, es para admins RCON, puedes modificaresa varaible)

Arriba del todo, debajo de los include
pawn Код:
// DCMD
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Despues, encima de OnplayerCommandText
pawn Код:
dcmd_flip(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
        if(!strlen(params)) {
            if(IsPlayerInAnyVehicle(playerid)) {
            new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid);
            GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
            return SendClientMessage(playerid, blue,"Vehiculo Flipeado, tambien puedes usar /flip ID");
            } else return SendClientMessage(playerid,red,"Error: No estas en un vehiculo");
        }
        new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
        player1 = strval(params);

        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
           
            if (IsPlayerInAnyVehicle(player1)) {
                new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(player1, X, Y, Z); VehicleID = GetPlayerVehicleID(player1);
                GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
               
                GetPlayerName(player1, playername, sizeof(playername));     GetPlayerName(playerid, adminname, sizeof(adminname));
                format(string,sizeof(string),"Administrator %s dio la vuelta a tu vehiculo",adminname); SendClientMessage(player1,blue,string);
                format(string,sizeof(string),"Flipeaste a %s", playername);
                return SendClientMessage(playerid, blue,string);
            } else return SendClientMessage(playerid,red,"Jugador no esta en vehiculo");
        } else return SendClientMessage(playerid, red, "Jugador no conectado, o eres tu, en cuyo caso usa /flip");
    } else return SendClientMessage(playerid,red,"ERROR: No eres administrador");
}
Debajo de OnplayerCommandText

pawn Код:
dcmd(flip,4,cmdtext);
Reply
#6

en realidad, el comando mas efectivo es el de matias, aun q aca le agregue algo para que deje el angulo como estaba(Z)
pawn Код:
if(!strcmp(cmd, "/flip", true)){
        if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, 0xFF0000FF, "Server: Debes estar en un vehiculo para usar este comando");
        new Float:A;
        GetVehicleZAngle(GetPlayerVehicleID(playerid),A);
        SetVehicleZAngle(GetPlayerVehicleID(playerid),A);
        return SendClientMessage(playerid, 0xE8E6FFFF, "Server: Vehiculo flipeado");
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)