Tudo que Absolute postou
-
(Resolvido)Pega valor da exp ganha do player!
hã? ninguém vai entender jovem... Especifique melhor.
- (Resolvido)[HELP] Auto menssgem
-
(Resolvido)Id aonde vou logar pela primeira vez !
Então aqui: ["Bulbasaur"] = {x = 47, y = 44, z = 7}, ["Squirtle"] = {x = 49, y = 44, z = 7}, ["Charmander"] = {x = 51, y = 44, z = 7}, Você coloca as posições onde quer que o char/vocation nasça, entendeu?
- [Busque a cabeça] Mandato de morte! SCRIPT!
- [Busque a cabeça] Mandato de morte! SCRIPT!
- [Busque a cabeça] Mandato de morte! SCRIPT!
-
[Busque a cabeça] Mandato de morte! SCRIPT!
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.
-
Duvida sobre tag config.lua
Use: http://www.tibiaking.com/forum/topic/9350-86x-tfs-04-dev-rev3884/
-
Duvida sobre tag config.lua
instável pra que?
-
Duvida sobre tag config.lua
Essa tag checa o items.otb, tem distro que aceita a tag, tem distro que não, no entanto recomendo fazer direto nas sources no items.cpp Mas tente.
- systema vip com [VIP] no nome
-
[PEDIDO] OT SERVER
O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Downloads → OTServs 9.x -10.x" Para: "OTServ → Suporte OTServ → Suporte de OTServ Geral"
-
(Resolvido)[PEDIDO] Configuração de script
Resolvido.
-
Bug Lastest News [GESIOR] 1.0
O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de WebSites"
-
(Resolvido)Ajuda com Doação no site
Poste o arquivo pagseguro.php
-
Hunt + mini map
Gostei amigo, bem detalhada continue assim, abç.
-
(PEDIDO) Link do Baiak Yurots 8.60 (Original)
Esse tá bem básico: http://www.4shared.com/rar/zWPbJRhL/Baiak_Yurots_by_Kaue_V119.html
-
Prova que o Renato é do capeta
per
-
[Aol Blesser] Aol Protegido
Não tem erro meu jovem, tudo normal apenas quis dar um exemplo do Camaro. Fico feliz em ajuda-lo e poder ver no seu servidor, qualquer dúvida não deixe de me perguntar. Abraços.
-
[Aol Blesser] Aol Protegido
Olá caros membros do TK, vejo em vários servidores problema da bless não ser 100%, portando uma solução prévia seria lançar um "aol protegido" Seria um script de bless que adicionaria todas as blesses e um aol no seu devido slot, para que quando o player compre já fique seguro. Enfim, vamos lá: Em data/talkactions/scripts crie um arquivo com o nome de aolprotegido.lua e adicione dentro: local bless = {1, 2, 3, 4, 5} local cost = 50000 function onSay(cid, words, param) for i = 1, table.maxn(bless) do if(getPlayerBlessing(cid, bless[i])) then doPlayerPopupFYI(cid, "Você ja tem seu aol protegido.") doSendMagicEffect(getPlayerPosition(cid), 31) return TRUE end end if(doPlayerRemoveMoney(cid, cost) == TRUE) then for i = 1, table.maxn(bless) do doPlayerAddBlessing(cid, bless[i]) doPlayerAddItem(cid, 2173, 1) end doCreatureSay(cid, "Aol Protected!!!" ,19) doSendMagicEffect(getPlayerPosition(cid), 49) doSendMagicEffect(getPlayerPosition(cid), 48) else doPlayerPopupFYI(cid, "Você precisa de 25k para comprar aol protegido.") end return TRUE end Pós isso abra seu talkactions.xml e adicione a seguinte linha: <talkaction words="!aolprotect" event="script" value="aolprotegido.lua"/> Enfim, o player vai ter o aol e por causa das blesseds não vai poder comprar enquanto morrer, então morreu retorna, executa o comando e fica todo protegido. Qualquer dúvida, poste aqui! Espero ter ajudado. Absolute.
-
Prova que o Renato é do capeta
a veiuuuuuuuuuuuu miiii discuuuuuuuuuuuuuuuuuuuuuuuuuuuupa, vou negativar ele agora pra você! OPS NÃO POSSO É MEU PATRÃO AEHAUEHAUEH
-
Prova que o Renato é do capeta
Pronto renato, te salvei dessa brother:
- (Resolvido){Ajuda} Account Manager
-
(Resolvido){Ajuda} Account Manager
Mal educado? Linguajar? Xingamento? Que o Xingou meu jovem? pois quem chinga primeiro pérde a razão Me mostre onde meu filho. A todo momento apenas dei um exemplo como o do Camaro que com certeza satisfará o autor do tópico, mas sempre há inexperientes no assunto como você para ficar de mimimi no tópico. Antes de falar do meu linguajar, procure escrever as palavras corretamente. E peço que use o bom senso como estou usando, não quero ter o trabalho de tomar medidas cabíveis. Abraços e conte sempre.
-
[WarInvite] /war invite TFS 1.0
Fala galera do TK, vi em alguns servidores grandes 10.x+ o comando de /war invite, ou seja todos os servidores que baixamos não contém este sistema, então resolvi pegar o script original como base e adapta-lo para tfs 1.0, trocando as funções e tudo mais. Sem mimimi vamos ao que interessa: Em data/talkactions/scripts crie um arquivo chamado: gwarabsolute.lua e dentro adicione o seguinte conteúdo: function onSay(cid, words, param) local player = Player(cid) local guild = player:getGuild() if(guild == nil) then player:sendCancelMessage("You need to be in a guild in order to execute this talkaction.") return false end local guild = getPlayerGuildId(cid) if not guild or (player:getGuildLevel() < GUILDLEVEL_LEADER) then player:sendCancelMessage("You cannot execute this talkaction.") return false end local t = string.split(param, ",") if(not t[2]) then player:sendChannelMessage("", "Not enough param(s).", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local enemy = getGuildId(t[2]) if(not enemy) then player:sendChannelMessage("", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end if(enemy == guild) then player:sendChannelMessage("", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local enemyName, tmp = "", db.storeQuery("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if tmp ~= false then enemyName = result.getDataString(tmp, "name") result.free(tmp) end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild1` = " .. enemy .. " AND `guild2` = " .. guild if(t[1] == "cancel") then query = "`guild1` = " .. guild .. " AND `guild2` = " .. enemy end tmp = db.storeQuery("SELECT `id`, `started`, `ended`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp == false) then player:sendChannelMessage("", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end if(t[1] == "accept") then local _tmp = db.storeQuery("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = result.getDataInt(_tmp, "balance") < result.getDataInt(tmp, "payment") result.free(_tmp) if(state) then player:sendChannelMessage("", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. result.getDataInt(tmp, "payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`ended` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`ended` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`started` = " .. os.time() .. ", `ended` = " .. (result.getDataInt(tmp, "ended") > 0 and (os.time() + ((result.getDataInt(tmp, "started") - result.getDataInt(tmp, "ended")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. result.getDataInt(tmp, "id") result.free(tmp) db.query(query) broadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return false end if(t[1] == "invite") then local str = "" tmp = db.storeQuery("SELECT `guild1`, `status` FROM `guild_wars` WHERE `guild1` IN (" .. guild .. "," .. enemy .. ") AND `guild2` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp ~= false) then if(result.getDataInt(tmp, "status") == 0) then if(result.getDataInt(tmp, "guild1") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end result.free(tmp) end if(str ~= "") then player:sendChannelMessage("", str, TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.floor(payment)+1000 tmp = db.storeQuery("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = result.getDataInt(tmp, "balance") < payment result.free(tmp) if(state) then player:sendChannelMessage("", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.query("INSERT INTO `guild_wars` (`guild1`, `guild2`, `started`, `ended`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") broadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return false end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.storeQuery("SELECT `id` FROM `guild_wars` WHERE `guild1` = " .. guild .. " AND `guild2` = " .. enemy .. " AND `status` = " .. status) if(tmp ~= false) then local query = "UPDATE `guild_wars` SET `ended` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. result.getDataInt(tmp, "id") result.free(tmp) db.query(query) broadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return false end if(status == 4) then player:sendChannelMessage("", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end tmp = db.storeQuery("SELECT `id`, `ended` FROM `guild_wars` WHERE `guild1` = " .. enemy .. " AND `guild2` = " .. guild .. " AND `status` = 1") if(tmp ~= false) then if(result.getDataInt(tmp, "ended") > 0) then result.free(tmp) player:sendChannelMessage("", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local query = "UPDATE `guild_wars` SET `status` = 4, `ended` = " .. os.time() .. " WHERE `id` = " .. result.getDataInt(tmp, "id") result.free(tmp) db.query(query) broadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return false end player:sendChannelMessage("", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end Ainda em data/talkactions/scripts crie um arquivo com nome de absolutebalance.lua e dentro adicione: local function isValidMoney(value) if(value == nil) then return false end return (value > 0 and value <= 99999999999999) end function onSay(cid, words, param) local player = Player(cid) local guild = player:getGuild():getId() if(guild == nil) then return true end local t = string.split(param, ' ', 1) if(player:getGuildLevel() == GUILDLEVEL_LEADER and isInArray({'pick'}, t[1])) then if(t[1] == 'pick') then local money = {tonumber(t[2])} if(not isValidMoney(money[1])) then player:sendChannelMessage('', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local resultId = db.storeQuery("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) if resultId == false then return false end money[2] = result.getDataInt(resultId, "balance") result.free(resultId) if(money[1] > money[2]) then player:sendChannelMessage('', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end if(not db.query('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then return false end doPlayerAddMoney(cid, money[1]) player:sendChannelMessage('', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) else player:sendChannelMessage('', 'Invalid sub-command.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) end elseif(t[1] == 'donate') then local money = tonumber(t[2]) if(not isValidMoney(money)) then player:sendChannelMessage('', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return true end if(getPlayerMoney(cid) < money) then player:sendChannelMessage('', 'You don\'t have enough money.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return true end if(not doPlayerRemoveMoney(cid, money)) then return false end db.query('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;') player:sendChannelMessage('', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) else local resultId = db.storeQuery('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild) if resultId == false then return false end player:sendChannelMessage('', 'Current balance of guild ' .. result.getDataString(resultId, "name") .. ' is: ' .. result.getDataInt(resultId, "balance") .. ' bronze coins.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) result.free(resultId) end end Pós isto, abra seu talkactions.xml e dentro adicione: <!--War System TALK by Absolute --> <talkaction words="/war" separator=" " script="gwarabsolute.lua" /> <talkaction words="/balance" separator=" " script="absolutebalance.lua" /> Nota: Você deve conter as colunas na database (Praticamente todas já possuem). Tabela de comando in-game para players: Observação Final: Você pode manter tanto a página quanto a talkaction para seu GuildWAR. Este conteúdo é feito por mim e exclusivo ao fórum tibiaking.com, não autorizo cópias ou demais postagens. Demais dúvidas utilize o fórum para perguntar. Espero ter ajudado. Absolute.