Brazilian Modding Studio
Olá, seja bem vindo à Comunidade BMS!

Para se registrar no fórum, siga os passos:

1 - Clique em "Registrar-se" aqui em baixo;
2 - Aceite os termos de serviço;
3 - Escolha um nome de usuário e senha;
4 - Realize o login no fórum clicando em "Conectar-se".

Compartilhe
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Sab 17 Mar 2018, 13:48
Não é uma ajuda para mod, é mais uma curiosidade que tenho a algum tempo.
Criei uma DLL em C# com a estrutura abaixo.

Código:


namespace testeDLL
{
   /// <summary>
   /// Description of UserControl1.
   /// </summary>
   public partial class UserControl1 : UserControl
   {
      public UserControl1()
      {
         //
         // The InitializeComponent() call is required for Windows Forms designer support.
         //
         InitializeComponent();
         
         //
         // TODO: Add constructor code after the InitializeComponent() call.
         //
      }
      
      public int function1 (int v1, int v2)
      {
         int soma = v1 + v2;
         return soma;
      }      
            
   }
}


O meu foco seria a função function1, seria possível chamar em cleo e lua esta função usando callFunction?


Última edição por Um Geek em Sab 17 Mar 2018, 13:51, editado 1 vez(es)

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 19282
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
em Sab 17 Mar 2018, 13:50

______________________________

Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

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'
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Sab 17 Mar 2018, 14:29
Não deu aqui mesmo usando as referencias não é possível usar DllExport

Código:

 class Test
 {
 [DllExport("add", CallingConvention = CallingConvention.Cdecl)]
 public static int TestExport(int left, int right)
 {
 return left + right;
 }
 }

Achei isto também www.codeproject.com
Só que parece precisar baixar algo então ainda não testei já que não estou logado.

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Seg 19 Mar 2018, 14:34
Vou deixar isto de lado, passei um bom tempo no domingo vendo se conseguia algo e foi perda de tempo (WARY)

Ultimo teste foi com isto.

Usando SharpDevelop

teste_call.dll + dependências na pasta do jogo.
Código:

using System;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;

namespace MeuTeste
{
   internal static class dllExportTest
   {
     [DllExport("fteste", CallingConvention = CallingConvention.StdCall)]
     static bool fteste()
     {
         return true;
     }
   }  
}

gta3script para chamar
Código:

IF LOAD_DYNAMIC_LIBRARY "teste_call" (lib)
    WRITE_DEBUG "carregado"
    IF GET_DYNAMIC_LIBRARY_PROCEDURE "fteste" lib (proc)
        WRITE_DEBUG "function encontrada"
    ENDIF
    FREE_DYNAMIC_LIBRARY lib
ENDIF

Sucesso? Nenhum! (SHOCK)

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1241
Reputação : 99
Desde : 04/03/2013
Idade : 18
Ver perfil do usuário
em Seg 19 Mar 2018, 23:31
Precisa mesmo ser C#? Por que não faz em C ou C++?
Also, acho que cê esqueceu de por .dll/.asi no nome da lib na hora de carregar.
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Ter 20 Mar 2018, 11:14
Em C++\C consigo fazer, só que não sei fazer tanto como sei com C#, alem do ide que tenho que é para C#
A lib carrega de boa, mesmo sem a extensão, problema mesmo é só achar a função.

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 19282
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
em Ter 20 Mar 2018, 12:21
@Um Geek escreveu:Em C++\C consigo fazer, só que não sei fazer tanto como sei com C#, alem do ide que tenho que é para C#
A lib carrega de boa, mesmo sem a extensão,  problema mesmo é só achar a função.

Joga no IDA e dá uma olhada nos exports.

______________________________

Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

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'
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Ter 20 Mar 2018, 22:00
A versão do ida que tenho não abre


______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 19282
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
em Ter 20 Mar 2018, 23:20
@Um Geek escreveu:A versão do ida que tenho não abre


philosoraptor philosoraptor

Abra como se fosse um programa x86.

Pode enviar compilado pra eu dar uma olhada?

______________________________

Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

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'
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Ter 20 Mar 2018, 23:59
O ida tem suporte para .NET, no entanto é limitado aqui.



Vai ver tem algo errado na estrutura da biblioteca que criei, pelo que vi conseguem chamar de uma dll c# em c++, mas no cleo\lua não rolou.
Não testei com ffi do lua.

https://github.com/UmGeek/dlltest

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 19282
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
em Qua 21 Mar 2018, 00:04
@Um Geek escreveu:O ida tem suporte para .NET, no entanto é limitado aqui.

É que não é necessário descompilar o .NET nesse caso acredito eu, seria mais para ver como está sendo exportada.

Vou tentar olhar aqui.

Edit:


Ou não exportou, ou não exporta como dll comum. philosoraptor

______________________________

Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

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'
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Qua 21 Mar 2018, 00:15
Então pode ser o compilador, ele só tem uma opção de projeto para dll em c#



o c++ tem dynamic link library e static library, pode esta relacionado

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 19282
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
em Qua 21 Mar 2018, 00:36

______________________________

Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

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'
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 748
Reputação : 154
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Qua 21 Mar 2018, 23:14

______________________________

.::
Os mods que crio serão colocados no meu workshop link
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum