Pesquisa resultou em 10 ocorrências

por mythrillex
08 Mai 2018, 17:49
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

Junior_Djjr escreveu:
mythrillex escreveu:
Israel escreveu: Em lua dá pra usar getAllChars().
:facep: não tinha visto isso, obrigado, vai deixar o script bem mais leve  
Será?
Em CLEO também tem e nem por isso é mais leve (na verdade é caso você estiver usando um raio limite em vez de pegar todo mundo).

Mas o seu código é para pegar pickups não chars. Não entendi.  
Então, mas eu pego os chars para executarem a ação de procurar o dinheiro sacas ? (calcular a distancia entre ele e o dinheiro etc.)
agora fiquei meio confuso kk
tipo, esse for que eu usei me dá todos os pedestres (não sei se é próximos mas funciona)
só que ele faz um for de readmemory
já o GetAllChars pegaria todos os pedestres e salvaria numa table, e eu trabalharia com ids em vez de readmemory
só que o GetAllChars já deve ser um for de readmemory  :philo:
não vou fazer benchmark no script mas se eu usar o getallchars vou reduzir umas 20 linhas de código :nerd:
por mythrillex
08 Mai 2018, 12:48
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

Israel escreveu: Em lua dá pra usar getAllChars().
:facep:  não tinha visto isso, obrigado, vai deixar o script bem mais leve
por mythrillex
04 Mai 2018, 19:50
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

Israel escreveu: Não existe x *= y em lua, tem que ser x = x * y.
opa, eu já tinha feito assim mas não tinha funcionado, tive uma leve impressão que já tinha usado o += e dado certo aí mantive, deixei todos desse jeito e funcionou o script :megusta:

converti o do all players também, ficou bem mais leve que o jeito que eu tinha feito kk
Imagem
por mythrillex
04 Mai 2018, 19:21
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

[19:20:51.116095] (error)    test.lua: F:\gtasa\moonloader\test.lua:58: '=' expected near '*'
[19:20:51.116095] (error)    test.lua: Script died due to an error. (078464CC)

que estranho, está dando erro nos operadores *=, /=
já tentei usar x = * x mas também dá erro, será que lua não faz cálculos em hex além da soma ?

tentei usar o do deathstroke tbm e dá o msm problema

Imagem
por mythrillex
04 Mai 2018, 18:53
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

:pokerface:

Código: Selecionar tudo

for i=0x9788C0, 0x97D620, 0x20 do
    if i > 0 then
        local x = i + 0x1A
        x = m.read(x, 2, false) -- memory.read(uint address, uint size, [bool unprotect=false])
        x *= 0x10000
        local y = i - 0x9788C0
        y /= 0x20
        x += y
        --x = pickup
        addBlipForPickup(x) -- addBlipForPickup(Pickup pickup) [add mark in pickup]
    end
end
fiz algo errado ? o script não está executando  :noob:
por mythrillex
04 Mai 2018, 06:06
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

http://www.gtamodding.com/wiki/Pickup_to_object
o problema é que pra trabalhar com ela você já precisaria do handle do pickup, ou seja gerar o pickup no próprio script ou na teoria ter algum handle já pego
por mythrillex
04 Mai 2018, 01:02
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

É acho que não vai dar ainda  de maneira eficiente..
dá para fazer o seguinte, criar uma esfera ao redor do jogador e ao um pedestre entrar no campo da esfera ele entrar para o grupo do jogador com a opção de seguir desabilitada
após isso fazer um thread esperando pela morte de tal pedestre, se ele morrer, criar um pickup de dinheiro e enviar o handle do pickup para alguma table.
depois do thread 1 fazer sua função que é esperar um jogador morrer para gerar um pickup editavel vem o thread 2 que ira criar uma esfera independente em cada posição de um pickup  da table usando um for e quando um pedestre passar perto acionar todo o sistema de animar, depois pegar o dinheiro, removendo o pickup e limpando o buffer, dessa forma funcionaria mas teria que ser um número limitado de drop de dinheiro para não ficar tão pesado
e gerenciar todas as animações e códigos sem usar waits(além do usado no loop principal) para não tirar a efetividade dos threads.

tudo isso se resolveria se existisse algum jeito de se obter o handle do pickup mas pelo que vi só é possivel usando funções do samp, creio que não descobriram os opcodes dos pickups completamente,  e como sou ruim no ollydbg acho que não vai dar tão bom apkosdap porém vou tentar fazer do jeito que expliquei a cima mas é de certeza que vai ficar muito lento, e se o jogo estiver usando gráficos pesados vai piorar
por mythrillex
03 Mai 2018, 21:39
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

Junior_Djjr escreveu: Caso tiver algum pickup de dinheiro próximo, e naquele local do pickup não tiver nenhuma pessoa próxima, vá até ele, olhe para os lados e pegue.
Logo após pegar, checar por outros próximos, igual acima, mas agora sem fazer a animação olhando.
Melhor pegar uns 3 pickups próximos em vez de só 1, senão vai ficar fazendo animação abaixando toda hora e não será natural.
Após pegar tudo próximo, volta pro primeiro caso, onde caso encontrar de novo, olhe para os lados.
já montei todo o sistema, agora só falta converter uma função cleo de transformar o pickup em objeto para eu obter o handle dele, pq é necessário para obter a proximidade entre o pedestre e o dinheiro (na verdade dá para fazer sem mas para deixar o código mais simples..) o ponto é que sem o handle não consigo fazer o pickup sumir por que não tem nenhuma variavel que me dê o pointer do money, só faz verificações com resultado boolean

achei essa função na internet mas não sei se ela funciona apenas com pickups ou se o moneypickup também se encaixa(se puder dizer antes de eu tentar converter isso ajudaria bastante)

Código: Selecionar tudo

 :Pickup2Object
    // [email protected] - input param (pickup handle)
    // get pickup pointer
    0085: [email protected] = [email protected] 
    0A91: [email protected] = [email protected] / 65536
    0A90: [email protected] = [email protected] * 65536
    0062: [email protected] -= [email protected]
    [email protected] *= 32
    [email protected] += 0x9788C0
    // read index
    0A8E: [email protected] = [email protected] + 0x1A
    0A8D: [email protected] = read_memory [email protected] size 2 virtual_protect 0
    if
        003B: [email protected] == [email protected]
    then    
        // obtain pickup's object pointer
        [email protected] += 4
        0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0
        if
            [email protected] > 0
        then
            // convert object pointer to a handle
            0A8D: [email protected] = read_memory 0xB7449C size 4 virtual_protect 0
            0AA8: call_function_method 0x465070 struct [email protected] num_params 1 pop 0 [email protected] [email protected]
            if
                03CA:   object [email protected] exists 
            then
                0485: return_true
                0AB2: ret 1 [email protected]
            end
        end
    end
    059A: return_false
    0AB2: ret 1 0
acho que nesse script terei que trabalhar com threads, são muitas coordenadas para fazer verificação kk

#edit
na verdade, agora que eu pensei, não sei como obter o handle do moneypickup pra converter ele em objeto kkkk eita
teria uma gambiarra que daria pra fazer bem legal, ao pedestres morrerem proximo ao jogador gerar pickups de money dentro do proprio script aí eu teria o pointer de cada money criado mas pra isso teria que fazer um mod para remover o drop de dinheiro ao matar npcs(para não ficar mta grana espalhada)
por mythrillex
03 Mai 2018, 20:11
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

Junior_Djjr escreveu: É realmente algo que demorou para alguém fazer...
É estranho ter dinheiro no chão e só você pegar.
Seria legal se ele antes fizesse animação de olhar pros lados para atravessar a rua, rapidamente, daí ele faz uma animação agachando para pegar algo (não sei qual, mas há mods que pegam armas do chão que usam alguma)
sim, é exatamente oq quero fazer.
meus mods eu faço em intervalos na aula eu tenho a documentação no celular e vou olhando as funções e adaptando no caderno e quando vou para casa faço debug no pc, por isso não estou focando tanto nos mods é mais uma passa tempo kk
por mythrillex
03 Mai 2018, 19:59
Fórum: Ideias de mods & Procura
Tópico: Pedestres pegam dinheiro
Respostas: 24
Exibições: 1219

Pedestres pegam dinheiro

Pedestres pegam dinheiro no chão, esse mod eu quero fazer só que ando sem tempo então estou deixando a ideia aqui para sair do papel
Basicamente o sistema seria o seguinte, se tivesse dinheiro no chão e algum pedestre passasse perto iria fazer verificação se existe o pickup próximo e o pedestre pegaria o dinheiro, caso o jogador estivesse perto ele pegaria o dinheiro e sairia correndo(não sei como fazer essa parte ainda), senão ele pegaria e andaria como se nada tivesse acontecido..
basicamente já dei todo o sistema, só falta codar, e é algo bem interessante pro jogo, sempre achei que faltava isso.
vou terminar de estudar aqui(vida real) e vou ir mexendo no sistema pra deixar o mais completo possível com um radius de verificação entre o ped e o dinheiro e talvez um alarme pra se tiver muita grana no chão e um ped pegar vir outros correndo pegar os outros lotes

Voltar para “Pedestres pegam dinheiro”