Página 1 de 1

[CLEO/SA] Possibilidade de o carro quebrar enquanto o CJ usa

Enviado: 09 Jul 2020, 17:08
por wooZ
Atualização: Agora o pneu também pode furar,thanks to AguiaX2
Fiz aqui rapidinho um mod que adiciona a possibilidade de o carro que o CJ está dirigindo quebrar (parar de funcionar).
Acho que não está perfeito,e eu não consegui testar direito (por usar valores aleatórios),mas é usável.
Source:
SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
NOP

LVAR_INT scplayer plcar rndnum rndwait generated carfire    //Agradecimentos ao _jakez pela dica

generated = 0                                               //PRA EVITAR DE O COMANDO FICAR SE REPETINDO,DEVE TER OUTRO MÉTODO MAS EU N LEMBRO

GET_PLAYER_CHAR 0 scplayer

main_loop:
WAIT 0
IF IS_CHAR_SITTING_IN_ANY_CAR scplayer
    GET_CAR_CHAR_IS_USING scplayer plcar
    IF generated = 0
        GENERATE_RANDOM_INT_IN_RANGE 0 25 rndnum            //NUMERO RANDOM QUE DEFINE SE O CARRO VAI OU N ESTRAGAR. DIMINUINDO O SEGUNDO ARGUMENTO AUMENTA A PROBABILIDADE E VICE-VERSA
        GENERATE_RANDOM_INT_IN_RANGE 0 300000 rndwait       //NUMERO RANDOM QUE DEFINE O TEMPO ATÉ O CARRO DO PLAYER ESTRAGAR. AUMENTANDO O SEGUNDO ARGUMENTO PODE FAZR O CARRO DEMORAR MAIS PRA ESTRAGAR E VICE-VERSA
        generated = 1
        IF rndnum < 4
            WAIT rndwait 
            BURST_CAR_TYRE plcar 1
            IF rndnum < 2
                SET_CAR_ENGINE_BROKEN plcar 1
                START_CAR_FIRE plcar carfire
                GOTO main_loop
            ENDIF
        ENDIF
        IF rndnum < 2                                       //AUMENTANDO ESTE AUMENTA A PROBABILIDADE DE O CARRO QUEBRAR
            WAIT rndwait                                    //TEMPO ATÉ O CARRO ESTRAGAR,NESSE CASO É USADO UM NUMERO ALEATÓRIO
            SET_CAR_ENGINE_BROKEN plcar 1
            START_CAR_FIRE plcar carfire
        ENDIF
    ENDIF
ENDIF
GOTO main_loop

}
SCRIPT_END

Re: [CLEO/SA] Possibilidade de o carro quebrar enquanto o CJ usa

Enviado: 09 Jul 2020, 18:35
por _jakez
Só uma dica para deixar menor o código: Você pode fazer todas as variáveis em uma linha assim: 

Código: Selecionar tudo

LVAR_INT scplayer plcar rndnum rndwait generated carfire
e pra outros tipos de variáveis é a mesma coisa. 

Re: [CLEO/SA] Possibilidade de o carro quebrar enquanto o CJ usa

Enviado: 09 Jul 2020, 20:49
por wooZ
_jakez escreveu:
09 Jul 2020, 18:35
Só uma dica para deixar menor o código: Você pode fazer todas as variáveis em uma linha assim:

Código: Selecionar tudo

LVAR_INT scplayer plcar rndnum rndwait generated carfire
e pra outros tipos de variáveis é a mesma coisa. 
Obrigado amigo,você é um amigo!
Eu ví isso no tutorial com o "LVAR_FLOAT x y z" e fiquei pensando mas nunca testei,vlw

Re: [CLEO/SA] Possibilidade de o carro quebrar enquanto o CJ usa

Enviado: 09 Jul 2020, 21:51
por _jakez
wooZ escreveu:
09 Jul 2020, 20:49
Obrigado amigo,você é um amigo!
nada poh :peepo7: ​​​​​​​

Re: [CLEO/SA] Possibilidade de o carro quebrar enquanto o CJ usa

Enviado: 13 Jul 2020, 05:20
por FilipeS
Legal, também esse seria um ótimo mod para treinar leitura de valores nas estruturas do jogo, se baseando nelas você poderia misturar essa aleatoriedade com o uso do motor, vendo o tempo que o motor fica ligado e em uso (acelerando), obtido por essa leitura, assim tendo motivos reais para quebrar o motor.

Re: [CLEO/SA] Possibilidade de o carro quebrar enquanto o CJ usa

Enviado: 14 Jul 2020, 01:22
por AguiaX2
wooZ, nesse opcode:

Código: Selecionar tudo

BURST_CAR_TYRE plcr 1
você poderia adicionar o opcode:

Código: Selecionar tudo

GENERATE_RANDOM_INT_IN_RANGE 0 4
nos IDs dos pneus, para assim ser aleatorio qual pneu será furado.
(os IDs dos pneus vão do 0 ao 3, mas se eu não me engano, esse opcode que gera um INT aleatorio lê apenas até o penultimo numero,
assim do 0 ao 4 será lido do 0 ao 3)

e se você quiser fazer o que o FilipeS disse, esse site poderia ajudar.
ou se preferir vasculhando no IDA.txt fornecido nesse topico mas acredito que esse mandei ja será o suficiente
(e ele é bem documentado)