Portal SAMP
[Pedido] comando criar veiculos em zcmd - 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: [Pedido] comando criar veiculos em zcmd (/showthread.php?tid=3537)



comando criar veiculos em zcmd - LOS_SANTOS - 20/04/2023

fala galera queria saber como faço para criar um comando em zcmd de criar veiculos ex: /criarveiculo [id][cor1][cor2] o mais basico possivel


RE: comando criar veiculos em zcmd - White_Blue - 20/04/2023

Aqui vai um exemplo:

Código PHP:
new vehicleid[MAX_PLAYERS] = 0bool:criouveiculo[MAX_PLAYERS] = false;

CMD:cv(playeridparams[]) {
     new 
idcor1cor2Float:pos[3], Float:Angle;
     if(
sscanf(params"dD(-1)D(-1)"idcor1cor2)) return SendClientMessage(playerid, -1"Use: /cv [id] [cor1] [cor2]");
     if(
IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1"Saia do veículo para criar outro.");
     if(
id 400 || id 611) return SendClientMessage(playerid, -1"Veículo inválido. Tente ID'S entre 400 e 611.");    

     
GetPlayerPos(playeridpos[0], pos[1], pos[2]);
     
GetPlayerFacingAngle(playeridAngle);

     
vehicleid[playerid] = AddStaticVehicleEx(idpos[0], pos[1], pos[2], Anglecor1cor230);
     
PutPlayerInVehicle(playeridvehicleid[playerid], 0);
     
LinkVehicleToInterior(vehicleid[playerid], GetPlayerInterior(playerid));
     
SetVehicleVirtualWorld(vehicleid[playerid], GetPlayerVirtualWorld(playerid));
     
criouveiculo[playerid] = true;
     return 
1;
}

public 
OnPlayerStateChange(playeridnewstateoldstate) {
       if(
oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT && criouveiculo[playerid] == true) {
         
DestroyVehicle(vehicleid[playerid]);
         
criouveiculo[playerid] = false;
       }
       return 
1;




RE: comando criar veiculos em zcmd - Carlos Victor - 20/04/2023

Código PHP:
CMD:criarveiculo(playeridparams[])
{
    static
        
vehicleid,
        
model,
        
color1color2,
        
Float:xFloat:yFloat:zFloat:a;

    if(
sscanf(params"k<vehicle>D(-1)D(-1)"modelcolor1color2))
        return 
SendClientMessage(playerid"/criarveiculo [Modelo/ID] [Cor 1 (Opcional)] [Cor 2 (Opcional)]");

    
GetPlayerPos(playeridxyz);
    
GetPlayerFacingAngle(playerida);

    
vehicleid CreateVehicle(modelxyzacolor1color2, -1);
    
PutPlayerInVehicle(playeridvehicleid0);
    return 
1;



Fiz o comando mais básico e simples possível, o k<vehicle> é uma funcionalidade do sscanf2 chamada Custom (kustom) specifiers (Especificadores customizados) e nele já tem o vehicle e o weapon como já definido, você pode chamar um veículo ou arma pelo seu nome ou ID, mesma coisa 411 ~ Infernus.

É bem interessante essa funcionalidade.