Postado Agosto 30, 2017 7 anos Alguém ajuda com a conversão disso pra SQL? CREATE TABLE IF NOT EXISTS `busque-cabeca` ( `id` int(11) NOT NULL auto_increment, `fp_id` int(11) NOT NULL, `sp_id` int(11) NOT NULL, `k_id` int(11) NOT NULL, `added` int(15) NOT NULL, `prize` bigint(20) NOT NULL, `killed` int(11) NOT NULL, `kill_time` int(15) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; E deu o erro anexado: function onSay(cid, words, param) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Use: \"!busque [prize],[nick]\" Exemplo de prêmio 1(k).") return TRUE end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Use: \"!busque [prize],[nick]\" Exemplo de prêmio 1(k).") return TRUE end local sp_id = getPlayerGUIDByName(t[2]) if sp_id == nil then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Este player não existe") return TRUE end local result_plr = db.getResult("SELECT * FROM `busque_cabeca` WHERE `sp_id` = "..sp_id.." AND `killed` = 0;") if(result_plr:getID() ~= -1) then is = tonumber(result_plr:getDataInt("sp_id")) result_plr:free() else is = 0 end prize = tonumber(t[1]) if(prize == nil or prize < 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Use: \"!busque [prize],[nick]\" Exemplo de prêmio 1(k) return TRUE end if(prize >= 100000000000000000000) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Desculpe, você digitou um número muito grande") return TRUE end if is ~= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Este player já está sob mandato de morte.") return TRUE end if doPlayerRemoveMoney(cid, prize*1000) == TRUE then db.executeQuery("INSERT INTO `busque_cabeca` VALUES (NULL,"..getPlayerGUID(cid)..","..sp_id..",0," .. os.time() .. ","..prize..",0,0);") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] O Player foi adicionado na lista de morte!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Você não tem dinheiro suficiente para oferecer a recompensa nessa cabeça!") end return 1 end Editado Agosto 30, 2017 7 anos por JcA (veja o histórico de edições)
Postado Setembro 3, 2017 7 anos Quando aplico o comando !busque da o seguinte erro no log: Citar Lua Script Error: [TalkAction Interface] data/talkactions/scripts/busque.lua:onSay data/talkactions/scripts/busque.lua:6: attempt to call field 'explode' (a nil value) stack traceback: [C]: in function 'explode' data/talkactions/scripts/busque.lua:6: in function Alguém sabe o que pode ser? Ot versão 10.0
Postado Outubro 11, 2017 7 anos Perfeito, adaptar para modern aac é possivel? Em 8/27/2014 em 14:09, Absolute disse: Fala galera do TK, trago hoje a vocês um sistema chamado Bounty Hunters, porém traduzido e pouco modificado. Como funciona? O Player irá executar !hunt, VALOR,NICK Com este comando ele estará oferecendo uma recompensa para que matar o jogador de NICK que ele colocou.Ao player que dar o golpe final no jogador huntado receberá automaticamente o prêmio em sua backpack (Oferecido pelo solicitante do hunted) Sem mimimi vamos ao que interessa: Em data/talkactions/scripts crie um arquivo com o nome de busque.lua e dentro adicione o conteúdo: function onSay(cid, words, param) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Use: \"!busque [prize],[nick]\" Exemplo de prêmio 1(k).") return TRUE end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Use: \"!busque [prize],[nick]\" Exemplo de prêmio 1(k).") return TRUE end local sp_id = getPlayerGUIDByName(t[2]) if sp_id == nil then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Este player não existe") return TRUE end local result_plr = db.getResult("SELECT * FROM `busque_cabeca` WHERE `sp_id` = "..sp_id.." AND `killed` = 0;") if(result_plr:getID() ~= -1) then is = tonumber(result_plr:getDataInt("sp_id")) result_plr:free() else is = 0 end prize = tonumber(t[1]) if(prize == nil or prize < 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Use: \"!busque [prize],[nick]\" Exemplo de prêmio 1(k) return TRUE end if(prize >= 100000000000000000000) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Desculpe, você digitou um número muito grande") return TRUE end if is ~= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Este player já está sob mandato de morte.") return TRUE end if doPlayerRemoveMoney(cid, prize*1000) == TRUE then db.executeQuery("INSERT INTO `busque_cabeca` VALUES (NULL,"..getPlayerGUID(cid)..","..sp_id..",0," .. os.time() .. ","..prize..",0,0);") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] O Player foi adicionado na lista de morte!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[BUSQUE A CABEÇA] Você não tem dinheiro suficiente para oferecer a recompensa nessa cabeça!") end return 1 end Em data/talkactions/talkactions.xml adicione a seguinte linha: <talkaction access="0" log="no" filter="word" words="!busque" script="busque.lua" /> Agora em data/creaturescripts/scripts crie um arquivo com o nome busque-kill.lua e adicione: function onKill(cid, target) if isPlayer(target) == TRUE then ---- BOUNTY HUNTERS START ----- pid = cid pid2 = getPlayerGUID(target) local result_plr = db.getResult("SELECT * FROM `busque_cabeca` WHERE `sp_id` = "..pid2.." AND `killed` = 0;") if(result_plr:getID() ~= -1) then prize = tonumber(result_plr:getDataInt("prize")) bid = tonumber(result_plr:getDataInt("id")) result_plr:free() else prize = 0 bid = 0 end if (bid ~= 0 and prize ~= 0 and not(getTileInfo(getCreaturePosition(cid)).pvp)) then db.executeQuery("UPDATE `busque_cabeca` SET `killed` = 1, `k_id`="..getPlayerGUID(cid)..", `kill_time` = " .. os.time() .. " WHERE `id` = "..bid..";") doPlayerAddMoney(cid,prize*1000) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,'[BUSQUE A CABEÇA] Você matou um jogador que estava em pena de morte, receba sua recompensa!') end ---- BOUNTY HUNTERS END ----- end return TRUE end Em data/creaturescripts/creaturescripts.xml adicione a seguinte linha: <event type="kill" name="Busque" script="busque-kill.lua"/> Agora ainda na pasta creaturescripts/scripts abra o seu arquivo login.lua e abaixo de registerCreatureEvent(cid, "PlayerDeath") adicione: registerCreatureEvent(cid, "Busque") Agora pra finalizar, vá no seu PHPMYADMIN/SQL e execute a seguinte query: CREATE TABLE IF NOT EXISTS `busque-cabeca` ( `id` int(11) NOT NULL auto_increment, `fp_id` int(11) NOT NULL, `sp_id` int(11) NOT NULL, `k_id` int(11) NOT NULL, `added` int(15) NOT NULL, `prize` bigint(20) NOT NULL, `killed` int(11) NOT NULL, `kill_time` int(15) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Caso possua site e queira colocar a página, segue a página do gesior, coloque em www/ <?php @mysql_connect("localhost","user","password"); @mysql_select_db("database"); $main_content .= '<P ALIGN=CENTER> <br> <FONT SIZE=5 COLOR=#CFF00C> Como usar... </FONT> <br> <br> <FONT SIZE=2 COLOR=#CFF00C> * !hunt [prize],[nick] : <FONT SIZE=1 COLOR=#FCC33F> Exemplo de HUNT:<br> Digite: !hunt 100,Absolute </FONT><br> </FONT> </P> <br> <br> <center> <h1> Bounty Hunters </h1> </center> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="#505050"> <TD CLASS=white width=30%> <center><B>Encomendado</B></center> </TD> <TD CLASS=white width=30%> <center><B>Valor do Prêmio</B></center> </TD> <TD CLASS=white width=30%> <center><B>Sacrificado</B></center> </TD> <TD CLASS=white width=10%> <center><B>Morto Por</B></center> </TD> </TR>'; $inv = @mysql_query("SELECT * FROM `busque_cabeca` ORDER BY `added` DESC"); $num = 0; $color=$config['site']['darkborder']; while($tab = @mysql_fetch_array($inv)){ if($num%2 == 0){$color=$config['site']['darkborder'];}else{$color=$config['site']['lightborder'];} $pid = $tab['fp_id']; $sid = $tab['sp_id']; $kid = $tab['k_id']; $killed = $tab['killed']; $prize = $tab['prize']*1000; if($killed == 0){ $kill = '<font color="red">Ninguém Ainda!</font>'; }else{ $k = @mysql_query("SELECT * FROM `players` WHERE `id` = ".$kid.""); $k1 = @mysql_fetch_array($k); $kill_name = $k1['name']; $kill = '<a href="index.php?subtopic=characters&name='.$kill_name.'">'.$kill_name.'</a>'; } $f = @mysql_query("SELECT * FROM `players` WHERE `id` = ".$pid.""); $f1 = @mysql_fetch_array($f); $s = @mysql_query("SELECT * FROM `players` WHERE `id` = ".$sid.""); $s1 = @mysql_fetch_array($s); $fn = $f1['name']; $sn = $s1['name']; $main_content .= ' <TR BGCOLOR="'.$color.'"> <TD> <center> <b> <a href="index.php?subtopic=characters&name='.$fn.'">'.$fn.'</a> </b> </center> </TD> <TD> <center> <b> '.$prize.' gp </b> </center> </TD> <TD> <center> <b> <a href="index.php?subtopic=characters&name='.$sn.'">'.$sn.'</a> </b> </center> </TD> <TD> <center> <b> '.$kill.' </b> </center> </TD> </TR>'; $num++; } if($num == 0){ $main_content.='<TR BGCOLOR="'.$color.'"> <TD colspan=4> <center> No momento não há cabeças para busca. </center> </TD> </TR>'; } $main_content .='</TABLE><div align="right">Copyright © <a href="http://www.tibiaking.com/forum/user/116608-absolute/">Absolute on TibiaKing</a>.</div>'; ?> Aqui: @mysql_connect("localhost","user","password"); @mysql_select_db("database"); Em user coloque o seu usuário phpmyadmin e em password a senha. Em database o nome do seu banco de dados. Pós isso, abra seu index.php e procure por: case "guilds"; $topic = "Guilds"; $subtopic = "guilds"; include("guilds.php"); break; Após o break; Adicione: case "busque-cabeca"; $topic = "Busque a Cabeca"; $subtopic = "characters"; include("busque-cabeca.php"); break; Depois vá em layouts/tibiacom/layout.php e procure por: <a href='index.php?subtopic=guilds'> <div id='submenu_guilds' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_guilds' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>Guilds</div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> Logo abaixo adicione: <a href='index.php?subtopic=busque-cabeca'> <div id='submenu_bounty' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_biunty' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>Busque a Cabeca!</font></div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> Pronto, tudo perfeito! Créditos para o autor base masteuszx. Absolute. Qualquer dúvida publique no tópico, será bem legal ver esse sistema nos vossos servidores Até o próximo sisteminha. Absolute. Eu uso modern, dá pra adaptar para modern, ou algum código parecido mais simples pra modern, quais estao sendo caçados e o valor seria basicamente isso
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.