Página 1 de 1

[SA] CJ sangra ao tomar muito dano

Enviado: 22 Dez 2019, 17:17
por Lain
 Sim, eu sei, já deve existir um outro mod com a mesma função (que deve ser melhor), mas estou entediada e sem nada para fazer.

 Como o título diz, é um mod que faz o CJ sangrar; mais especificamente, com menos de 60 de HP ele começa a sangrar e a tela treme um pouco. Com menos de 30, a tela treme mais e as "pausas" entre os sangramentos são menos frequentes (afinal, não faz sentido o CJ ficar jorrando sangue toda hora, né?)

 Funciona com mods como o Recuperar saúde matando inimigos do HybridTheory. Se o seu HP estiver abaixo de 30 e subir para, por exemplo, 45, o CJ irá sangrar menos.

 Vou reescrever o script depois, devem ter várias coisas que possam ser cortadas ou refeitas. Até então, aqui o código fubeca de 34 linhas do V1.
SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
//necessário
    LVAR_INT scplayer
    GET_PLAYER_CHAR 0 scplayer

loopincriveluau:
WAIT 0

//HP < 60, > 30
    IF NOT IS_CHAR_HEALTH_GREATER scplayer 60
    WHILE IS_CHAR_HEALTH_GREATER scplayer 30
    SET_CHAR_BLEEDING scplayer 1
    SHAKE_CAM 100
    WAIT 1000
    SET_CHAR_BLEEDING scplayer 0
    SHAKE_CAM 0
    WAIT 1000
    ENDWHILE
    ENDIF

//HP < 30
    IF NOT IS_CHAR_HEALTH_GREATER scplayer 30
    SET_CHAR_BLEEDING scplayer 1
    SHAKE_CAM 250
    WAIT 1000
    SET_CHAR_BLEEDING scplayer 0
    SHAKE_CAM 0
    WAIT 500
    ENDIF

goto loopincriveluau
}
SCRIPT_END
Download da V1.
 Caso alguém tiver alguma ideia de algo que possa ser adicionado no mod, pode falar; eu tento colocar.
 
--
 V2 lançada.
Mod reescrito. Agora a câmera fica "zonza" (como o efeito de estar bêbado, ou drogado na missão da maconha do The Truth), você não pode correr se estiver com vida muito baixa, e as suas animações em geral ficam mais lentas. Esse mod tá virando algo completamente diferente a cada dia.
 
SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
//necessário
    LVAR_INT scplayer
GET_PLAYER_CHAR 0 scplayer
//gosubs e o loop main:
    loopprincipal:
WAIT 0
GOSUB profilaxia
GOSUB menosde60
GOSUB menosde30
GOSUB dano
GOTO loopprincipal
//pra evitar possíveis bugs:
profilaxia:
IF IS_CHAR_HEAD_MISSING scplayer
WAIT 0
    ENDIF
IF IS_CHAR_SITTING_IN_ANY_CAR scplayer
WAIT 0
    ENDIF
RETURN
//HP < 60, > 30
menosde60:
IF NOT IS_CHAR_HEALTH_GREATER scplayer 60
WHILE IS_CHAR_HEALTH_GREATER scplayer 30
SET_CHAR_BLEEDING scplayer 1
SET_PLAYER_DRUNKENNESS 0 50
WAIT 1000
SET_CHAR_BLEEDING scplayer 0
WAIT 1000
    ENDWHILE
    ENDIF
RETURN
//HP < 30. cejota também fica mais lento
menosde30:
IF NOT IS_CHAR_HEALTH_GREATER scplayer 30
SET_CHAR_BLEEDING scplayer 1
SET_PLAYER_DRUNKENNESS 0 75
DISABLE_PLAYER_SPRINT 0 1
SET_CHAR_ANIM_SPEED scplayer run_player 0.75 //Eu tive que baixar um editor de .IFP de um site russo pra conseguir o nome das anims.
SET_CHAR_ANIM_SPEED scplayer run_fat 0.75 //Se daqui a uma semana eu começar a spammar em russo no fórum, já sabem por que.
SET_CHAR_ANIM_SPEED scplayer walk_rocket 0.75
SET_CHAR_ANIM_SPEED scplayer walk_player 0.75
SET_CHAR_ANIM_SPEED scplayer run_armed 0.75
SET_CHAR_ANIM_SPEED scplayer run_1armed 0.75
SET_CHAR_ANIM_SPEED scplayer run_rocket 0.75
WAIT 1000
SET_CHAR_BLEEDING scplayer 0
WAIT 500
    ENDIF
RETURN
//não faz sentido o cejota sangrar e não tomar dano, então aqui ele vai tomar um pouquinho
dano:
IF NOT IS_CHAR_HEALTH_GREATER scplayer 60
WHILE IS_CHAR_HEALTH_GREATER scplayer 30
DAMAGE_CHAR scplayer 15 1
    ENDWHILE
    ENDIF
IF NOT IS_CHAR_HEALTH_GREATER scplayer 30
WHILE IS_CHAR_HEALTH_GREATER scplayer 10
DAMAGE_CHAR scplayer 5 1
    ENDWHILE
    ENDIF
RETURN
}
SCRIPT_END
 
Download da V2
 

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 22 Dez 2019, 17:48
por Junior_Djjr
Tente converter isto para todos os pedestres, daí vai ser uma boa substituição para os mods atuais.
Basta olhar nos comentários do mod de peds sangrando, todo mundo reclama que sangra demais.
O problema é fazer isto e preservar o delay, a dificuldade de criar o mod dessa forma usando cleo se multiplica demais. Daria pra só botar um delay pra cada pessoa, mas daí seria um delay "global", onde diferentes quantidades de pessoas fariam sair diferentes quantidades de sangue por ter um diferente delay, usar um delay pra cada pessoa o código ficaria difícil.

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 22 Dez 2019, 17:50
por Lain
 Sim, o motivo que eu nunca tentei fazer nada pra peds em geral é porque fazer um delay para cada ped é... no mínimo overkill. Vou tentar encontrar algum método de fazer ser um script "global". Obrigada!

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 23 Dez 2019, 14:14
por Lain
 Bugfixes e funções novas; acho que agora tá mais estável, inclusive.

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 24 Dez 2019, 02:31
por Dowglas de Azevedo
Aconteceu esse bug ao usar esse mod junto com o Low Life Animation e Simple Regeneration...
SpoilerAbrir
(A vida não é regenerada depois que perde)

 

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 24 Dez 2019, 07:33
por Junior_Djjr
Procure melhorar a indentação dos scripts, tá bagunçado e difícil entender.

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 24 Dez 2019, 08:26
por Lain
Junior_Djjr escreveu:
24 Dez 2019, 07:33
Procure melhorar a indentação dos scripts, tá bagunçado e difícil entender.
 Bizarro, agora que vi. Eu só copiei e colei o source code, então acho que a indentação sumiu (?)
 O script está assim no VS code. Vou colocar os espaços manualmente na próxima.
Dowglas de Azevedo escreveu:
24 Dez 2019, 02:31
Aconteceu esse bug ao usar esse mod junto com o Low Life Animation e Simple Regeneration...
 Bizarro², parece que ele tenta regenerar mas daí perde novamente. Vou dar uma olhada depois; obrigada por avisar.

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 24 Dez 2019, 09:53
por nadalao
muito massa sua iniciativa de aprender a fazer esses mod cleo!

mas enfim, a parte da profilaxia está errada, troque os IF por WHILE era pra ser um loop nessa parte, e você podia colocar já logo um loop com duas condições:
`WHILE IS_CHAR_HEAD_MISSING scplayer
OR IS_CHAR_SITTING_IN_ANY_CAR scplayer`

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 24 Dez 2019, 10:29
por Dowglas de Azevedo
Lain escreveu:
24 Dez 2019, 08:26
Bizarro², parece que ele tenta regenerar mas daí perde novamente
Exatamente isso.
Lain escreveu:
24 Dez 2019, 08:26
obrigada por avisar.
Denada.

Re: [SA] CJ sangra ao tomar muito dano

Enviado: 25 Dez 2019, 00:10
por Junior_Djjr
Lain escreveu:
24 Dez 2019, 08:26
Junior_Djjr escreveu:
24 Dez 2019, 07:33
Procure melhorar a indentação dos scripts, tá bagunçado e difícil entender.
Bizarro, agora que vi. Eu só copiei e colei o source code, então acho que a indentação sumiu (?)
O script está assim no VS code. Vou colocar os espaços manualmente na próxima.
Use o botão de adicionar código no editor do fórum (</>) pra colar o código.