Duda Al subir a un vehiculo
#1

Hola a todos. Puse carros en venta, y queria saber como hacer para q le de Kick a algun cheater que valla andando en un vehiculo en venta. Saludos
Reply
#2

no entendн, que dй kick al que vaya andando en un vehнculo en venta?
Reply
#3

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
no entendн, que dй kick al que vaya andando en un vehнculo en venta?
Claro. Mira cuando subes a un carro en venta te sale el dialogo de comprar. Si lo compras se crea otro vehicle. Y si No lo compras te sales del carro en venta.
Pero como veo que el ****** tiene la funcion de desactivar el "RemovePlayerFromVehicle", entonces el cheater al no comprar el carro se quedaria adentro de el y puede salir andando del carro en venta sin averlo comprado.
Reply
#4

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    switch(newstate)
    {
        case PLAYER_STATE_DRIVER:
        {
            // aquн tu diбlgo.
        }
    }
    return 1;
}
teniйndolo ahн creo que no podrнa, al subirse a un vehнculo en venta le saldrнa el diбlogo y tendrнa que cancelarlo o aceptarlo, tiene que funcionar.
En caso contrario me gustarнa que nos pasaras un poco mбs de informaciуn, sobre como se muestra el diбlogo o detecta si es un vehнculo en venta.
Reply
#5

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    switch(newstate)
    {
        case PLAYER_STATE_DRIVER:
        {
            // aquн tu diбlgo.
        }
    }
    return 1;
}
teniйndolo ahн creo que no podrнa, al subirse a un vehнculo en venta le saldrнa el diбlogo y tendrнa que cancelarlo o aceptarlo, tiene que funcionar.
En caso contrario me gustarнa que nos pasaras un poco mбs de informaciуn, sobre como se muestra el diбlogo o detecta si es un vehнculo en venta.
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    new 
string[128], stringj[128];
    if (
newstate == PLAYER_STATE_DRIVER && Concesionaria[GetPlayerVehicleID(playerid)][vEnVenta])
    {
        if (
GetVehicleModel(GetPlayerVehicleID(playerid)) == Concesionaria[GetPlayerVehicleID(playerid)][vModelo])
        {
            
format(stringsizeof(string), "Este vehiculo esta en venta!\n\nVehiculo: "cAmarillo"%s\n"cBlanco"Precio: "cVerde"$%d\n\n"cBlanco"Te gustarнa comprar este vehнculo?"GetVehicleName(GetPlayerVehicleID(playerid)), Concesionaria[GetPlayerVehicleID(playerid)][vPrecio]);
            
ShowPlayerDialog(playerid9DIALOG_STYLE_MSGBOX"Concesionaria"string"Si""No");
            
TogglePlayerControllable(playerid0);
        }
    }
    return 
1;

Reply
#6

Haz que el vehнculo estй inmovil y usa SetPlayerPos para quitar al lugador del vehнculo.
Reply
#7

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
Haz que el vehнculo estй inmovil y usa SetPlayerPos para quitar al lugador del vehнculo.
Seria lo mismo x q el Sob*** tiene la funcion NOT SetPlayerPos
Lo q se me ocurre es q al entrar al vehiculo en venta chequee la posicion del vehiculo y q si mueve el carro lo kickee. Pero nose como seria

Creo q seria asi?

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER && Concesionaria[GetPlayerVehicleID(playerid)][vEnVenta])
{
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == Concesionaria[GetPlayerVehicleID(playerid)][vModelo])
{
new Float, Float:y, Float:z;
GetVehiclePos(GetPlayerVehicleID(playerid), x+2, y+2, z);
Kick(playerid);
}
}
return 1;
}
Reply
#8

Alvaro, eso es porque has visto esas funciones en el M0d s0b3it o porque ya lo han echo en tu servidor o tъ lo has comprobado?
Reply
#9

En el dialog 9, como bien dijo Zume hace que si presionan "Cancelar" los saque. O bien en OnPlayerUpdate (o con un timer) podes comprobar que si el vehнculo es uno en venta y la velocidad de йste es mayor a 0, que lo expulse.

pawn Код:
public OnPlayerUpdate(playerid)
{
   new coche = GetPlayerVehicleID(playerid),Float:Velocity[3];
   new velocidad = GetVehicleVelocity(coche, Velocity[0], Velocity[1], Velocity[2]);
   if(Concesionaria[coche ][vEnVenta])
   {
       if(velocidad > 1)
      {
         Kick(playerid);
      }    
   }
   return 1;
}
La verdad que no lo probй.
Reply
#10

No funciono
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)