Postado Julho 30, 2015 9 anos *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: 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: 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 Akilocal 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 site acesse:http://rexwar.esy.es se te ajudei mi ajude com um like canal do youtube:https://www.youtube.com/channel/ blog:http://yakinhotutoriais.blogspot.com.br/ site acesse:http://rexwar.esy.es 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.