[Ajuda] Veнculos
#1

Olб boa noite, queria saber como posso bloquear alguns veнculos de serem criados como o Hydra e Rhino e queria saber como posso privar o veнculo apenas para quem criou usar.

Meu cуdigo e esse:

pawn Код:
static IDCarro[MAX_PLAYERS];
static bool:VeiculoID[MAX_PLAYERS];

static Float:PosX;
static Float:PosY;
static Float:PosZ;

static Veiculo;
static Float:Angulo;

static Cor1;
static Cor2;

command(veiculo, playerid, params[])
{
    if(sscanf(params, "ddd", Veiculo, Cor1, Cor2)) return SendClientMessage(playerid, Vermelho, "[ x ] Uso Correto: /Veiculo [Veнculo ID] [Cor 1] [Cor 2]");
    if(Veiculo < 400 || Veiculo > 611) return SendClientMessage(playerid, Vermelho, "[ x ] O ID do veнculo estб invбlido {FFFFFF}ID's de 400 a 611.");
    if(Cor1 < 0 || Cor1 > 255) return SendClientMessage(playerid, Vermelho, "[ x ] O ID da cor 1 estб invбlida {FFFFFF}Cores de 0 a 255.");
    if(Cor2 < 0 || Cor2 > 255) return SendClientMessage(playerid, Vermelho, "[ x ] O ID da cor 2 estб invбlida {FFFFFF}Cores de 0 a 255.");
    if(VeiculoID[playerid] == true) return SendClientMessage(playerid, Vermelho, "[ x ] Vocк jб possui um veнculo criado!");
    GetPlayerPos(playerid, PosX, PosY, PosZ);
    IDCarro[playerid] = AddStaticVehicle(Veiculo, PosX, PosY, PosZ, Angulo, Cor1, Cor2);
    PutPlayerInVehicle(playerid, IDCarro[playerid], 0);
    SetVehicleVirtualWorld(IDCarro[playerid], GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(IDCarro[playerid], GetPlayerInterior(playerid));
    static vehicle = GetVehicleModelIDFromName(veiculo);
    format(String, sizeof(String), "[ > ] Veнculo {FFFFFF}%s{FFFF00} criado com sucesso!", VehicleNames[vehicle - 400]);
    SendClientMessage(playerid, Amarelo, String);
    VeiculoID[playerid] = true;
    return 1;
}
Reply
#2

1) Para privar o veнculo basta verificar quem criou o carro e caso o valor for diferente, retira-lo do veнculo.
2) Para bloquear o veнculo basta verificar se o ID do veнculo digitado й o modelo que vocк deseja bloquear.


Exemplos:
1)
Код:
public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
{
	if (IDCarro[playerid] != vehicleid)
	{
		RemovePlayerFromVehicle(playerid);
	}
}
2)
Код:
if (Veiculo == 520) return SendClientMessage(playerid, Vermelho, "[ x ] Este veнculo estб bloqueado");
@Edit

O sistema de privar o veнculo nгo й totalmente funcional, por exemplo: o jogador nгo poderб entrar em NENHUM veнculo que nгo seja dele, mas aн й sу vocк adaptar.
Reply
#3

Cara tou com um outro problema que tб tenso, o problema й o seguinte, quando um jogador cria um veнculo, dб o bug de outro jogador criar um outro veiculo e trazer o veiculo do mesmo que criou anteriormente, isso com variavel MAX_PLAYERS, serб que hб alguma soluзгo pra que nгo aconteзa esse bug?

Achei esse tуpico:
https://sampforum.blast.hk/showthread.php?tid=375018

Parece ser o mesmo problema que o meu.. Mas nгo foi resolvido.
Reply
#4

O certo seria vocк criar outra variбvel para armazenar o id do veнculo e depois vocк armazena o id do veнculo ao player.

Exemplo:
Код:
new carro = CreateVehicle(carro,X,Y,Z,0.0,cor1,cor2,respawn);
IDCarro[playerid] = carro;
Acho que daria certo... Nгo tenho certeza, atй porque nunca tentei fazer um sistema desses..

@Edit
Pensando bem, й a mesma coisa que definir o veнculo jб na variбvel do player...
Nгo sei o que pode ser, entгo...
Reply


Forum Jump:


Users browsing this thread: