[Tutorial] Colocar bicicletas sem ligar motor
#1

Bom, eu nao vi isto em lado nenhum, e achei interessante explicar. Й um sistema bastante simples, que pode ser util para muitos
Eu pensei em colocar como FilterScript porem acho que й melhor como toturial

Bom comecando...
suponho que ja toda a gente tenho o sistema de por o motor desligado ao ligar o server...se nao sabem procurem por esta funcao
pawn Код:
ManualVehicleEngineAndLights();
https://sampwiki.blast.hk/wiki/ManualVehicleEngineAndLights

Agora comecando...

pawn Код:
new motorms,luzesms,alarmms,portasms,bonnetms,bootms,objectivems;
isto й o que vai ser usado no "GetVehicleParamsEx" portanto й importante defenir, se ja tem definido, nao precisa definir denovo

Agora vamos criar uma funcao que vai detectar se o veiculo onde estamos й uma bicicleta ou nao

pawn Код:
forward ModeloBicicleta(modeloid);
public ModeloBicicleta(modeloid)
{
    if(modeloid== 481 || modeloid== 509 || modeloid== 510)//modelo do veiculo
    {
        return 1;
    }
    return 0;
}
Agora que temos as bicicletas definidas vamos fazer o motor ligar. Bom sabemos que o suposto motor das bicicletas esta desligadoe quando entrarmos nelas o queremos o motor ligado entao vamos usar a seguinte funcao "OnPlayerEnterVehicle"

ficando desta forma
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)//funcao que deteta que o jogador esta a entrar num veiculo
{
    new modeloid = GetVehicleModel(vehicleid);
    if(ModeloBicicleta(modeloid))//detecta se estaa  entrar numa bicicleta
    {
        GetVehicleParamsEx(vehicleid,motorms,luzesms,alarmms,portasms,bonnetms,bootms,objectivems);//isto й importante para saber o estado do veiculo
        SetVehicleParamsEx(vehicleid,1,luzesms,alarmms,portasms,bonnetms,bootms,objectivems);//liga o suposto motor
    }
    return 1;
}
e agora para nao acorrerem bugs vamos desligar o motor ao sair da bicicleta

pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    new modeloid = GetVehicleModel(vehicleid);
    if(ModeloBicicleta(modeloid))
    {
        GetVehicleParamsEx(vehicleid,motorms,luzesms,alarmms,portasms,bonnetms,bootms,objectivems);
        SetVehicleParamsEx(vehicleid,0,luzesms,alarmms,portasms,bonnetms,bootms,objectivems);
    }
    return 1;
}

e й isso...coisa simples...mas que pode ser util
espero ter ajudado
Reply
#2

Bem legal, vai ajudar muito. Finalmente um tutorial util para a area...
Reply
#3

Obrigado
Reply
#4

й isso ai mano!! Muito obrigado! Tб de parabйns!
@EDIT: Coloquei aqui e nгo funcionou. Entro na bicicleta e ela continua sem andar.
Reply
#5

Opa opa opa... tinha-me esquecido de uma coisa xD

ve ai denovo ....

@iansinho

de nada
Reply
#6

Bom Tuto!
Reply
#7

й mais deixar tudo mais RPG, Bem Legal =)
Reply
#8

Bom, como disse em cima mais ninguem viu, as bicicletas continuam paradas sem andar.
Mas quando eu coloquei o
pawn Код:
if(ModeloBicicleta(modeloid))
    {
        GetVehicleParamsEx(vehicleid,motorms,luzesms,alarmms,portasms,bonnetms,bootms,objectivems);
        SetVehicleParamsEx(vehicleid,0,luzesms,alarmms,portasms,bonnetms,bootms,objectivems);
    }
dentro do comando /motorligar ficou certo.
Os avioes/helicopteros nao ligam nem com /motorligar, so as bicicletas. Nao sei porque. Quero descobri
Reply
#9

porque o
pawn Код:
if(ModeloBicicleta(modeloid))
define que a funcao so vai funcionar se
pawn Код:
if(ModeloBicicleta(modeloid))
for verdadeiro ou seja, se forem bicicletas, para dar em todos os veiculo tira isso ... eu nao percebi o porque dar bicicletas nao andarem...aqui funcinou...
Reply
#10

Eu tambйm nгo sei porquк.
Agora ta pegando em carros, motos e bicicletas. Menos Aviхes e Helicopteros. Mas vou fazer a mesma coisa como fiz com a bicicleta.
Eu tive uma ideia legal. Jб que as bicicletas tгo ligando sу no /motorligar eu vou criar no OnPlayerEnterVehicle, ai coloco a parada que tu fez e boto
pawn Код:
format(String, sizeof(String), "/mligar");        
    OnPlayerCommandText(i, String);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)