Histórico de Curtidas
-
Cellu recebeu reputação de tutumont em [SCRIPT] Crystal Coin -> Gold IngotBom vamos ao script.
Vá em data/actions/scripts e abra o arquivo crystal.lua, apague tudo o que está dentro, logo em seguida cole o script abaixo:
Traduzindo:
Vermelho: É o id da crystal coin, e a quantidade a ser trocada por 1 gold nugget (Novo Gold).
Azul: É o id da gold nugget, e a quantidade de gold nugget.
Logo em seguida, vá novamente em data/actions/scripts copie qualquer arquivo.lua e cole, em seguida renomeie-o para "goldnuggets" sem aspas, abra-o, apague tudo, e cole o script abaixo.
Traduzindo:
Laranja: É o que vai dizer quando o player trocar 1 gold nugget por 100 crystal coins.
Verde: É o id da crystal coin, e a quantidade equivalente a 1 gold nugget.
Logo em seguida, abra data/actions/actions.xml e adicione a tag abaixo.
Traduzindo:
Rosa: É o id do gold nuggets.
Azul: O nome do arquivo.lua que você salvou.
Depois disso abra data/items/items.xml, aperte CTRL + F, e digite 2157, ai você vai achar o item Gold Nugget que vai estar assim:
Substitua tudo por isso:
<item id="2157" article="a" name="gold nugget" plural="gold nuggets">
<attribute key="weight" value="10"/>
<attribute key="worth" value="1000000" />
Traduzindo:
Vermelho: Peso do gold nugget.
Azul: Valor do item (como 1 crystal coin = 10k , 1 gold nugget = 1kk)
Logo depois vá data/actions/scripts/other e abra o arquivo changegold.lua, susbistitua tudo oque está la dentro por esse script a seguir, e salve:
-- By MatheusVidaLoka
local coins = {
[iTEM_GOLD_COIN] = {
to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
},
[iTEM_PLATINUM_COIN] = {
from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
},
[iTEM_CRYSTAL_COIN] = {
from = ITEM_PLATINUM_COIN, to = 2157, effect = TEXTCOLOR_LIGHTBLUE
},
[2157] = {
from = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_TEAL
}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then
return false
end
local coin = coins[item.itemid]
if(not coin) then
return false
end
if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then
doChangeTypeItem(item.uid, item.type - item.type)
doPlayerAddItem(cid, coin.to, 1)
doSendAnimatedText(fromPosition, "$$$", coins[coin.to].effect)
elseif(coin.from ~= nil) then
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
end
return true
end
Traduzindo:
Vermelho: É o id do Gold Nugget.
Por fim vá em data/actions/actions.xml, pule uma linha qualquer e cole isso, e salve:
<action itemid="2157" event="script" value="other/changegold.lua"/>
Traduzindo:
Azul: É o id do gold nugget.
Verde: O nome do arquivo que você salvou.
-
Cellu recebeu reputação de tirso em [b][PEDIDO] Evento de boss automatico[/b]Amigo só não sei como fazer os avisos, mais a invasão está ai!
Vc coloca em data/globalevents/scripts coloca com o nome de invasion.lua
local i = { ["00:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["03:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["06:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["09:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["12:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["15:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["18:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["21:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, } function onThink(interval, lastExecution) hours = tostring(os.date("%X")):sub(1, 5) tb = i[hours] if tb and getGlobalStorageValue(78341) ~= hours then doBroadcastMessage(hours .. " - " .. tb.nome .. " iníciou.") setGlobalStorageValue(78341, hours) for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) doSummonCreature(x:match("%s(.+)"), tb.pos2) end end end return true end Coloca essa tag em globalevents.xml :
<globalevent name="invasion" interval="15000" event="script" value="invasion.lua"/>
-
Cellu recebeu reputação de canaldextiger em [SCRIPT] Crystal Coin -> Gold IngotBom vamos ao script.
Vá em data/actions/scripts e abra o arquivo crystal.lua, apague tudo o que está dentro, logo em seguida cole o script abaixo:
Traduzindo:
Vermelho: É o id da crystal coin, e a quantidade a ser trocada por 1 gold nugget (Novo Gold).
Azul: É o id da gold nugget, e a quantidade de gold nugget.
Logo em seguida, vá novamente em data/actions/scripts copie qualquer arquivo.lua e cole, em seguida renomeie-o para "goldnuggets" sem aspas, abra-o, apague tudo, e cole o script abaixo.
Traduzindo:
Laranja: É o que vai dizer quando o player trocar 1 gold nugget por 100 crystal coins.
Verde: É o id da crystal coin, e a quantidade equivalente a 1 gold nugget.
Logo em seguida, abra data/actions/actions.xml e adicione a tag abaixo.
Traduzindo:
Rosa: É o id do gold nuggets.
Azul: O nome do arquivo.lua que você salvou.
Depois disso abra data/items/items.xml, aperte CTRL + F, e digite 2157, ai você vai achar o item Gold Nugget que vai estar assim:
Substitua tudo por isso:
<item id="2157" article="a" name="gold nugget" plural="gold nuggets">
<attribute key="weight" value="10"/>
<attribute key="worth" value="1000000" />
Traduzindo:
Vermelho: Peso do gold nugget.
Azul: Valor do item (como 1 crystal coin = 10k , 1 gold nugget = 1kk)
Logo depois vá data/actions/scripts/other e abra o arquivo changegold.lua, susbistitua tudo oque está la dentro por esse script a seguir, e salve:
-- By MatheusVidaLoka
local coins = {
[iTEM_GOLD_COIN] = {
to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
},
[iTEM_PLATINUM_COIN] = {
from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
},
[iTEM_CRYSTAL_COIN] = {
from = ITEM_PLATINUM_COIN, to = 2157, effect = TEXTCOLOR_LIGHTBLUE
},
[2157] = {
from = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_TEAL
}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then
return false
end
local coin = coins[item.itemid]
if(not coin) then
return false
end
if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then
doChangeTypeItem(item.uid, item.type - item.type)
doPlayerAddItem(cid, coin.to, 1)
doSendAnimatedText(fromPosition, "$$$", coins[coin.to].effect)
elseif(coin.from ~= nil) then
doChangeTypeItem(item.uid, item.type - 1)
doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
end
return true
end
Traduzindo:
Vermelho: É o id do Gold Nugget.
Por fim vá em data/actions/actions.xml, pule uma linha qualquer e cole isso, e salve:
<action itemid="2157" event="script" value="other/changegold.lua"/>
Traduzindo:
Azul: É o id do gold nugget.
Verde: O nome do arquivo que você salvou.
-
Cellu recebeu reputação de canaldextiger em [HELP] worldType: "pvp"??@canaldextiger
Na TFS 0.4 (REV 3777) o "OPEN" entra no lugar do "PVP".
Só trocar o "PVP" por "OPEN", que vai continuar pvp normal =]
-
Cellu recebeu reputação de caioitalo1 em [b][PEDIDO] Evento de boss automatico[/b]Amigo só não sei como fazer os avisos, mais a invasão está ai!
Vc coloca em data/globalevents/scripts coloca com o nome de invasion.lua
local i = { ["00:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["03:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["06:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["09:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["12:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["15:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["18:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, ["21:00"] = {nome = "The Zoralurk Invasion", pos = {x=1357, y=1144, z=10}, pos2 = {x=1357, y=1144, z=10}, monster = {"1 Zoralurk"}}, } function onThink(interval, lastExecution) hours = tostring(os.date("%X")):sub(1, 5) tb = i[hours] if tb and getGlobalStorageValue(78341) ~= hours then doBroadcastMessage(hours .. " - " .. tb.nome .. " iníciou.") setGlobalStorageValue(78341, hours) for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) doSummonCreature(x:match("%s(.+)"), tb.pos2) end end end return true end Coloca essa tag em globalevents.xml :
<globalevent name="invasion" interval="15000" event="script" value="invasion.lua"/>
-
Cellu recebeu reputação de emerson.santos em (Resolvido)[PEDIDO] CASSINO NPCOlá amigo, teste esse script, se apresentar algum erro me avise!
Na pasta NPC você cria o arquivo: Cassino (ou nome do NPC a sua escolha)
A outfit pode ser alterada ao seu gosto
Na pasta NPC>Scripts você cria: cassino_dice.lua (ou nome do script a sua escolha)
Aqui lembre de mudar o LOCAL TABLE !!!
-
Cellu recebeu reputação de canaldextiger em [RESOLVIDO] Itens - OTServ [8.60]Não apenas olhei pelo remeres map editor, mais qualquer duvida só perguntar, que tamo ai!!
-
Cellu recebeu reputação de canaldextiger em [RESOLVIDO] Itens - OTServ [8.60]Não tem como usar um ITEMS.XML sem ser completo, procura pelo seguinte ID "7417" E troque o nome do item por RUNED SWORD, espero ter ajudado, Abraço!
-
Cellu recebeu reputação de koete em Gesior (8.50)Aqui meu parceiro! https://github.com/gesior/Gesior2012/tree/TFS-0.2.13+
-
Cellu deu reputação a Switz em BR-WAR [DIABLO]Estou terminando de fazer, este Gesior esta 100% para tfs 0.3.6-0.4.0, e estou terminando de adapta-lo para tfs 1.0, vou deixar algumas imagens disponíveis para que vocês possam dar suas opiniões a respeito da skin, só gostaria de lembra-los que é apenas um tema para gesior, não é um AAC novo nem nada do tipo, por isso tem basicamente o mesmo layout (formatos foram mantidos, cores e imagens foram alteradas) que o Gesior comum.
Latest News :
Account Management Overview:
Account Management Advanced:
Characters:
Mounts:
Serverinfo:
Support:
Tasks:
VIP Benefits:
Who Is Online:
gostaria de opiniões e sugestões a respeito do tema, para que ele fique o melhor possível para quando for postado aqui no TK (que provavelmente será em breve)
CURTIU O TEMA? QUER VÊ-LO NO TIBIAKING? REPUTA O POST, ASSIM ME MOTIVA PARA TERMINA-LO MAIS RÁPIDO!!!
-
Cellu deu reputação a allway em Shop System completo para GesiorOlá, galera!!!
Sou novo aqui no TK...
Tenho esse projeto de Shop para Gesior!
Está 80% pronto!
Dá uma olhadinha no vídeo (Veja em HD):
Uma imagem do Shop:
-
Cellu deu reputação a Bruno Minervino em (Resolvido)Erro na pasta Events no arquivo players (tfs 1.0)Vá em data/events/scripts e altere o seu player.lua para este:
-
Cellu deu reputação a Absolute em [10.51] Global Map [Completo] Melhor da atualidade! -Zombie Event-Olá galerinha do TK, depois de algum tempo de trabalho árduo trago a vocês o Global 10.51 completo, este Global é baseado no servidor do Printer e modificado, alterado, renovado para vocês do fórum, ou seja, exclusividade do TibiaKing. (WITH ZOMBIE EVENT 10.x)
Servidor rodando da versão 10.37 até 10.51, mapa perfeito, editado e exclusivo!
Uptime 300h+ sem bugs críticos.
Chega de mimimi e vamos ao que interessa, primeiro as principais coisas depois as imagens =)
Features:
Full Roshamuul City
Gray Beach City completa 100% (incluindo Subsolo)
Zombie Event 100%
Nova Área de Treiners online!
Treiners Offline 100% (Em cima do templo de Thais)
Recompensa ao atingir os leveis 180, 270 (BAÚ EM BAIXO DO TEMPLO DE THAIS!)
Database completa + Shop Pronto (DB FULL);
Npc Addoner, (e tem os npc originais fica a seu critério)
Chayenne Realm Quest Pythius The Rotten Quest 100% Novo visual templo e depot (Thais) Warzones 1; 2; 3 com Crystal para entrar (opcional retirar)
Monstros 100%
Mapa 100%
Npcs 100%
Quests 100%
Zao
Market System integrado 100%
Gray Beach City completa
Taming System
Treiners Offline
New AB
Todas as montarias da versão
Templo modificado
Depot modificado
Bank System NPC
Yalahar Full
Wrath of Emperor Quest
War System COM ESCUDINHOS
TFS 1.0
Inúmeras coisas que você poderá conferir baixando!
Vamos as "ibageeens" poe na tela, (clique em spoiler para ver):
Segue abaixo os downloads e recomendações.
Download servidor e distros/sources 10.37 até 10.51 (WINDOWS/LINUX): https://www.sendspace.com/file/5v2fya
Scan do Servidor: https://www.virustotal.com/pt/file/a31be75a22d247e7f76ef97d404f74695662cdc11c417448603926d0193755e0/analysis/1412003847/
Database 10.51 compatível: https://www.sendspace.com/file/sn0mal
Gesior compatível e recomendado: http://www.4shared.com/rar/wMHcqwlGce/WEBSITE_VictorWEBMaster_008.html
Trunks TFS 1.0: http://www.tibiaking.com/forum/topic/39299-tfs-1051-10-by-absolute/
TFS 1.0 Compilado: http://www.tibiaking.com/forum/topic/39299-tfs-1051-10-by-absolute/
Senha para descompactar o servidor: tibiaking
O Servidor está pronto para deixar online, mude apenas a seu gosto, os erros graves já foram trabalhados!
Créditos:
Aproveite para abrir seu servidor, está TOP!
Caso haja alguma dúvida por favor me comunique aqui no tópico.
Vejo você em minha próxima postagem
Até a próxima babye!
Absolute.
-
Cellu deu reputação a Beeny em [PEDIDO] Logo :3 REP++ !
-
Cellu deu reputação a Beeny em [PEDIDO] Logo :3 REP++ !você não explicou isso no tópico
chegando em casa eu faço.
-
Cellu recebeu reputação de Smart Maxx em Pedido Banner Otserv
-
Cellu deu reputação a Toony em Ultimos Trabalhos #JacquesTonyVlw Dan e Holokaust conheço esse avatar oO
Entrando no TK me deparo com isso , e falo uer eu que fiz isso kk , vou postar :DD
Nome Baiakera e dei uma edite no bg
Fiz para presentear um suporter do tk
-
Cellu deu reputação a Toony em Ultimos Trabalhos #JacquesTonyObrigado, estarei atualizando aqui com alguns trabalhos hj ainda
-
Cellu deu reputação a Toony em Ultimos Trabalhos #JacquesTonyComo dizer ? vi o Eratsu postando seus últimos trabalhos então resolvi postar também , tem muita coisa só que eu mudei de pc \o essa semana e só estou postando oque está na nuvem. Abraçs
Logo/Capa para um MC :/
Background e Avatar para um Youtuber
Capa para um Gamer
Capa nova para mim, bem fuleira!
Capa/Logo All Creative
-
Cellu deu reputação a Toony em Ultimos Trabalhos #JacquesTony
-
Cellu deu reputação a 001rafa em (Resolvido)Error como Resolver ?esse dai ta dando erro por causa do teu config.lua ... veja como ta o password type no seu config.lua do seu servidor... veja se ta sha1 ou md5 algo assim... veja se ta diferente do que o site seu suporta geralmente eles só veem sha1
-
Cellu recebeu reputação de Deyvid.souzabritto em [8.60] Baiak Criado Por VinnyOt com sd bugada, Evento Boss praque serv ? tem auto respawn ? comando ?
-
Cellu deu reputação a Absolute em [WarInvite] /war invite TFS 1.0Fala 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.
-
Cellu deu reputação a Absolute em [Art] TibiaKing BannerJá que meu querido amigo designer não tem o que fazer ele fez uma imagem para o TK, para quem quiser usar em alguma coisa como background, alguma página etc...,
Veja e avalie, sua opinião será importante =)
Desenvolvido por: Jacques
-
Cellu deu reputação a Malblofor em [WebSite] Gesior Tfs 1.0 Modificado by MalbloforOlá pessoal do TK. Hoje venho colocar web modificado do Gesior.pl (Modificado layout)
Essa versão do Gesior funciona na versão 0.3.6 e 0.4 e 1.0 do TFS!
(Testado TFS 1.0)
- Layout Atualizado (Layout/Buttons/Icons) [Modificado]
- Shop System / Shop Admin
- Shop System (PagSeguro)
- Create Account (Sem Bug)
- 100% Estável
- Sem Bug Index, News Ticker
Aconselho usar a versão do Xampp mais atual. Imagem:
Já vem com install.php para instalar coloque a pasta htdocs Entre em localhos:8090/install.php Para modificar seu PagSeguro editar a linha buypoints.php e altere essa linha <input type="hidden" name="email_cobranca" value="SEU EMAIL DO PAGSEGURO AQUI">
Download:
htdocs.rar
Testem e comentem, não sou o criador (apenas modifiquei o layout e adicionei o Pagseguro), mas posso dar ajudar nas dúvidas...
Gostou ? Da REP +