Deadstroke
Deadstroke
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 529
Reputação : 42
Desde : 08/02/2016
Localização : São Paulo
Seg 23 Jan 2017, 11:17
Não sei se ninguém já reparou, mas quando você atira com uma arma, o jogo não simula os tiros corretamente, ele faz com ela fique "girando" e tals, não dando uma aleatoriedade neles. Veja na imagem abaixo:

[SA] Problema estranho com tiros 20kpppy

Tentei solucionar escrevendo um valor aleatório para o accuracy (precisão) do player, mas o jogo sempre o reescreve, não adiantando porcaria nenhuma.

Código:
{$cleo}
0000:
while true
    wait 0
    Player.Defined($player_char)
    jf continue
    0A96: 0@ = actor $player_actor struct
    0A8E: 1@ = 0@ + 0x71A
    0A8D: 2@ = read_memory 1@ size 1 virtual_protect 0
    0209: 3@ = random_int_in_ranges 1 101
    0A8C: write_memory 1@ size 1 value 3@ virtual_protect 0
    0AD1: show_formatted_text_highpriority "Accuracy %d %d" time 1000 2@ 3@
end

Alguém pode ajudar a colocar um fix nisso ou algo assim? Tentando solucionar corretamente ou então tirando a reescritura o accuracy para ver se esse fix funciona...
Und
Und
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 457
Reputação : 32
Desde : 11/01/2016
Seg 23 Jan 2017, 14:34
Tem um mod pra corrigir isso, atirar em linha reta. http://moddegta.blogspot.com.br/2013/10/gta-sa-mod-bala-em-linha-reta.html
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 25
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
Seg 23 Jan 2017, 15:10
Você não postou em lugar errado não? serious?

E esse mod só força a não espalhar, graça alguma. TEM que espalhar.
Acredito que entrar dentro do CWeaponInfo (Info?) da arma e ficar editando o valor do espalhamento lá dentro dá certo. O problema é que teria que ficar guardando todos os valores padrões (afinal, senão você irá mudar o valor e nunca mais saberá qual era o padrão, e você precisa saber o padrão para criar a aleatoriedade por cima dele)

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Rafael_Antunes
Rafael_Antunes
Mensagens Nível 6
Mensagens Nível 6
Título : O mininu viciado em Cautir Istraiqui.
Mensagens : 1264
Reputação : 16
Desde : 16/11/2016
Localização : Seattle-Washington
Link : http://dyomworldbrasil.forumeiros.com/
Seg 23 Jan 2017, 18:34
Eu notei isso dps de instalar o mod de furos de tiros...

______________________________
[SA] Problema estranho com tiros RVNEjyB
Und
Und
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 457
Reputação : 32
Desde : 11/01/2016
Seg 23 Jan 2017, 18:42
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk bwuhahah serious?
Deadstroke
Deadstroke
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 529
Reputação : 42
Desde : 08/02/2016
Localização : São Paulo
Ter 24 Jan 2017, 01:50
@Junior_Djjr escreveu:Você não postou em lugar errado não? serious?

E esse mod só força a não espalhar, graça alguma. TEM que espalhar.
Acredito que entrar dentro do CWeaponInfo (Info?) da arma e ficar editando o valor do espalhamento lá dentro dá certo. O problema é que teria que ficar guardando todos os valores padrões (afinal, senão você irá mudar o valor e nunca mais saberá qual era o padrão, e você precisa saber o padrão para criar a aleatoriedade por cima dele)

Fiz o que falou e até funciona, mas não curto muito pois é uma gambiarra grande, já que não muda o fato da tendência do tiro fazer uma circunferência.

Mas ainda precisaria corrigir um "bug" da mira (crossfire) que fica aumentando e diminuindo de valor por causa desse script.
Deadstroke
Deadstroke
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 529
Reputação : 42
Desde : 08/02/2016
Localização : São Paulo
Ter 24 Jan 2017, 15:15
Esse foi o script que fiz. Se tiverem uma ideia melhor, já funciona mas a mira varia demais de tamanho:

Script:
Código:
{$cleo}
0000:
while true
    wait 0
    Player.Defined($player_char)
    jf continue
   
    0A96: 1@ = actor $player_actor struct
    0AA8: call_function_method 0x5E6580 struct 1@ num_params 0 pop 0 cSkillIndex 1@ // CPed__getWeaponSkillIndex
   
    0470: 2@ = actor $player_actor current_weapon
   
    0AA7: call_function 0x743C60 num_params 2 pop 2 cSkillIndex 1@ sWeaponType 2@ pclWeaponInfo 3@ // getWeaponInfo
   
    0A8E: 4@ = 3@ + 0x00
    0A8D: 4@ = read_memory 4@ size 4 virtual_protect 0
    if not 4@ == 1
    then continue
    end 
   
    0A8E: 5@ = 3@ + 0x38
    0085: 6@ = 5@
    0A8D: 6@ = read_memory 6@ size 4 virtual_protect 0
    32@ = 251
    33@ = 501
    while true
        wait 0
       
        //8@ = 1.0       
        Player.Defined($player_char)
        jf break
       
        //8@ = 2.0
        0470: 7@ = actor $player_actor current_weapon
        if 003B: 2@ == 7@
        jf break
       
        //8@ = 3.0
        0A96: 0@ = actor $player_actor struct
        0AA8: call_function_method 0x5E6580 struct 0@ num_params 0 pop 0 cSkillIndex 0@ // CPed__getWeaponSkillIndex
       
        if 003B: 0@ == 1@
        then 33@ = 0
        else
            if 33@ > 500
            then break
            end 
        end
       
        if 02E0: actor $PLAYER_ACTOR firing_weapon
        then 32@ = 0
        else
            if 32@ > 250
            then
                0A8C: write_memory 5@ size 4 value 6@ virtual_protect 0
                continue
            end 
        end
       
        //0209: 5@ = random_int_in_ranges 0 4@
        // Mininum random
        0087: 9@ = 6@ // (float)
        9@ /= 8.0
        0087: 10@ = 6@ // (float)
        10@ /= 3.0
        0208: 9@ = random_float_in_ranges 9@ 10@
        // Max random       
        0208: 10@ = random_float_in_ranges 6@ 1.51
        0208: 10@ = random_float_in_ranges 6@ 10@
        //Random value
        0208: 8@ = random_float_in_ranges 9@ 10@
        0209: 13@ = random_int_in_ranges 0 2
        if 13@ = 0
        then 8@ *= -1.0
        end
       
        0A8C: write_memory 5@ size 4 value 8@ virtual_protect 0
       
        0AD1: show_formatted_text_highpriority "Accuracy %.2f %.2f" time 1000 6@ 8@   
    end
    //0AD1: show_formatted_text_highpriority "Erro %.2f" time 1000 8@
    0A8C: write_memory 5@ size 4 value 6@ virtual_protect 0
   
    /*
    0A96: 0@ = actor $player_actor struct
    0A8E: 1@ = 0@ + 0x71A
    0A8D: 2@ = read_memory 1@ size 1 virtual_protect 0
    0209: 3@ = random_int_in_ranges 1 101
    0A8C: write_memory 1@ size 1 value 3@ virtual_protect 0
    0AD1: show_formatted_text_highpriority "Accuracy %d %d" time 1000 2@ 3@
    */
   
end
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum