Poccnn 385 Postado Junho 10, 2017 Share Postado Junho 10, 2017 Hail Xtibianos. Eu criei esse sistema, não lembro se foi a pedido de um membro ou não, para que seja interessante sempre matar o toplvl do otserver devido ao premio recebido por isso. Em config.lua adicione: huntedTopLevel = 100 -- "false" inibe o sistema; numero é o level minimo necessario para dar hunted ao toplvl.priceForEachLevelTohuntedTopLevel = 100 -- preço pago por cada lvl do toplvl ao mata-lo. Em creaturescripts.xml adicione: <event type="death" name="toplvl" script="toplvl.lua"/> Em creaturescripts/scripts/config.lua adicione: registerCreatureEvent(cid, "toplvl") Na mesma pasta, crie um arquivo lua com o nome toplvl e adicione: function onDeath(cid, corpse, deathList)local top,price = getConfigInfo("huntedTopLevel"),getConfigInfo("priceForEachLevelTohuntedTopLevel") if(isPlayer(cid))then -- hunted top level local _,level = getTopLevel() if(tonumber(level) and top and tonumber(level) >= top and tonumber(level) <= getPlayerLevel(cid))then for _,player in pairs(deathList) do if(isPlayer(player))then doPlayerAddMoney(player, getPlayerLevel(cid)*price) end end end end return trueend Agora abra o arquivo lib/050-functions.lua e adicione: function getTopLevel() --[[( Marcryzius )]]--local target,name,level = db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 ORDER BY 'level' DESC;"),"",0 if(target:getID() ~= -1) then repeat local glevel = target:getDataInt("level") if(level < glevel)then name,level = target:getDataString("name"), glevel end until not(target:next()) end target:free() return name,levelend No config.lua tu coloca o valor minimo requerido do toplvl para poder ser caçado. Duvidas, erros e qualquer outra coisa, deixe nos comentários. Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/ Compartilhar em outros sites More sharing options...
lpdz 0 Postado Agosto 14, 2017 Share Postado Agosto 14, 2017 Teria como colocar pra aparecer o nome do jogador e o level pra aparecer na tela? Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720934 Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 Aquela mensagem em vermelho para o servidor todo? Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720938 Compartilhar em outros sites More sharing options...
lpdz 0 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 Sim... se tiver como claro... Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720950 Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 Existe duas formas práticas de fazer isso. Uma com globalevents e outra com ondeath. A com globalevents, fica enviando de tempos em tempos a msg de quen é o top level atual; a outra manda a mensagem uma vez, toda vez que se mata o top level atual. Vou deixar aqui a globalevents para ficar anunciando o toplevel atual. Citar function onThink(cid, interval) local name,lvl = getTopLevel() doBroadcastMessage("top level: "..name.." as level: "..lvl..".") end Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720954 Compartilhar em outros sites More sharing options...
lpdz 0 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 (editado) entendi... mais teria como colocar que se matando aquele player especifico no caso o top level do sv, voce ganha uma recompensa...? outra coisa q eu queria saber, como colocar essa recompensa especifica... Editado Agosto 15, 2017 por lpdz nao dar double post Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720967 Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 Substitua a função doplayeraddmoney para doplayeradditem com os respectivos parâmetros e a recompensa desejada. Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720970 Compartilhar em outros sites More sharing options...
lpdz 0 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 teria como colocar por favor pra mim como ficaria, so pra mim colocar o id que eu quero... é pq n manjo muito disso, mais desde ja obrigado por sanar todas as minhas duvidas... Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720977 Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 (editado) 47 minutos atrás, lpdz disse: teria como colocar por favor pra mim como ficaria, so pra mim colocar o id que eu quero... é pq n manjo muito disso, mais desde ja obrigado por sanar todas as minhas duvidas... Citar doPlayerAddItem(player, id do item, quantidade) @lpdz Editado Agosto 15, 2017 por Poccnn Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1720979 Compartilhar em outros sites More sharing options...
Markzi 1 Postado Setembro 28, 2017 Share Postado Setembro 28, 2017 meu ot não possui creaturescripts/scripts/config.lua alternativa? problema com o site também Error occured! Error ID: More info: ERROR: #C-1 : Class::ConfigLUA - Line 62 of LUA config file is not valid [key: huntedTopLevel]File: /var/www/html/classes/configlua.php Line: 59File: /var/www/html/classes/configlua.php Line: 20File: /var/www/html/classes/configlua.php Line: 12File: /var/www/html/system/load.init.php Line: 42File: /var/www/html/index.php Line: 18 Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1722472 Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Outubro 1, 2017 Autor Share Postado Outubro 1, 2017 Em 28/09/2017 at 06:32, Markzi disse: meu ot não possui creaturescripts/scripts/config.lua alternativa? problema com o site também Error occured! Error ID: More info: ERROR: #C-1 : Class::ConfigLUA - Line 62 of LUA config file is not valid [key: huntedTopLevel]File: /var/www/html/classes/configlua.php Line: 59File: /var/www/html/classes/configlua.php Line: 20File: /var/www/html/classes/configlua.php Line: 12File: /var/www/html/system/load.init.php Line: 42File: /var/www/html/index.php Line: 18 o arquivo config.lua fica onde está a distro e não nesse diretório ai que tu citou. Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1722619 Compartilhar em outros sites More sharing options...
Markzi 1 Postado Outubro 2, 2017 Share Postado Outubro 2, 2017 Sim, eu compreendi, só que quando se altera o config.lua que está atrelado ao site gera esse bug, o site não reconhece essa tag e o script não roda no 1.3 tfs Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1722658 Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Outubro 3, 2017 Autor Share Postado Outubro 3, 2017 12 minutos atrás, Markzi disse: Sim, eu compreendi, só que quando se altera o config.lua que está atrelado ao site gera esse bug, o site não reconhece essa tag e o script não roda no 1.3 tfs Então não mecha no config.lua e adicione a variável ao script. local huntedTopLevel = 100 Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1722660 Compartilhar em outros sites More sharing options...
mulino 1 Postado Fevereiro 25, 2018 Share Postado Fevereiro 25, 2018 Em 15/08/2017 at 11:29, Poccnn disse: Existe duas formas práticas de fazer isso. Uma com globalevents e outra com ondeath. A com globalevents, fica enviando de tempos em tempos a msg de quen é o top level atual; a outra manda a mensagem uma vez, toda vez que se mata o top level atual. Vou deixar aqui a globalevents para ficar anunciando o toplevel atual. descupa reviver o topico mas o meu deu erro <globalevent name="toplevel" interval="2000" script="toplevel.lua"/> toplevel.lua function onThink(cid, interval) local name,lvl = getTopLevel() doBroadcastMessage("top level: "..name.." as level: "..lvl..".") end erro ] 25/2/2018 14:12:36] [Error - GlobalEvent Interface] [25/2/2018 14:12:36] data/globalevents/scripts/toplevel.lua:onThink [25/2/2018 14:12:36] Description: [25/2/2018 14:12:36] data/globalevents/scripts/toplevel.lua:3: attempt to call global 'getTopLevel' (a nil value) [25/2/2018 14:12:36] stack traceback: [25/2/2018 14:12:36] data/globalevents/scripts/toplevel.lua:3: in function <data/globalevents/scripts/toplevel.lua:1> [25/2/2018 14:12:36] [Error - GlobalEvents::think] Couldn't execute event: toplevel Link para o comentário https://xtibia.com/forum/topic/245429-sistema-autom%C3%A1tico-de-recompensa-por-matar-o-top-lvl-do-otserver/#findComment-1726653 Compartilhar em outros sites More sharing options...
Posts Recomendados