Portal SAMP
[Ajuda] Propietario de vehiculo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Propietario de vehiculo (/showthread.php?tid=266)



Propietario de vehiculo - Smith - 01/11/2020

galera minha conce ela cria os vehiculo certinho so que ela nao estabelece um dono do vehiculo tipo qualquer pessoa pode usar o vehiculo como posso fazer para aquele vehiculo especifico ter um dono para eu fazer a comfirmaçao usando if se a pessoa que entro no carro e dono ou nao do vehiculo sei que tem como pegar o id especifico do carro pra fazer essa comparaçao mais esqueci como faz


RE: Propietario de vehiculo - Hazard - 01/11/2020

não sei como é o seu sistema mas seria assim;

faça um loop pelos carros da conce na public OnPlayerStateChange com o novo estado de motorista


Código:
for(new i = 1; i != MAX_CARROS; i++)
{
if(i != Carro[playerid])
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, -1, "Esse carro não é seu.");
}
}


MAX_CARROS seria a quantidade máxima de carros comprados que o servidor poderia ter

basicamente cada carro comprado ganharia um id ai você salvaria esse id em uma var para o player que comprou o carro

depois esse código ia fazer loop pelos valores 1 e o valor de MAX_CARROS e depois voce ia verificar se esse valor é diferente do carro desse jogador, e se for vai fazer a remoção do player ao veiculo. 

Não sou bom pra explicar, espero que tenha entendido


RE: Propietario de vehiculo - Smith - 01/11/2020

Eu nao lembro direito porque apagaro o wiki samp mais lembro que tinha alguma coisa parecida com GetPlayerVehicleID que getava o id do carro criado na hora e armazenava em uma string dono era bem facio mais nao lembro como faz sera qe vc poderia explicar melhor essa forma que vc citou


RE: Propietario de vehiculo - Hazard - 01/11/2020

Código:
new car[MAX_PLAYERS];
car[playerid] = GetPlayerVehicleID(playerid);

isso?

se for com aquela var Carro[playerid] ela não salva o veículo em que esta agora, e sim o id do carro da concessionaria que ganharia ao comprar e isso teria q ser salvo


RE: Propietario de vehiculo - Leonardo Clark ~ - 01/11/2020

Código:
//Quando o player logar, você carrega as variaveis e cria o veiculo

PlayerInfo[playerid][pChaveCarro] = CreateVehicle(522, Float:x, Float:y, Float:z, Float:rotation, 211, 211, 0);

//Quando o Player entra no veiculo, ou tenta ligar ele

if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pChaveCarro])
{
    ..
}
else
    RemovePlayerFromVehicle(playerid);



RE: Propietario de vehiculo - Smith - 01/11/2020

(01/11/2020 18:01)Leonardo Clark ~ Escreveu:
Código:
//Quando o player logar, você carrega as variaveis e cria o veiculo

PlayerInfo[playerid][pChaveCarro] = CreateVehicle(522, Float:x, Float:y, Float:z, Float:rotation, 211, 211, 0);

//Quando o Player entra no veiculo, ou tenta ligar ele

if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pChaveCarro])
{
    ..
}
else
    RemovePlayerFromVehicle(playerid);


nesse caso o player ia ter a chave para todos vehiculo com id 522



RE: Propietario de vehiculo - Leonardo Clark ~ - 01/11/2020

(01/11/2020 18:06)Smith Escreveu:
(01/11/2020 18:01)Leonardo Clark ~ Escreveu:
Código:
//Quando o player logar, você carrega as variaveis e cria o veiculo

PlayerInfo[playerid][pChaveCarro] = CreateVehicle(522, Float:x, Float:y, Float:z, Float:rotation, 211, 211, 0);

//Quando o Player entra no veiculo, ou tenta ligar ele

if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pChaveCarro])
{
    ..
}
else
    RemovePlayerFromVehicle(playerid);


nesse caso o player ia ter a chave para todos vehiculo com id 522
Não, 522 é o modelo, iria retornar o id do veiculo ao qual ele foi criado


RE: Propietario de vehiculo - Smith - 01/11/2020

Código:
if(GetPlayerVehicleID(playerid) == Dados[playerid][id1]){
SendClientMessage(playerid, 0x00FF00FF, "Voce esta em seu carro use o cinto de seguranca");
}
else
{
new ladraozinho[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, ladraozinho, sizeof(ladraozinho));
format(string, sizeof(string), "Alerta Policial o Noia %s esta tentando furtar um carro", ladraozinho);
SendClientMessageToAll(0x00EEEEFF, string);
SendClientMessage(playerid, 0x00FF00FF, "Este carro nao e seu ladrao");
RemovePlayerFromVehicle(playerid);
SetPlayerWantedLevel(playerid, 1);
}
tentei assim mais toda hora fica aparecendo a menssagem do format

Código:
format(string, sizeof(string), "Alerta Policial o Noia %s esta tentando furtar um carro", ladraozinho);

[color=#333333][size=small][font=Monaco, Consolas, Courier, monospace]SendClientMessage(playerid, 0x00FF00FF, "Este carro nao e seu ladrao");[/font][/size][/color]

mesmo sem entrar em nenhum carro 
Coloquei na call OnPlayerStateChange unico problema e esse msm fica aparecendo as msg do else sem entrar em nenhum carro toda hora pq de mas fuunciono


RE: Propietario de vehiculo - Leonardo Clark ~ - 02/11/2020

(01/11/2020 18:39)Smith Escreveu:
Código:
if(GetPlayerVehicleID(playerid) == Dados[playerid][id1]){
SendClientMessage(playerid, 0x00FF00FF, "Voce esta em seu carro use o cinto de seguranca");
}
else
{
new ladraozinho[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, ladraozinho, sizeof(ladraozinho));
format(string, sizeof(string), "Alerta Policial o Noia %s esta tentando furtar um carro", ladraozinho);
SendClientMessageToAll(0x00EEEEFF, string);
SendClientMessage(playerid, 0x00FF00FF, "Este carro nao e seu ladrao");
RemovePlayerFromVehicle(playerid);
SetPlayerWantedLevel(playerid, 1);
}
tentei assim mais toda hora fica aparecendo a menssagem do format

Código:
format(string, sizeof(string), "Alerta Policial o Noia %s esta tentando furtar um carro", ladraozinho);

[color=#333333][size=small][font=Monaco, Consolas, Courier, monospace]SendClientMessage(playerid, 0x00FF00FF, "Este carro nao e seu ladrao");[/font][/size][/color]

mesmo sem entrar em nenhum carro 
Coloquei na call OnPlayerStateChange unico problema e esse msm fica aparecendo as msg do else sem  entrar em nenhum carro toda hora pq de mas fuunciono
Código:
tenta assim else if ( GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID || GetPlayerVehicleID(playerid) != 0 )

e não seria melhor colocar na public OnPlayerEnterVehicle ?