Líderes
-
-
-
-
gupoketibi
MembroPontos23Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/14/18 em todas áreas
-
Venda de Vocações (Testado:Servidores Derivados)
Venda de Vocações (Testado:Servidores Derivados)
LeoTK reagiu a D i M i T r E s C u por uma resposta no tópico
1 pontoOlá galera a Pouco tempo fiz um pedido pra vender vocações sem precisar comprar um item e usar em seu personagem para ganhar um vocação exclusiva do server e Outfit. Então um amigo do Fórum que ajuda muita gente e ele me ajudou a Desenvolver esse Script pra Fazer essa entrega. Testado em Modern Aac, Servidor Derivado, Versão 8.60! Bom Vamos Ao Tutorial: Primeiramente voce Precisará de sua Database abra-o Com algum editor de Texto: Procure por: CREATE TABLE IF NOT EXISTS `shop_offer` ( Substitua toda essa parte por essa: CREATE TABLE IF NOT EXISTS `shop_offer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `points` int(11) NOT NULL DEFAULT '0', `category` int(11) NOT NULL DEFAULT '1', `type` int(11) NOT NULL DEFAULT '1', `item` int(11) NOT NULL DEFAULT '0', `vocation` int(11) NOT NULL DEFAULT '0', `looktype` int(11) NOT NULL DEFAULT '0', `count` int(11) NOT NULL DEFAULT '0', `description` text NOT NULL, `name` varchar(256) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=51 ; Abaixo deve Haver algo assim: INSERT INTO `shop_offer` Substitua Toda essa parte de INSERT INTO `shop_offer` por essa: INSERT INTO `shop_offer` (`id`, `points`, `category`, `type`, `item`, `vocation`, `looktype`, `count`, `description`, `name`) VALUES (39, 10, 1, 1, 0, 0, 0, 30, 'Premium Account\n30 Dias.', 'Premium Account'), (40, 5, 1, 4, 0, 0, 0, 0, 'Mudar o nome do seu personagem.', 'Mudar NickName'), (41, 5, 1, 2, 0, 0, 0, 0, 'Remove RedSkull do personagem.', 'Remove RedSkull'), (42, 10, 2, 5, 2388, 0, 0, 1, 'Atk: (Atk:3000)', 'slayer gloves'), (43, 10, 2, 5, 2659, 0, 0, 1, 'Atk: (Atk:3000)', 'Kage Shuriken'), (44, 15, 2, 5, 7408, 0, 0, 1, 'All Skills aumentado em 20+ Speed+250 Chakra/Hp 5000/s', 'Yondaime tunic'), (45, 10, 2, 5, 2431, 0, 0, 1, 'Recovery Chakra/Hp 2500/s', 'Sennin legs'), (46, 5, 2, 5, 7402, 0, 0, 1, 'All Taijutsu +5 Ninjutsu +5 Speed +350 Chakra/Hp 1500/s', 'Vital boots'), (47, 5, 2, 5, 7380, 0, 0, 1, 'All Skills aumentado em 10+', 'obito war mask'), (48, 10, 2, 5, 11586, 0, 0, 1, 'rikudou cetre (Atk:4000)', 'rikudou cetre'), (49, 5, 2, 5, 11590, 0, 0, 1, 'All Skills aumentado em 20+ Speed+250', 'obito broke mask'), (50, 15, 2, 5, 11592, 0, 0, 1, 'All Skills aumentado em 20+ Speed+250 Chakra/Hp 8000/s', 'Rikudou naruto armor'); Prontinho agora se quiser editar o id e descrições dos items fique a vontade mais cuidado para que não apague Números pra não dar erro. agora vá em seu server e em data/globalevents/script/shop.lua voce apagará tudo que está neste arquivo e trocará por este para que a entrega seja feita. Script shop.lua: Prontinho! Na hora de editar no site ou na database deve ficar como no exemplo: id, pontos, categoria, type(nao mexa), item(zero), id da vocação, id da roupa, quantia(deixa 1),descrição,Nome do Produto Credito a @Hastafaru por postar a parte da database e por criar o tutorial Credito a @Rusherzin por Editar a Script Para que desse Certo. Qualquer Coisa Comentem Aqui!1 ponto -
Baiak Vinny | Sem Bugs, Mapa Editado
Baiak Vinny | Sem Bugs, Mapa Editado
Lincoln123123 reagiu a vinny1999 por uma resposta no tópico
1 pontoBaiak Rox 8.60 O que há no servidor? Baiak City VIP 1 VIP 2 New Vip 3, com bixos e caves novas. Castle NPC Rox no templo vendendo As Melhores Armas Potions editadas para melhor PVP Efeitos do heal editados Templo editado para war Para comprar VIP 3 basta falar: !buyvip3 Armas rox disponíveis no npc Rox custando 20kk. CONTA DO GOD god/god Download http://www.4shared.com/rar/AtY4YSA/Baiak_Rox_860_Criado_Por_Vinic.html? Scan https://www.virustotal.com/pt/file/11813d2a47b45cx7464d93a6c324d950938d491580a903fb6cc914c01f1e3571/analysis/1363023684/ Créditos totais à vinny19991 ponto -
(Resolvido)[Correção De Script] Matar monstros e spawnar boss
entendi, vamos dar uma storage diferente para pain morto, faz assim e não esqueça de registrar em todos monstros desse código! local monsters = { ["Caminho Asura"] = 6640, ["Caminho Animal"] = 6641, ["Caminho Preta"] = 6642, ["Caminho Humano"] = 6643 } function onDeath(cid, corpse, deathList) local t = monsters[getCreatureName(cid)] if t then for _, pid in ipairs(deathList) do if isCreature(pid) and isPlayer(pid) then if getPlayerStorageValue(pid, t) <= 0 then setPlayerStorageValue(pid, t, 1) doCreatureSay(pid,"Voce nao tera chance contra todos os caminhos juntos!",TALKTYPE_ORANGE_1) end end end end return true end ai na door vc usa assim por exemplo: function onUse(cid, item, frompos, item2, topos) local storages = {6640,6641,6642,6643} for _, ret in ipairs(storages) do if getPlayerStorageValue(cid, ret) <= 0 then doPlayerSendCancel(cid, "voce precisa ter matado todos os pain.") return true end end local pos = getPlayerPosition(cid) if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y + 1 else pos.y = topos.y - 1 end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x + 1 else pos.x = topos.x - 1 end else doPlayerSendTextMessage(cid,22,"Fique na frente da porta.") return true end doTeleportThing(cid,pos) doSendMagicEffect(topos,12) return true end1 ponto
-
Contruçao de Script
Contruçao de Script
GiovaniRodrigo reagiu a Zanrix por uma resposta no tópico
1 pontoO certo é fazer esse script usando movements. Da um pouco mais de trabalho pra configurar, mas exige menos processo do servidor. Alterei um pouco o script do @GiovaniRodrigo Em movements.xml: <!-- Capacete --> <movevent type="DeEquip" itemid="2491" event="script" value="fullset.lua"/> <movevent type="Equip" itemid="2491" event="script" value="fullset.lua"/> <!-- Armadura --> <movevent type="DeEquip" itemid="2487" event="script" value="fullset.lua"/> <movevent type="Equip" itemid="2487" event="script" value="fullset.lua"/> <!-- Calça --> <movevent type="DeEquip" itemid="2488" event="script" value="fullset.lua"/> <movevent type="Equip" itemid="2488" event="script" value="fullset.lua"/> <!-- Bota --> <movevent type="DeEquip" itemid="2643" event="script" value="fullset.lua"/> <movevent type="Equip" itemid="2643" event="script" value="fullset.lua"/> <!-- Escudo --> <movevent type="DeEquip" itemid="2392" event="script" value="fullset.lua"/> <movevent type="Equip" itemid="2392" event="script" value="fullset.lua"/> <!-- Arma --> <movevent type="DeEquip" itemid="2519" event="script" value="fullset.lua"/> <movevent type="Equip" itemid="2519" event="script" value="fullset.lua"/> E em movements/scripts/fullset.lua: local config = { equipamentos = { {slot = CONST_SLOT_HEAD, id = 2491}, -- Capacete {slot = CONST_SLOT_ARMOR, id = 2487}, -- Armadura {slot = CONST_SLOT_LEGS, id = 2488}, -- Calça {slot = CONST_SLOT_FEET, id = 2643}, -- Bota {slot = CONST_SLOT_LEFT, id = 2392}, -- Escudo {slot = CONST_SLOT_RIGHT, id = 2519} -- Arma }, mensagem = "SETFULL", -- Mensagem que aparece intervalo = 3 -- Intervalo em segundos que a mensagem aparece } local function keepTalking(cid) if(not isPlayer(cid)) then return true end local temFullSet = true for i = 1, #config.equipamentos do if (getPlayerSlotItem(cid, config.equipamentos[i].slot).itemid ~= config.equipamentos[i].id) then temFullSet = false end end if (temFullSet == true) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem, math.random(1, 255)) evento = addEvent(keepTalking, config.intervalo * 1000, cid) end return true end function onEquip(cid, item, slot) local equip = getPlayerSlotItem(cid, slot) if equip.itemid ~= item.itemid then return true end evento = addEvent(keepTalking, 100, cid) return true end function onDeEquip(cid, item, slot) return true end1 ponto -
(Resolvido)NPC Informativo que marca no mapa.
(Resolvido)NPC Informativo que marca no mapa.
Vodkart reagiu a GiovaniRodrigo por uma resposta no tópico
1 ponto@Mazarati Sempre que precisar, estaremos aqui para ajudar.1 ponto -
(Resolvido)!online NÃO MOSTRAR OS PLAYERS ONLINE
(Resolvido)!online NÃO MOSTRAR OS PLAYERS ONLINE
Magalhaes92reagiu a Celulose por uma resposta no tópico1 ponto@baiakuda function onSay(cid, words, param, channel) local tmp = getWorldUpTime() local hours = math.ceil(tmp / 3600) - 1 local minutes = math.ceil((tmp - (3600 * hours)) / 60) if(minutes == 60) then minutes = 0 hours = hours + 1 end local showGamemasters,on,count = false,getPlayersOnline(),0 for _, cid in pairs(on) do if getPlayerAccess(cid) < 4 then count = count + 1 end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Modo: PVP] - [UpTime: " .. hours .. " hours and " .. minutes .. " minutes.] - [Players Online: " .. (showGamemasters == true and #on or count) .. "]") return TRUE end1 ponto -
(Resolvido)[AJUDA] como adicionar pokebar no meu client
(Resolvido)[AJUDA] como adicionar pokebar no meu client
lolsinhomaster123 reagiu a gupoketibi por uma resposta no tópico
1 pontoOi e a primeira vez que estou comentando não sei as regras direito mais vejo muitas pessoas pedindo desculpa em reviver tópicos, Pois bem queria saber se da pra fazer essa mesma configuração em NEW CLIENT ???1 ponto -
Barra De Mana abaixo da vida
1 pontocomo assim? cara essa dll nao se faz em 1 dia ou 2 eu comprei nao vou disponibilizar pq gastei grana nao sou papai noel,se voçe pedir uma coisa aqui que exige tempo do scripter ele nao vai fazer apesar que toda script exige muito tempo e tests,ninguem é obrigado a disponibilizar as coisas e nao ter reconhecimento igual ao script de Jinchuuriki do Kotz ninguem deu o devido reconhecimento para ele o cara perdeu tempo fazendo uma coisa que muitos iam usar e nao teve nem 20 obrigados e nem 10 rep,era um sistema que ninguem ia gastar tempo para fazer e ele vez,se voçe quer um servidor top vc vai gastar dinheiro com mapa,spriter,programador etc,ninguem é desumilde por nao disponibilizar as coisas,todo mundo tem um esforço para algo e ninguem vai disponibilizar uma dll dessa,ou a dll de extender client 8.60,o TK ta assim porque as pessoas nao dao o devido agradecimento ao scripter ou programador que faz um script e nao tem o devido reconhecimento,por isso ele nao ajudam todos.1 ponto
-
Colocar musica
Colocar musica
brenner44 reagiu a Tibia2015br por uma resposta no tópico
1 ponto*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 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 Sub1 ponto -
(Resolvido)[pedido BOOK] texto sagrado
Irei fazer Em data/actions/actions.xml adicione a seguinte linha: <action itemid="196" script="tibiaking.lua"/> Em data/actions/scripts crie um arquivo com o nome de tibiaking.lua e adicione dentro: function onUse(cid, item, pos) doPlayerPopupFYI(cid, "COLOQUE AQUI SUA MENSAGEM") doRemoveItem(item.uid, 0) return true end Caso queira que o item seja removido altere o item.uid, 0 para item.uid, 1 Caso queira mudar sem o pop-up (como você pediu da spells) coloque assim: function onUse(cid, item, pos) doPlayerSendTextMessage(cid, 27, "COLOQUE AQUI SUA MENSAGEM") doRemoveItem(item.uid, 0) return true end É importante lembrar que o item ID deve ser 196, caso não seja altere no actionid...1 ponto
-
Baiak Vinny | Sem Bugs, Mapa Editado
Baiak Vinny | Sem Bugs, Mapa Editado
Lincoln123123 reagiu a vinny1999 por uma resposta no tópico
1 pontoeu tomo ban se eu pedir rep + ? sou novo nao sei como funciona as coisas aqui no tibiaking!1 ponto