caotic 393 Postado Julho 13, 2013 Share Postado Julho 13, 2013 (editado) Eae galera xtibiana hoje irei disponbilizar um novo sistema de audio. Ou melhor 2 sistemas de audios rs acho que alguns viram o sistema de som AFL que disponiblizei para o xtibia. Mais ele erá muito limitado e alem de alguns bugs. Então eu comecei um projeto pokemon(que ainda está em pé) e a primeira coisa que veio na cabeça e um sistema de som completo que não travesse e que funcione no client da cipsoft. Então vamos la: Vamos escolher qual sistema de som vamos usar primeiramente vou explicar cada ponto: Dll Audio - A dll e compacta e super eficiente mais tem uma instalação um pouco mais dificil e requer conhecimento *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 Prontinho agora vamos a instalação: Primeiro execute o server de audio junto ao seu otserv: Server Audio Dll or Vb Form.rar Instale a blibioteca lua socket no seu otserv: http://w3.impa.br/~diego/software/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. 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 Audio Dll+Project VC++.rar Server Audio Dll or Vb Form.rar Editado Agosto 20, 2016 por Drazyn Link para o comentário Compartilhar em outros sites More sharing options...
Avuenja 253 Postado Julho 17, 2013 Share Postado Julho 17, 2013 Muito Bom Caotic... Ta de parabéns, guarda meu like ai.. hehe Link para o comentário Compartilhar em outros sites More sharing options...
leoperez011 0 Postado Julho 17, 2013 Share Postado Julho 17, 2013 isso funciona se eu compila junto com o client ? Link para o comentário Compartilhar em outros sites More sharing options...
Jobbysantos1999 38 Postado Julho 17, 2013 Share Postado Julho 17, 2013 Mt bom Link para o comentário Compartilhar em outros sites More sharing options...
caotic 393 Postado Julho 18, 2013 Autor Share Postado Julho 18, 2013 isso funciona se eu compila junto com o client ? Injection. Igual pokemon com as barras. Link para o comentário Compartilhar em outros sites More sharing options...
gustavo3754 55 Postado Novembro 24, 2013 Share Postado Novembro 24, 2013 Não consegui baixar a blibioteca Link para o comentário Compartilhar em outros sites More sharing options...
Shotta 2 Postado Agosto 29, 2015 Share Postado Agosto 29, 2015 como faço para instalar luasocket lib? Link para o comentário Compartilhar em outros sites More sharing options...
Diretor Yan Liima 576 Postado Agosto 31, 2015 Diretor Share Postado Agosto 31, 2015 Não entendi direito, poderia fazer um video? Link para o comentário Compartilhar em outros sites More sharing options...
kamus9629 8 Postado Maio 3, 2016 Share Postado Maio 3, 2016 isso e pra old ou otclient Link para o comentário Compartilhar em outros sites More sharing options...
valakas 90 Postado Maio 4, 2016 Share Postado Maio 4, 2016 reupa ai por favor ^^ Link para o comentário Compartilhar em outros sites More sharing options...
elias vieira alves 14 Postado Maio 4, 2016 Share Postado Maio 4, 2016 isso e pra old ou otclient ????? Link para o comentário Compartilhar em outros sites More sharing options...
God Maya 0 Postado Novembro 30, 2016 Share Postado Novembro 30, 2016 repost please Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados