[Ajuda] Usando GetVehicleParamsCarDoors e SetVehicleParamsCarDoors
#1

Boa noite galera tem como alguйm me dar uma ajudinha de como fazer retirar as portas de um carro ao dar o meu cmd aqui ?


GetVehicleParamsCarDoors

SetVehicleParamsCarDoors

Alguйm sabe como usar estas funзхes?
Reply
#2

UpdateVehicleDamageStatus e Door States sгo boas opзхes para te ajudar.
Reply
#3

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
UpdateVehicleDamageStatus e Door States sгo boas opзхes para te ajudar.
tem como me dar umas dicas de algum cуdigo na board de como usar essas funзхes?
Reply
#4

Quote:
Originally Posted by Hydra_RuleZ
Посмотреть сообщение
tem como me dar umas dicas de algum cуdigo na board de como usar essas funзхes?
Cara uma vez eu vi um servidor que tinha isso, sу que ele retirava todas as partes do veiculo como portas,capo,porta malas, eu vou ver se encontro pra vocк ou eu dou um jeito de inventar algo aqui.
Reply
#5

LOL deu double bugo
Reply
#6

use IS_REMOVED
PHP код:
SetVehicleParamsCarDoors(IDCARIS_REMOVEDIS_REMOVEDIS_REMOVEDIS_REMOVED); 
ou trabalhando com bits
PHP код:
SetVehicleParamsCarDoors(IDCAR00000100000001000000010000000100); 
entendendo

Byte que armazena o quк?

O primeiro byte armazena o estado da capa
O segundo byte armazena o estado do tronco
O terceiro byte armazena o estado da porta do condutor
O quarto byte armazena o estado da porta co-pilotos
Os estados das duas portas traseiras nгo podem ser tratadas por GetVehicleDamageStatus e UpdateVehicleDamageStatus .
Repare que eu conto os bytes de trбs - assim o primeiro й o byte mais а direita

Exemplo

O cуdigo a seguir mostra que a capa й removida, a porta dianteira esquerda danificada, a porta direita da frente se abriu eo tronco estб danificado e aberta:
Код:
00000001 00000010 00000011 00000100
No entanto SA-MP devolve um nъmero decimal entгo vocк tem que convertк-lo em um nъmero binбrio primeiro para obter um resultado como acima. O SA-MP voltaria vocк neste caso й a seguinte:
Код:
16909060
Crйditos
Wiki https://sampwiki.blast.hk/wiki/DoorStates
****** translator
Reply
#7

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
use IS_REMOVED
PHP код:
SetVehicleParamsCarDoors(IDCARIS_REMOVEDIS_REMOVEDIS_REMOVEDIS_REMOVED); 
ou trabalhando com bits
PHP код:
SetVehicleParamsCarDoors(IDCAR00000100000001000000010000000100); 
entendendo

Byte que armazena o quк?

O primeiro byte armazena o estado da capa
O segundo byte armazena o estado do tronco
O terceiro byte armazena o estado da porta do condutor
O quarto byte armazena o estado da porta co-pilotos
Os estados das duas portas traseiras nгo podem ser tratadas por GetVehicleDamageStatus e UpdateVehicleDamageStatus .
Repare que eu conto os bytes de trбs - assim o primeiro й o byte mais а direita

Exemplo

O cуdigo a seguir mostra que a capa й removida, a porta dianteira esquerda danificada, a porta direita da frente se abriu eo tronco estб danificado e aberta:
Код:
00000001 00000010 00000011 00000100
No entanto SA-MP devolve um nъmero decimal entгo vocк tem que convertк-lo em um nъmero binбrio primeiro para obter um resultado como acima. O SA-MP voltaria vocк neste caso й a seguinte:
Код:
16909060
Crйditos
Wiki https://sampwiki.blast.hk/wiki/DoorStates
****** translator
Ainda nгo foi, o que tб errado?
pawn Код:
if (strcmp("/retirarportas", cmdtext, true, 10) == 0)
    {
        new driver, passenger, backleft, backright;
        new carro = GetPlayerVehicleID(playerid);
        GetVehicleParamsCarDoors(carro, driver, passenger, backleft, backright);
        SetVehicleParamsCarDoors(carro, driver, 00000100, 00000100, 00000100);
        return 1;
    }
Reply
#8

Usei como base a funзгo de furar pneus. Nгo testei pq estou incapacitado no momento de fazer teste

PHP код:
new panelsdoorsluzestires;
new 
carid GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(caridpanelsdoorsluzestires);
doors encode_doors(IS_REMOVEDIS_REMOVEDIS_REMOVEDIS_REMOVED);
UpdateVehicleDamageStatus(caridpanelsdoorsluzestires);

encode_doors(doors1doors2doors3doors4)
{
    return 
doors1 | (doors2 << 1) | (doors3 << 2) | (doors4 << 3);

Reply
#9

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
Usei como base a funзгo de furar pneus. Nгo testei pq estou incapacitado no momento de fazer teste

PHP код:
new panelsdoorsluzestires;
new 
carid GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(caridpanelsdoorsluzestires);
doors encode_doors(IS_REMOVEDIS_REMOVEDIS_REMOVEDIS_REMOVED);
UpdateVehicleDamageStatus(caridpanelsdoorsluzestires);
encode_doors(doors1doors2doors3doors4)
{
    return 
doors1 | (doors2 << 1) | (doors3 << 2) | (doors4 << 3);

deu me erro undifined na encode_doors
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)