Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Ter 27 Fev 2018, 15:25
@Um Geek escreveu:
@Fabio escreveu:
@Um Geek escreveu:↑ Daria para chamar funções do bass.dll com isto ai? Não sei se estão fazendo lib's para o moonloader, seria facil ter novas funções no jogo compartilhadas por elas tipo acontece com o MoonAdditions só usando require.

Se você puder usar o LoadLibrary e GetProcAddress do Kernel32.dll dá para usar com o FFI e chamar as funções da bass.

Parece esta a cima do que consigo fazer, até porque não entendo tanto desta parte de dll's, vou tentar converter algo simples que já exista em cleo e ver o que consigo fazer.

É a mesma coisa que chamar as funções do jogo, só que ao invés de um endereço fixo, você vai precisar obter o endereço manualmente carregando a dll e pegando o endereço da função com o getDynamicLibraryProcedure.

______________________________
Lua Scripts - Moonloader - Duvidas - Página 2 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Lua Scripts - Moonloader - Duvidas - Página 2 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Cloud
Cloud
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Ter 27 Fev 2018, 22:36
Por que não usa ffi pra chamar as funções da bass ?

______________________________
Everyone gonna remember my name !
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Ter 27 Fev 2018, 23:01
Israel escreveu:Por que não usa ffi pra chamar as funções da bass ?
É o que estamos falando, pegar o endereço das funções pela getDynamicLibraryProcedure e fazer o call pela ffi.
Cloud
Cloud
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Ter 27 Fev 2018, 23:03
Mas se já vai usar a ffi pra dar call, por que não usar pra carregar a dll e pegar o endereço também ? philosoraptor

______________________________
Everyone gonna remember my name !
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Ter 27 Fev 2018, 23:09
Tanto faz philosoraptor
Alguma vantagem?
Cloud
Cloud
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Ter 27 Fev 2018, 23:19
Bem melhor:

Código:
local ffi = require("ffi")

local bass = ffi.load("bass")
ffi.cdef("int BASS_GetVersion()")

function main()
    local version = bass.BASS_GetVersion()
    
    while true do
        wait(0)
        
        if testCheat("bass") then
            printStringNow(string.format("%X", version), 2000)
        end
    end
end

______________________________
Everyone gonna remember my name !
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Ter 27 Fev 2018, 23:43
Bem massa.
Parei pra pensar agora, por que o @Um Geek quer carregar a bass pelo Lua se já da pra usar as funções da bass nativamente? philosoraptor
Código:
bool result, int handle = loadAudioStream(zstring audio)
setAudioStreamState(int handle, int state)
releaseAudioStream(int handle)
int length = getAudioStreamLength(int handle)
int state = getAudioStreamState(int handle)
float volume = getAudioStreamVolume(int audio)
setAudioStreamVolume(int audio, float volume)
setAudioStreamLooped(int audio, bool loop)
Um Geek
Um Geek
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 761
Reputação : 160
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
https://gta-geek.blogspot.com.br/
Qua 28 Fev 2018, 00:15
@Nex escreveu:Bem massa.
Parei pra pensar agora, por que o @Um Geek quer carregar a bass pelo Lua se já da pra usar as funções da bass nativamente? philosoraptor
Código:
bool result, int handle = loadAudioStream(zstring audio)
setAudioStreamState(int handle, int state)
releaseAudioStream(int handle)
int length = getAudioStreamLength(int handle)
int state = getAudioStreamState(int handle)
float volume = getAudioStreamVolume(int audio)
setAudioStreamVolume(int audio, float volume)
setAudioStreamLooped(int audio, bool loop)

Sim, tem todos os comandos que tem em cleo, bem fácil fazer tocar uma musica. A ideia era fazer uma radio usando BASS_StreamCreateURL. Via algo do tipo para GTA5 eu acho.

______________________________

.::
Os mods que crio serão colocados no meu workshop link
P_H
P_H
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 12
Reputação : 0
Desde : 22/05/2017
Sex 02 Mar 2018, 21:55
É possível alterar in game a cor referente a gangue mostrada no mapa? Ou seja, alterar a cor do território por exemplo dos Ballas que geralmente é Purple para alguma outra (sei lá... Red), como é possível no Extended Gang Wars .

Porém durante o gameplay !

* Pesquisei bastante mas sinceramente não encontrei nada sobre endereços de memórias específicos. Até olhei o código fonte do EGW , mas não sei ao certo como obter este resultado. Se alguém souber como fazer isso ficarei feliz em "ouvir" uma explicação (HMM)
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
Sex 02 Mar 2018, 22:08
Eu já tinha procurado antes, parece que não existe na net.

Eu fiz aqui pro GTA Brasil:

Em GTA3script:
Código:
//Ballas
WRITE_MEMORY 0x8D1344 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1350 1 (10)    FALSE //G
WRITE_MEMORY 0x8D135C 1 (0)     FALSE //B

//Grove
WRITE_MEMORY 0x8D1345 1 (0)     FALSE //R
WRITE_MEMORY 0x8D1351 1 (0)     FALSE //G
WRITE_MEMORY 0x8D135D 1 (0)     FALSE //B

// Vagos
WRITE_MEMORY 0x8D1346 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1352 1 (255)   FALSE //G
WRITE_MEMORY 0x8D135E 1 (255)   FALSE //B

//Rifa  
WRITE_MEMORY 0x8D1347 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1353 1 (255)   FALSE //G
WRITE_MEMORY 0x8D135F 1 (255)   FALSE //B

//Nang  
WRITE_MEMORY 0x8D1348 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1354 1 (255)   FALSE //G
WRITE_MEMORY 0x8D1360 1 (255)   FALSE //B

//Mafia
WRITE_MEMORY 0x8D1349 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1355 1 (255)   FALSE //G
WRITE_MEMORY 0x8D1361 1 (255)   FALSE //B

//Triads    
WRITE_MEMORY 0x8D134A 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1356 1 (255)   FALSE //G
WRITE_MEMORY 0x8D1362 1 (255)   FALSE //B

//Aztecas  
WRITE_MEMORY 0x8D134B 1 (255)   FALSE //R
WRITE_MEMORY 0x8D1357 1 (255)   FALSE //G
WRITE_MEMORY 0x8D1363 1 (255)   FALSE //B
Em seguida tem que chamar a função 0x00443FF0 (CGangWars::MakeAllZonesAvailableForWars) como já falei anteriormente.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Um Geek
Um Geek
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 761
Reputação : 160
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
https://gta-geek.blogspot.com.br/
Sex 16 Mar 2018, 11:39
https://luac.mtasa.com/

Lembro que usei este compilador uma vez assim que testei o moonloader a primeira vez e funcionou, estes dias testei novamente e não funcionou philosoraptor

______________________________

.::
Os mods que crio serão colocados no meu workshop link
Cloud
Cloud
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Sex 16 Mar 2018, 12:16

______________________________
Everyone gonna remember my name !
Um Geek
Um Geek
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 761
Reputação : 160
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
https://gta-geek.blogspot.com.br/
Sab 14 Abr 2018, 11:43
Israel escreveu:LuaJIT Compiler

Tambem não funciona, diz bitcode incompatível ou coisa do tipo.



Quem quer usar lua em vez de gta3script não perde tempo com notepad++, usa o Atom.

Lua Scripts - Moonloader - Duvidas - Página 2 Screen47

______________________________

.::
Os mods que crio serão colocados no meu workshop link
Um Geek
Um Geek
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 761
Reputação : 160
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
https://gta-geek.blogspot.com.br/
Sab 26 Maio 2018, 22:37
Teste que eu estava fazendo com o debug menu, funciona, no intando se reiniciar o script crasha.

Código:

local ffi = require 'ffi'
local deb = ffi.load("debugmenu.dll")

ffi.cdef[[
   typedef void(__cdecl externalCbFun_t)(const char externalCallbackStructure);
   void __cdecl DebugMenuAddCmd(const char *path, const char *name, externalCbFun_t fun);
]]


function main()
    wait(-1)
end

function test1()
    printStringNow("~b~testando function 01",3000)
end

function test2()
    printStringNow("~y~testando function 02",3000)
end

function test3()
    printStringNow("~p~testando function 03",3000)
end 

deb.DebugMenuAddCmd("meu mod","function 1", test1)
deb.DebugMenuAddCmd("meu mod","function 2", test2)
deb.DebugMenuAddCmd("meu mod","function 3", test3)

______________________________

.::
Os mods que crio serão colocados no meu workshop link
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Dom 27 Maio 2018, 10:18
Tem algum log do modloader?

Provavelmente precisa fazer o script não ser reiniciavel, o endereço anterior que vai para a função se torna inválido quando ele reinicia.


______________________________
Lua Scripts - Moonloader - Duvidas - Página 2 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Lua Scripts - Moonloader - Duvidas - Página 2 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Um Geek
Um Geek
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 761
Reputação : 160
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
https://gta-geek.blogspot.com.br/
Dom 27 Maio 2018, 23:29
fazer o script não ser re-inicializável? Ainda não sabia desta função. mas nem peguei log de nada, só queria ver como funciona o debugmenu, mas provavelmente terão que fazer algo na dll porque deve ter o mesmo problema se fosse feito em cleo, só iniciar um novo jogo e crasharia. quando eu testar de novo vejo o que da no log e colo aqui.

______________________________

.::
Os mods que crio serão colocados no meu workshop link
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Seg 28 Maio 2018, 02:06
@Um Geek escreveu:fazer o script não ser re-inicializável?  Ainda não sabia desta função. mas nem peguei log de nada, só queria ver como funciona o debugmenu, mas provavelmente terão que fazer algo na dll porque deve ter o mesmo problema se fosse feito em cleo, só iniciar um novo jogo e crasharia. quando eu testar de novo vejo o que da no log e colo aqui.

Também não sei dessa função, mas deve existir.

A dll deveria ter uma função para remove callback ou remover automaticamente ao recarregar o jogo.

______________________________
Lua Scripts - Moonloader - Duvidas - Página 2 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Lua Scripts - Moonloader - Duvidas - Página 2 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Conteúdo patrocinado
Tópicos similares
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum