SA-MP Forums Archive
[Ajuda] Adicionar sirene no veнculo atual - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Adicionar sirene no veнculo atual (/showthread.php?tid=604128)



Adicionar sirene no veнculo atual - GabrielLost - 01.04.2016

Olб, eu sou meio que iniciante em programaзгo pawn, eu estou querendo adicionar um comando ao meu GM, para definir quais veнculos vгo ter a funзгo addsiren, coloquei a funзгo no meu gm, e todos os veнculos tem sirene, quero que me ajudem a criar um comando que ao eu executa-lo o habilita o addsiren para o veнculo que estou.

uso zcmd e scanff.


Re: Leia no tуpico - rhaegartargaryen - 01.04.2016

poste o codigo '-'


Re: Leia no tуpico - GabrielLost - 01.04.2016

Entгo amigo, isso que eu quero saber, eu sei criar comandos em zcmd, mas nгo sei qual funзгo adicionar ao comando.


Re: Leia no tуpico - rhaegartargaryen - 01.04.2016

Quote:
Originally Posted by GabrielLost
Посмотреть сообщение
Olб, eu sou meio que iniciante em programaзгo pawn, eu estou querendo adicionar um comando ao meu GM, para definir quais veнculos vгo ter a funзгo addsiren, coloquei a funзгo no meu gm, e todos os veнculos tem sirene, quero que me ajudem a criar um comando que ao eu executa-lo o habilita o addsiren para o veнculo que estou.

uso zcmd e scanff.
como destacado vocк disse que colocou a funзгo e todos os veiculos tem a sirene entгo posta a funзгo pra eu ver se tem como por sу pra determinados veiculos '-'


Re: Leia no tуpico - GabrielLost - 01.04.2016

Entгo... eu adicionei o "addsiren" no CreateVehicle, mas todos os carros que eu crio vem com sirene, eu quero criar um comando para setar a funзгo "addsiren" somente para os veнculos que quero, tipo, estou com um premier, ele atй entгo estб sem a funзгo "addsiren" (que no caso adiciona o som de sirene no veнculo), ai eu dou o comando "/adicionarsirene" e a funзгo й adicionada ao veнculo.

Eu ainda nгo coloquei nada mais que o "addsiren" no CreateVehicle, mas vou lhe passar as coordenadas do CreateVehicle, creio que nгo vai influкnciar muito.

CreateVehicle(modelid, x, y, z, angle, color1, color2, -1, 0);

Esse ultimo zero й da funзгo addsiren.


Re: Leia no tуpico - GabrielLost - 02.04.2016

Entгo... eu pesquisei por alguns tуpicos aqui no fуrum e achei algumas dicas, mas nada que me levasse a adicionar realmente o som da sirene ao veнculo, tenho as novas funзхes no meu GM, mas o comando na verdade nгo funciona como deveria, vou estar postando os cуdigos, se puder ajuda agradeзo desde jб.

Este й o comando:

PHP код:
CMD:addsiren(playeridparams[])
{
    new 
vehicleid GetPlayerVehicleID(playerid);
    new 
siren GetVehicleParamsSirenState(vehicleid);
    if(
GetFactionType(playerid) != FACTION_POLICE)
    {
     if(
siren == 1)
        {
            
siren 0;
            
SendClientMessageEx(playeridCOLOR_WHITE"Sirene removida.");
            return 
1;
        }
        else
        {
            
siren 1;
            
SendClientMessageEx(playeridCOLOR_WHITE"Sirene adicionada.");
            return 
1;
        }
    }
 return 
1;

Esta й a funзгo que adicionei.

PHP код:
forward OnVehicleSirenStateChange(playeridvehicleidnewstate);
public 
OnVehicleSirenStateChange(playeridvehicleidnewstate)
{
    if(
newstate)
        
GameTextForPlayer(playerid"~W~Siren ~G~on"10003);
    else
        
GameTextForPlayer(playerid"~W~Siren ~r~off"10003);
    return 
1;

**OBS: Eu nгo tenho certeza, mas acho que eu deveria adicionar a funзгo (GetVehicleParamsSirenState), mas nгo sei a maneira de adiciona-la ao meu GM, agradeзo novamente por estar lendo o tуpico e tentar me ajudar a montar meio que um quebra cabeзa kkk, й nуs!


Re: Adicionar sirene no veнculo atual - lucas_mdr1235 - 02.04.2016

Eu tambem estou com uma duvida relacionada a isso tambem, ao meu ver se caso vc queira add sirene em um veiculo de imediato precisara destruir o mesmo e recria-lo com sirene novamente ficando mais ou menos assim. Voce mesmo fara as melhorias do cmd ai ! ! !
PHP код:
//TOPO GM
    
new SirenCar[MAX_VEHICLES];
    new 
VehicleidSirene[MAX_PLAYERS] = GetPlayerVehicleID(playerid);
//
CMD:addsiren(playeridparams[])
{
    if(
GetPlayerState(playerid) == 2)
    {
        if(
GetFactionType(playerid) != FACTION_POLICE)
        {
            new 
ModeloCar GetVehicleModel(vehicleid);
            new 
vehicleid GetPlayerVehicleID(playerid);
            new 
Float:PosCaRX,Float:PosCaRY,Float:PosCaRZ;
            
GetPlayerPos(playeridPosCaRX,PosCaRY,PosCaRZ);
            new 
Float:Velocity[4];
            
GetVehicleVelocity(vehicleidVelocity[0], Velocity[1], Velocity[2]);
            if(
VehicleidSirene[playerid] == vehicleid)
            {
                 if(
SirenCar[vehicleid] == 1)
                {
                    
SirenCar[vehicleid] = 0;
                    
VehicleidSirene[playerid] = 0;
                    
DestroyVehicle(vehicleid);
                    
CreateVehicle(ModeloCarPosCaRX,PosCaRY,PosCaRZ0.000600000);
                    
PutPlayerInVehicle(playeridvehicleid0);
                    
SetVehicleVelocity(vehicleidVelocity[0], Velocity[1], Velocity[2]);
                    
SendClientMessageEx(playeridCOLOR_WHITE"Sirene removida.");
                    return 
1;
                }
                else
                {
                    
SirenCar[vehicleid] = 1;
                    
VehicleidSirene[playerid] = vehicleid;
                    
DestroyVehicle(vehicleid);
                    
CreateVehicle(ModeloCarPosCaRX,PosCaRY,PosCaRZ0.000600001);
                    
PutPlayerInVehicle(playeridvehicleid0);
                    
SetVehicleVelocity(vehicleidVelocity[0], Velocity[1], Velocity[2]);
                    
SendClientMessageEx(playeridCOLOR_WHITE"Sirene adicionada.");
                    return 
1;
                }
            }
            else
            {
                
SendClientMessageEx(playeridCOLOR_WHITE"Vocк so pode retirar a sirene do veiculo que adicionar a sirene !");
            }
        }
    }
    else
    {
        
SendClientMessageEx(playeridCOLOR_WHITE"Vocк precisa ser o motorista do veiculo para usar o cmd !");
    }
     return 
1;

PHP код:
public OnVehicleSirenStateChange(playeridvehicleidnewstate)
{
    if(
newstate){ GameTextForPlayer(playerid"~W~Sirene ~G~on"10003);}
    else{ 
GameTextForPlayer(playerid"~W~Sirene ~r~off"10003);}
    return 
1;