Ir para conteúdo

Featured Replies

Postado

*Junto vem um dll com o ip(127.0.0.1) mais não se preocupe coloquei o projeto do Visual C++ para você mudar o ip e recompilar.

 

Ela está disponivel aki:

zip.gif  Audio Dll+Project VC++.rar   498.3KB   21 downloads

 

 

 

Prontinho agora vamos a instalação:

 

Primeiro execute o server de audio junto ao seu otserv:

zip.gif  Server Audio Dll or Vb Form.rar   80.84KB   15 downloads

 

Instale a blibioteca lua socket no seu otserv:

http://w3.impa.br/~d...ware/luasocket/

 

 

 

Agora coloque está funcão na sua lib:

function sendAudio(cid, audio)
require('socket') 
local ip = "127.0.0.1" -- Seu ip Aki
local client = socket.connect(ip, 1234)
local t = "Send,"..doConvertIntegerToIp(getPlayerIp(cid))..","..audio..""
    client:send(t.."\n")
    client:settimeout(0.1)
client:close()
end

Pronto quando quiser executar um som basta usar a função sendAudio(cid, "id audio")

 

Se tiver usando a dll todos o sons devem ser guardados junto a ela.

 

Todos os formatos de audio devem ser ".wav" e todos precisam ser enumerados de 000 a 999 se não seguir tal regra terá varios problemas.

 

Agora vou passar um codigo em vb que fiz para você injentar a dll antes que o seu client inicie:

E NECESSARIO EXECUTAR DENTRO DE UM THEARED QUANDO FOR FAZER O SEU LAUNCHER.

 

 

Spoiler 
 

 

Imports System.Threading

 

Public Class PBO
   
Private trd As Thread
 
   
Private TargetProcessHandle As Integer
    Private pfnStartAddr As Integer
    Private pszLibFileRemote As String
    Private TargetBufferSize As Integer
 
   
Public Const PROCESS_VM_READ = &H10
   
Public Const TH32CS_SNAPPROCESS = &H2
   
Public Const MEM_COMMIT = 4096
    Public Const PAGE_READWRITE = 4
    Public Const PROCESS_CREATE_THREAD = (&H2)
    Public Const PROCESS_VM_OPERATION = (&H8)
    Public Const PROCESS_VM_WRITE = (&H20)
 
   
Public Declare Function ReadProcessMemory Lib "kernel32" ( _
   
ByVal hProcess As Integer, _
   
ByVal lpBaseAddress As Integer, _
   
ByVal lpBuffer As String, _
   
ByVal nSize As Integer, _
   
ByRef lpNumberOfBytesWritten As Integer) As Integer
 
   
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
   
ByVal lpLibFileName As String) As Integer
 
   
Public Declare Function VirtualAllocEx Lib "kernel32" ( _
   
ByVal hProcess As Integer, _
   
ByVal lpAddress As Integer, _
   
ByVal dwSize As Integer, _
   
ByVal flAllocationType As Integer, _
   
ByVal flProtect As Integer) As Integer
 
   
Public Declare Function WriteProcessMemory Lib "kernel32" ( _
   
ByVal hProcess As Integer, _
   
ByVal lpBaseAddress As Integer, _
   
ByVal lpBuffer As String, _
   
ByVal nSize As Integer, _
   
ByRef lpNumberOfBytesWritten As Integer) As Integer
 
   
Public Declare Function GetProcAddress Lib "kernel32" ( _
   
ByVal hModule As Integer, ByVal lpProcName As String) As Integer
 
   
Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _
   
ByVal lpModuleName As String) As Integer
 
   
Public Declare Function CreateRemoteThread Lib "kernel32" ( _
   
ByVal hProcess As Integer, _
   
ByVal lpThreadAttributes As Integer, _
   
ByVal dwStackSize As Integer, _
   
ByVal lpStartAddress As Integer, _
   
ByVal lpParameter As Integer, _
   
ByVal dwCreationFlags As Integer, _
   
ByRef lpThreadId As Integer) As Integer
 
   
Public Declare Function OpenProcess Lib "kernel32" ( _
   
ByVal dwDesiredAccess As Integer, _
   
ByVal bInheritHandle As Integer, _
   
ByVal dwProcessId As Integer) As Integer
 
   
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
   
ByVal lpClassName As String, _
   
ByVal lpWindowName As String) As Integer
 
   
Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
   
ByVal hObject As Integer) As Integer
 
 
   
Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
 
   
Private Sub Inject()
        Dim client As String = Application.StartupPath + "\dll\client.exe"
        If Not System.IO.File.Exists(client) Then
            MsgBox("ERROR! Verifique se a os arquivos (data) estão todos presentes se não baixe o launcher denovo" + vbNewLine + "Error de caminho")
        End If
        Dim x = Shell(client)
        While True
            If x Then
                Exit While
            End If
        End While
 
       
On Error GoTo 1 ' If error occurs, app will close without any error messages
        Dim caminho As String = Application.StartupPath + "\dll\dllPBO.dll"
        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, x)
        pszLibFileRemote = caminho
        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
        TargetBufferSize = 1 + Len(pszLibFileRemote)
        Dim Rtn As Integer
        Dim LoadLibParamAdr As Integer
        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
        CloseHandle(TargetProcessHandle)
1:      Application.Exit()
    End Sub
 
 
 
se te ajudei mi ajude com um like
 
post-154810-0-74779100-1428114524_thumb.        post-154810-0-22067300-1428114531_thumb.          post-154810-0-83198200-1427326965.gif
post-154810-0-48855100-1429834735.gif
 
 
 
 
0 comentários:

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo