Histórico de Curtidas
-
Andreselos1988 deu reputação a luanluciano93 em Recompensa por Level (Item, Bank, Addon, Mount)Olá pessoal, para quem não sabe esse script dá determinado item, quantidade / bank / addon / mount em determinado level.
Crie um arquivo com o nome recompensa.lua em creaturescripts/scripts e coloque isso dentro:
local table = { -- [level] = type = "item", id = {ITEM_ID, QUANTIDADE}, msg = "MENSAGEM"}, -- [level] = type = "bank", id = {QUANTIDADE, 0}, msg = "MENSAGEM"}, -- [level] = type = "addon", id = {ID_ADDON_FEMALE, ID_ADDON_MALE}, msg = "MENSAGEM"}, -- [level] = type = "mount", id = {ID_MOUNT, 0}, msg = "MENSAGEM"}, [20] = {type = "item", id = {2160, 2}, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"}, [30] = {type = "bank", id = {20000, 0}, msg = "Foi depositado em seu bank 20000 gold coints!"}, [40] = {type = "addon", id = {136, 128}, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"}, [60] = {type = "mount", id = {2, 0}, msg = "Voce ganhou a montaria x!"}, } local storage = 15000 function onAdvance(player, skill, oldLevel, newLevel) if skill ~= SKILL_LEVEL or newLevel <= oldLevel then return true end for level, _ in pairs(table) do if newLevel >= level and player:getStorageValue(storage) < level then if table[level].type == "item" then player:addItem(table[level].id[1], table[level].id[2]) elseif table[level].type == "bank" then player:setBankBalance(player:getBankBalance() + table[level].id[1]) elseif table[level].type == "addon" then player:addOutfitAddon(table[level].id[1], 3) player:addOutfitAddon(table[level].id[2], 3) elseif table[level].type == "mount" then player:addMount(table[level].id[1]) else return false end player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table[level].msg) player:setStorageValue(storage, level) end end player:save() return true end
E em creaturescripts.xml adcione a tag:
<event type="advance" name="Recompensa" script="recompensa.lua"/> Caso queira colocar outro basta colocar usar os exemplos que coloquei como comentário (--) e adicionar a linha inteira novamente ...
Dúvidas postem aqui! Abraços
-
Andreselos1988 deu reputação a Flavio S em (Resolvido)Mudar recompensa eventobasta configurar em :
local reward = {{ITEMID, QUANTIDADE}} -- {ITEMID, QUANTIDADE}, local centeroffight = {x=24553,y=23720,z=7} local waitingplace = {x=24554,y=23720,z=6} local depotcenter = {x=32345,y=32223,z=7} local MinimumPlayers = 2 local reward = {{ITEMID, QUANTIDADE}} -- {ITEMID, QUANTIDADE}, local function lmsclosed1() -- broadcastMessage("Last Man Standing event will start in 1 minutes. Portal is opened in depot", MESSAGE_STATUS_WARNING) end local function lmsclosed() count = 0 local spectators = getSpectators(waitingplace, 10, 10, false) if spectators ~= nil then for _, spectator in ipairs(spectators) do if isPlayer(spectator) then count = count + 1 end end end if (count >= MinimumPlayers) then broadcastMessage("Last Man Standing event portal closed and event started!", MESSAGE_STATUS_WARNING) for _, pid in ipairs(getOnlinePlayers()) do if getPlayerStorageValue(pid, 25001) == 1 then local playerids = getPlayerByName(pid) doTeleportThing(playerids,centeroffight) doSendMagicEffect(center, CONST_ME_TELEPORT) end end else broadcastMessage("Not enough players to start Last man Standing event! Minimum: "..MinimumPlayers.." players. We have "..count.."!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(25002, 0) for _, pid in ipairs(getOnlinePlayers()) do if getPlayerStorageValue(pid, 25001) == 1 then local playerids = getPlayerByName(pid) doTeleportThing(playerids,depotcenter) doSendMagicEffect(depotcenter, CONST_ME_TELEPORT) setPlayerStorageValue(pid, 25001, 0) end end end return true end local function lmscheck() count = 0 local spectators = getSpectators(centeroffight, 500, 500, false) if spectators ~= nil then for _, spectator in ipairs(spectators) do if isPlayer(spectator) then count = count + 1 end end end if count == 1 then for _, pid in ipairs(getOnlinePlayers()) do if getPlayerStorageValue(pid, 25001) == 1 then local playerids = getPlayerByName(pid) setPlayerStorageValue(playerids, 25001, 0) end end local spectators = getSpectators(centeroffight, 10, 10, false) if spectators ~= nil then for _, spectator in ipairs(spectators) do if isPlayer(spectator) then doTeleportThing(spectator,depotcenter) doSendMagicEffect(depotcenter, CONST_ME_TELEPORT) for x = 1, #reward do doPlayerAddItem(spectator, reward[x][1], reward[x][2]) end broadcastMessage("Last Man Standing ended winner is: "..getPlayerName(spectator)..".", MESSAGE_STATUS_WARNING) end end end for _, pid in ipairs(getOnlinePlayers()) do if getPlayerStorageValue(pid, 25001) == 1 then local playerids = getPlayerByName(pid) setPlayerStorageValue(pid, 25001, 0) end end stopEvent(lmscheck) else addEvent(lmscheck, 10*1000) end end local function lms() broadcastMessage("Last Man Standing event will start in 2 minutes. Portal is opened in depot", MESSAGE_STATUS_WARNING) portalwhere = {x= 32349, y=32222, z=7} local portal = doCreateItem(11796,1,portalwhere) doSetItemActionId(portal, 25001) doSendMagicEffect(portalwhere, CONST_ME_TELEPORT) iteminfo = {x= 32348, y=32222, z=7} local item = doCreateItem(1431,1,iteminfo) doSetItemActionId(item, 25002) doSendMagicEffect(iteminfo, CONST_ME_TELEPORT) addEvent(function() doRemoveItem(getTileItemById(portalwhere, 11796).uid) end, 120 * 1000) addEvent(function() doSendMagicEffect(portalwhere, CONST_ME_TELEPORT) end, 120 * 1000) addEvent(function() doRemoveItem(getTileItemById(iteminfo, 1431).uid) end, 120 * 1000) addEvent(function() doSendMagicEffect(iteminfo, CONST_ME_TELEPORT) end, 120 * 1000) addEvent(lmsclosed, 2*60*1000) addEvent(lmsclosed1, 1*60*1000) addEvent(lmscheck, 130*1000) return true end function onThink(interval) broadcastMessage("Last Man Standing event will start in 3 minutes.", MESSAGE_STATUS_WARNING) addEvent(lms, 60*1000) return true end -
Andreselos1988 deu reputação a Wise em (Resolvido)NoDamagePartyCerto, tente desse modo: function onCombat(cid, target) if isPlayer(target) and isInParty(cid) and isInParty(target) then if getPlayerParty(target) == getPlayerParty(cid) or getPartyLeader(target) == cid then return false end end return true end
-
Andreselos1988 deu reputação a Snowsz em Segunda promotion VIP e NPC [TFS 1.0]Sim, eu acho...
-
Andreselos1988 deu reputação a luanluciano93 em [Java] Programação Orientada a ObjetosSeguinte pessoal, estou estudando POO em Java e decidi compartilhar com vocês!
1 - Criando uma classe: Primeiramente definimos qual será a classe que iremos criar, após escolher pense nas possíveis características/atributos e ações/métodos que tal objeto pode ter. Por exemplo, minha classe será uma Conta de Banco ... Possíveis características/atributos do objeto: • número da conta • dono • saldo Obs: lembrando que quando definimos um atributo precisamos colocar antes o tipo de dados que ele representa, por exemplo: int (de inteiro), double (de um ponto flutuante), String (de conjunto de palavras), boolean (de valor lógico), etc ..
Possíveis Ações do objeto/métodos: • sacar um valor • depositar um valor • mostrar o dono da conta • mostrar o saldo atual Agora podemos começar criar nossa classe Conta: class Conta { // Atributos int numero; String dono; double saldo; // Métodos usuario() saldo() sacar() depositar() } Pronto, inicialmente criamos nossa nova classe Conta. 2 - Definir Métodos Getters e Setters: Normalmente (não sempre) o método setter irá começar com void e o método getter irá começar com o tipo de dados que vai retornar.
Os métodos podem receber parâmetro(s) de entrada, definido pelo tipo de dados no começo. // Getters String usuario() { return dono; } Double saldo() { return saldo; } // Setters void sacar(double valor) { if (saldo >= valor) { saldo = saldo - valor; //ou this saldo -= valor; } else { System.out.println("Seu saldo é insuficiente."); } } void depositar(double valor) { saldo = saldo + valor; //ou this saldo += valor } Obs: Você pode, ou não usar this.atributo para referenciar um atributo da classe, porem ele é mais utilizado quando quando o nome do atributo é o mesmo nome de algum parâmetro de entrada do método. Por exemplo: void depositar(double saldo) { this.saldo = this.saldo + saldo; //ou this saldo += saldo } 3 - Definindo Encapsulamento da Classe: Podemos proteger nossa classe, atributos e métodos com o encapsulamento, definindo seu modificador de acesso. Existem 4 tipos de modificadores de acesso: • public: Deixa o atributo, método ou classe acessível por qualquer um em todo o projeto. • private: Deixa o atributo ou método acessível apenas dentro da classe à qual pertence. • protected: Deixa o atributo ou método acessível dentro de todo o pacote e também nas subclasses da classe ao qual pertence, podendo ser estas subclasses de outros pacotes do projeto. • default (sem modificador): todas as classes do mesmo pacote tem acesso ao atributo, construtor, método ou classe. - Uma regra básica de proteção é definir a classe como public, seus atributos como private e determinados métodos como public e outros como private (dependendo do grau de segurança de determinado método). Ficando assim: public class Conta { // Atributos private int numero; private String dono; private double saldo; // Métodos Getters public String usuario() { return dono; } public Double saldo() { return saldo; } // Métodos Setters public void sacar(double valor) { if (saldo >= valor) { saldo -= valor; } else { System.out.println("Seu saldo é insuficiente."); } } public void depositar(double valor) { saldo += valor; } } 4 - Método construtor: O método construtor é o responsável por criar um objeto da classe, podendo criar-los com parâmetros iniciais ou não, Caso não tenha parâmetros não precisa declara-lo no código, pois ele funcionará como default (criando um objeto sem parâmetros de entrada). Cada construtor deve ser escrito de acordo com a necessidade de cada classe.
Crie seu método construtor com o mesmo nome da classe (o método construtor não precisa da palavra reservada void, apenas do encapsulamento). Por exemplo: // Método construtor sem parâmetros (ele é um padrão, não é necessário cria-lo) public Conta() {} // Método construtor com parâmetros public Conta(int numero, String dono, double saldo) { this.numero = numero; this.dono = dono; this.saldo = saldo; } 5 - Instanciando um objeto: Cria o arquivo principal de seu projeto (normalmente Class Main ou Class Principal), e defina o método public static void main(String[] args) nela, e dentro dele iremos instanciar o objeto que você criou anteriormente. Defina assim: Classe_Nome Objeto_Especifico = new Classe_Nome(parametros) No exemplo da classe Conta, ficaria assim: Conta conta1 = new Conta(1, "Luan", 1000.0); // ou seja, defini os parametro numero = 1, dono = "Luan" e saldo = 1000.0 Agora para usar os métodos da classe ficaria assim: conta1:depositar(100.0) // do saldo de 1000.0 irá adicionar 100.0 ficando 1100.0 conta1:usuario() // irá retornar o dono da conta, no caso: "Luan" conta1:sacar(1099.0) // do saldo de 1100.0 irá retirar 1099.0 ficando 1.0 conta1:saldo // irá retornar o saldo atual da conta, no caso: 1.0
Irá fica assim a classe principal: public class AulaJava { public static void main(String[] args) { Conta conta1 = new Conta(1, "Luan", 1000.0); // ou seja, defini os parametro numero = 1, dono = "Luan" e saldo = 1000.0 conta1:depositar(100.0) // do saldo de 1000.0 irá adicionar 100.0 ficando 1100.0 conta1:usuario() // irá retonar o dono da conta, no caso: "Luan" conta1:sacar(1099.0) // do saldo de 1100.0 irá retirar 1099.0 ficando 1.0 conta1:saldo // irá retonar o saldo atual da conta, no caso: 1.0 } } 6 - Herança (também conhecida como especialização ou generalização):
• A Herança é uma ótimo ferramenta de reuso para POO. • Na herança temos a classe pai (super classe, classe generalizada), e as classes filhas (subclasses, classes especializadas). • As classes filhas herdam os atributos e métodos da classe pai (quando o modificador de acesso é protected, public ou default), exceto as privadas. É necessário indicar a classe qual ele herdará, definindo no cabeçalho da classe: class Subsclasse_Name extendes Classe_Super {} Outra mudança é no método construtor da classe filha, que além de definido os atributos especificos, pode usar um método particular para definir os atributos da classe Pai: SUPER. Por exemplo, imaginemos que os parametros 1 e 2 definem atributos já existentes na classe Pai, e o parametro 3 defini um atributo da class filha, ficará assim: Contrutor (parametro1, parametro2, parametro3) { super(parametro1, parametro2); this.atributo = parametro3; }
Como estou estudando, quero aprender CORRETAMENTE, portanto, quem ver algo errado, por favor diga e me ajude, criticas construtivas são sempre bem-vindas!
-
Andreselos1988 deu reputação a Snowsz em Segunda promotion VIP e NPC [TFS 1.0]Tenta isso:
local money = xxxx -- Quanto vai custar local storage = 14542 -- Não mexer local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local player = Player(cid) if player:getStorageValue(storage) == 1 then npcHandler:say("You have already received the promotion.", cid) return true end if msgcontains(msg:lower(), "promotion") then npcHandler:say("You are sure?", cid) npcHandler.topic[cid] = 1 end if msgcontains(msg:lower(), "yes") and npcHandler.topic[cid] == 1 then if player:getVocation():getPromotion() then if player:getVipDays() >= 1 then if player:removeMoney(money) then npcHandler:say("You just received a new promotion.", cid) player:setVocation(player:getVocation():getPromotion()) player:setStorageValue(storage, 1) npcHandler.topic[cid] = 0 else npcHandler:say("You don't have money.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("You don't have any vip days.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("You don't have the first promotion.", cid) npcHandler.topic[cid] = 0 end elseif msgcontains(msg:lower(), "no") and npcHandler.topic[cid] == 1 then npcHandler:say('Bye!', cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -
Andreselos1988 deu reputação a Summ em Segunda promotion VIP e NPC [TFS 1.0]local money = xxxx -- Quanto vai custar local storage = 14542 -- Não mexer local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end player = Player(cid) if player:getStorageValue(storage) == 1 then npcHandler:say('you have already received the promotion', cid) return true end if msgcontains(msg:lower(), 'promotion') then npcHandler:say('you are sure?', cid) npcHandler.topic[cid] = 1 end if msgcontains(msg:lower(), 'yes') and npcHandler.topic[cid] == 1 then if isInArray({5, 6, 7, 8}, player:getVocation()) then if player:getVipDays() >= 1 then if player:removeMoney(money) then npcHandler:say('you just received a new promotion', cid) player:setVocation(player:getVocation() + 4) player:setStorageValue(storage, 1) npcHandler.topic[cid] = 0 else npcHandler:say('you no have money', cid) npcHandler.topic[cid] = 0 end else npcHandler:say('You do not have any vip days.', cid) npcHandler.topic[cid] = 0 end else npcHandler:say('you no have first promotion', cid) npcHandler.topic[cid] = 0 end elseif msgcontains(msg:lower(), 'no') and npcHandler.topic[cid] == 1 then NpcHandler:say('Bye!!', cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Andreselos1988 deu reputação a Summ em Segunda promotion VIP e NPC [TFS 1.0]local money = xxxx -- Quanto vai custar local storage = 14542 -- Não mexer local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end player = Player(cid) if player:getStorageValue(storage) == 1 then npcHandler:say('you have already received the promotion', cid) return true end if msgcontains(msg:lower(), 'promotion') then npcHandler:say('you are sure?', cid) npcHandler.topic[cid] = 1 end if msgcontains(msg:lower, 'yes') and npcHandler.topic[cid] == 1 then if isInArray({5, 6, 7, 8}, player:getVocation()) then if player:getVipDays() >= 1 then if player:removeMoney(money) then npcHandler:say('you just received a new promotion', cid) player:setVocation(player:getVocation() + 4) player:setStorageValue(storage, 1) npcHandler.topic[cid] = 0 else npcHandler:say('you no have money', cid) npcHandler.topic[cid] = 0 end else npcHandler:say('You do not have any vip days.', cid) npcHandler.topic[cid] = 0 end else npcHandler:say('you no have first promotion', cid) npcHandler.topic[cid] = 0 end elseif msgcontains(msg:lower(), 'no') and npcHandler.topic[cid] == 1 then NpcHandler:say('Bye!!', cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) em creaturescripts :
function onLogin(cid) local storage = 14542; player = Player(cid); if player:getVipDays() == 0 and player:getStorageValue(storage) == 1 then player:setVocation(player:getVocation() - 4) player:setStorageValue(storage, - 1) end return true end -
Andreselos1988 deu reputação a Nicrox em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)Troque seu inServiceOfYalaharQuestReward.lua
Por esse:
function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, 10012) < 1) then doPlayerAddItem(cid, 9776, 1) doPlayerAddItem(cid, 9778, 1) doPlayerAddItem(cid, 9777, 1) doPlayerAddExp(cid, 250000, true, true) setPlayerStorageValue(cid, 10012, 1) end if(item.uid == 3088) then if(getPlayerStorageValue(cid, 30) == 53) then setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerAddItem(cid, 9776, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari armor.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif(item.uid == 3089) then if(getPlayerStorageValue(cid, 30) == 53) then setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerAddItem(cid, 9778, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari mask.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif(item.uid == 3090) then if(getPlayerStorageValue(cid, 30) == 53) then setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerAddItem(cid, 9777, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari leg piece.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end end return true end -
Andreselos1988 deu reputação a Qwizer em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)disponha tamo ae pra ajudar.
-
Andreselos1988 deu reputação a Qwizer em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)não tem la actions, uniqued id e doors id quando você clica na porta, se não tiver aparecendo isso pega os items.otb e items.xml da pasta do ot e troca no rme que vai aparecer doors id.
-
Andreselos1988 deu reputação a Qwizer em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)e so por doors id 1 em cada posta de entrada da casa que arruma.
-
Andreselos1988 deu reputação a neykos em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)AVISO
O Servidor aparenta ainda conter o bug no loot do monstro chamado Enraged Crystal Golem
Onde o mesmo Dropa com muita facilidade o item Crystalline Axe Item de Boss Da Warzone.
Para corrigir o mesmo abra o arquivo do monstro.
Procure por : <item id="18451" countmax="5" chance="5008"/><!-- crystalline arrows -->
Mude para: <item id="18304" countmax="5" chance="5008"/><!-- crystalline arrows -->
Espero ter ajudado.
Estou avisando novamente porque a pouco entrei em um servidor que o dono baixou daqui da versão atual
10.76 e o bug permanecia no mesmo.
-
Andreselos1988 deu reputação a Qwizer em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)pode ser sim
-
Andreselos1988 deu reputação a Qwizer em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)V10 disponível para download, se encontrar bugs reporte.
-
Andreselos1988 deu reputação a Qwizer em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)atualização com os debug corrigido sera feita ainda hoje, só aguardem.
-
Andreselos1988 deu reputação a Summ em Rathleton doors bugadasPra não deixar tu no vácuo dando up eternamente ehuehue, se eu sou você desmanchava todas as casas com problemas e refazia ... vai ser trabalhoso ? sim porque nada é fácil na vida, mas se é a unica forma de chegar no objetivo é o que tem que ser feito. Porque a não ser que alguém tenha tido o mesmo problema e tu esperar esse ser aparecer com a solução, vai demorar ahsuahsuh, quando eu não sei resolver algum problema e não encontro a solução começo do 0 é o que sobra pra resolver.
abrçs
Ps: 99% de ctz que não haver com scripts, desmanche uma casa e refaça e veja que vai funcionar normalmente.
-
Andreselos1988 deu reputação a wagner20k em [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)so é vc abrir o player.lua e procurar por "0then" ai qnd achar so e vc da espaço ficando assin "0 then"
estou com uma duvida como q desativa missao para a wote?
-
Andreselos1988 deu reputação a Tibia2015br em Bonus de exp, não funciona!ai tem esse aki fera esse não tem erro
-
Andreselos1988 deu reputação a wandersonnc em Problema com IP FixoA Area de WEB MASTER e a mais precaria do tibia king ta faltando atençao pra estas areas ...