Anti spam de vehiculos ?
#1

Hola, no pretendo hacer un pedido, pero necesito orientaciуn sobre como hacer un cуdigo para que los jugadores solo puedan crear un vehiculo a la vez, me refiero a que si he creado un vehiculo y luego quiero otro, al spawnear el otro se elimine del mapa el primero. Sinceramente no se como hacerlo, he buscado en los foros de sa-mp pero solo encuentro para banear a los cheaters que carguen el servidor de vehiculos, y mi objetivo es nada mas que al crear un vehiculo nuevo el otro se elimine, y al desconectarse (el jugador) con el tambiйn se elimine el vehiculo.

De antemano, gracias
Reply
#2

Quote:
Originally Posted by Guss
Посмотреть сообщение
Hola, no pretendo hacer un pedido, pero necesito orientaciуn sobre como hacer un cуdigo para que los jugadores solo puedan crear un vehiculo a la vez, me refiero a que si he creado un vehiculo y luego quiero otro, al spawnear el otro se elimine del mapa el primero. Sinceramente no se como hacerlo, he buscado en los foros de sa-mp pero solo encuentro para banear a los cheaters que carguen el servidor de vehiculos, y mi objetivo es nada mas que al crear un vehiculo nuevo el otro se elimine, y al desconectarse (el jugador) con el tambiйn se elimine el vehiculo.

De antemano, gracias
Aquн tienes para borrarlo.

Aquн cuando se desconecta

Juega con eso y seguro podrбs hacerlo..

Saludos.
Reply
#3

Con una variable, solo tendrнas que comprobar al desconectarse y al crear el vehнculo, ejemplo:

PHP код:
new vehiculo[MAX_PLAYERS];

public 
OnPlayerDisconnect(playeridreason)
{
    if(
vehiculo[playerid] != 0)
    {
        
DestroyVehicle(vehiculo[playerid]);
    }
    
vehiculo[playerid] = 0;
    return 
true;
}

FuncionCrearVehiculo(playeridmodelo)
{
    if(
vehiculo[playerid] != 0)
    {
        
DestroyVehicle(vehiculo[playerid]);
    }
    
vehiculo[playerid] = CreateVehicle(modeloxyzangulocolor_1color_2respawn_delay);
    return 
true;

Reply
#4

pawn Код:
new Vehiculo_Por_Jugador[MAX_PLAYERS];

DestroyVehicle( Vehiculo_Por_Jugador[playerid] );
Vehiculo_Por_Jugador[playerid] = CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay);
Reply
#5

Gracias a los tres, pero se me olvidу mencionar algo muy importante, yo ya habнa usado lo que me sugieren aqui, pero no me funcionу porque en mi gamemode los vehiculos para jugadores son spawneados mediante menus en dialogos, no con un comando <<del tipo /turismo /infernus /supergt>>. Entonces eso me trae confusiуn, porque al aplicarle el DestroyVehicle en OnPlayerDisconnect no tiene funciуn alguna, es decir, no elimina los vehiculos.

Aqui les dejo un poco de mi cуdigo (En el menu de aviones).

Код:
	if(dialogid == 30)
    {
        if(response)
        {

            if(listitem == 0)
            {
            		new Float:x, Float:y, Float:z, Float:a;
            		if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_ROJO, "No tienes dinero suficiente");
            		GetPlayerPos(playerid, x,y,z);
            		GetPlayerFacingAngle(playerid, a);
            		new vehicleid = CreateVehicle(476, x,y,z, a, -1, -1, -1);
            		PutPlayerInVehicle(playerid, vehicleid, 0);
                        GivePlayerMoney(playerid, -2000);
            }
            if(listitem == 1)
            {
  			new Float:x, Float:y, Float:z, Float:a;
  			if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, COLOR_ROJO, "No tienes dinero suficiente");
            		GetPlayerPos(playerid, x,y,z);
            		GetPlayerFacingAngle(playerid, a);
            		new vehicleid = CreateVehicle(511, x,y,z, a, -1, -1, -1);
            		PutPlayerInVehicle(playerid, vehicleid, 0);
                        GivePlayerMoney(playerid, -2000);
            }
        }
}
No puedo poner DestroyVehicle ahн porque se supone que se elimina al desconectarse. Se me ocurriу cambiar vehicleid a una variable global, pero me trajo varios errores... їComo serнa la manera correcta?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)