-
-
-
Poderiam me ajudar com isso? (Sistema PK)
Qual o seu TFS?
-
Poderiam me ajudar com isso? (Sistema PK)
Isso é como o sistema de frag do tibia funciona, não? O que der o dano maior/último hit que recebe o frag e os outros apenas uma penalização (pelo que me lembre)
-
Erro no items.xml
Isso é um problema de codificação para UTF-8, qual o editor que está usando? Recomendo visual studio code. Preste atenção ao console, linha 2055 é o primeiro erro. Tente com o arquivo abaixo items.xml
-
Mount Doll funcionando com 71 montarias
Existe duas situações, Sarah e Wolf explicaram bem. Você pode cria-la localmente no arquivo (crie uma vez, mantenha em cache até o fim do servidor), ou quando necessário (crie, use e apague). Isso vai de caso-a-caso, mas cache é sempre bom, por que não?
-
Alguem que entenda de otx 3.1?
Não entendi o motivo de (código abaixo) existir, mas mantive. if item.uid == 1995 then doTransformItem(item.uid, item.itemid - 1) end Eu modifiquei o código para o abaixo, mas acredito que não vai funcionar pois lua (compilador online) está iterando de forma crescendo em números e terá problema com as chances. local config = { successMessage = "O monstro foi sumonado com sucesso.", failMessage = "O summon não funcionou.", successEffect = CONST_ME_MAGIC_RED, failEffect = CONST_ME_POFF, failChance = 76, -- chance > x position = { x = 350, y = 1261, z = 9, stackpos = 255 } } local lukyFromItem = { [6548] = { monsterPosition = { x = 324, y = 1268, z = 9 }, chances = { -- chance > x [75] = "Nephthys", [50] = "Dragon Guardian", [25] = "Minotaur Mage", [0] = "Thunder Dragon" } }, [6549] = { monsterPosition = { x = 324, y = 1256, z = 9 }, chances = { -- chance > x [75] = "Guardiao da Montanha", [50] = "Juggernaut", [25] = "Multi", [0] = "Hydra" } }, [6550] = { monsterPosition = { x = 324, y = 1265, z = 9 }, chances = { -- chance > x [75] = "Dourado", [50] = "Hellfire Fighter", [25] = "Fire Elemental", [0] = "Demon" } }, [6551] = { monsterPosition = { x = 324, y = 1259, z = 9 }, chances = { -- chance > x [75] = "Gigante de Gelo", [50] = "Frost Dragon", [25] = "Papao", [0] = "Gigante de Gelo" } } } function onUse(cid, item, frompos, item2, topos) local thing = getThingfromPos(config.position) if not thing then return end local luky = lukyFromItem[thing.itemid] if not luky then return end if item.uid == 1995 then doTransformItem(item.uid, item.itemid - 1) -- menos 1 ou mais 1? end local randomChance = math.random(1, 100) if randomChance > config.failChance then doPlayerSendTextMessage(cid, 22, config.failEffect) -- doTransformItem(item.uid, item.itemid + 1) ??? doRemoveItem(thing.uid, 1) doSendMagicEffect(frompos, config.failEffect) return true end doRemoveItem(thing.uid, 1) for monsterChance, monsterSpawn in pairs(luky.chances) do -- iterando de forma crescente, problema com chance? if randomChance > monsterChance then doSummonCreature(monsterSpawn, luky.monsterPosition) doSendMagicEffect(frompos, config.successEffect) doPlayerSendTextMessage(cid, 22, config.successMessage) return true end end return true end
-
-
-
-
Tfs 0.3.2 Compilando em Linux
No arquivo README dentro da pasta doc, tem um tutorial de como compilar no linux. Tente dessa forma.
-
Bug Ao Mudar De Outfit
O debug é quando abre a caixa para trocar outfit ou quando pressiona pra próxima outfit? Se for a segunda opção, é por que o tamanho máximo de outfits na caixa excedeu o limite do cliente, assim, debug ao clicar pro próximo. Recomendo usar OTCliente para fazer o teste, assim, o cliente não da debug mas apenas um erro no console (CTRL+T?)
-
Mount Doll funcionando com 71 montarias
Recomendação de boa prática; quando um jogador usa o item, toda a função onUse é percorrida, e suas variáveis inicializadas. Recomendo mover a variável mounts para fora mantendo localmente, assim, é inicializada junto com o servidor. local action = Action() local mounts = { 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 12, 13, 14, 16, 18, 19, 20, 23, 27, 28, 29, 30, 31, 32, 35, 42, 43, 47, 48, 49, 53, 56, 62, 68, 75, 80, 93, 98, 100, 104, 109, 110, 114, 117, 119, 122, 123, 126, 129, 133, 136, 140, 143, 148, 151, 154, 157, 158, 159, 160, 166, 169, 170, 171, 178, 179, 180, 184, 190 } function action.onUse(cid, item, toPosition, itemEx, fromPosition) if getPlayerStorageValue(cid, 64801) ~= 1 then for mount in pairs(mounts) do doPlayerAddMount(cid, mount) end doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW) doRemoveItem(item.uid) setPlayerStorageValue(cid, 64801, 1) end return true end action:id(37587) action:register() Outra consideração; os nomes das montarias são inúteis nesse momento, use apenas o id e para consultas, procure um arquivo mounts.xml
-
Speed Limite
Pra começar, qual a versão do seu TFS? Você não achou o arquivo player.h pois deve ter baixado apenas o arquivo de dado (data) e o executável (.exe), o executável é compilado a partir do seu código fonte; onde player.h faz parte dele. Se você não sabe a versão do TFS, veja no console ao abrir o servidor, deve estar nas primeiras linhas.
-
-
Alguem que entenda de otx 3.1?
Poste o script, fica mais fácil ajudar!
-
Função onUse nas spells
O que você quer fazer?
-
erro no quest log
Perceba que nas últimas 3 tags <quest> você colocou </quest> na frente, basta remove-las. Tente: <?xml version="1.0" encoding="UTF-8"?> <quests> <quest name="Demoniac amulet" startstorageid="21237" startstoragevalue="1"> <mission name="demoniac amulet" storageid="21237" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Demoniac boots" startstorageid="21231" startstoragevalue="1"> <mission name="Demoniac boots" storageid="21231" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="demoniac armor" startstorageid="21230" startstoragevalue="1"> <mission name="demoniac armor" storageid="21230" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="demoniac helmet" startstorageid="21233" startstoragevalue="1"> <mission name="demoniac helmet" storageid="21233" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="demoniac shield" startstorageid="50001" startstoragevalue="1"> <mission name="demoniac shield" storageid="50001" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="demoniac attack" startstorageid="60076" startstoragevalue="1"> <mission name="demoniac attack" storageid="60076" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Wayfarer outfit" startstorageid="15413" startstoragevalue="1"> <mission name="Wayfarer outfit" storageid="15413" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Mega attack" startstorageid="50111" startstoragevalue="1"> <mission name="Mega attack" storageid="50111" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Enchanted attack" startstorageid="1360" startstoragevalue="1"> <mission name="Enchanted attack" storageid="1360" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Demon Legs" startstorageid="21230" startstoragevalue="1"> <mission name="Demon Legs" storageid="21230" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Dragon Scale Legs" startstorageid="212354" startstoragevalue="1"> <mission name="Dragon Scale Legs" storageid="212354" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Darkness" startstorageid="21221" startstoragevalue="1"> <mission name="Darkness" storageid="21221" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Baiak" startstorageid="60000" startstoragevalue="1"> <mission name="Baiak" storageid="60000" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Elethriel's elemental bow" startstorageid="70011" startstoragevalue="1"> <mission name="Elethriel's elemental bow" storageid="70011" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Rainbow" startstorageid="21111" startstoragevalue="1"> <mission name="Rainbow" storageid="21111" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="super sudden death" startstorageid="61400" startstoragevalue="1"> <mission name="super sudden death" storageid="61400" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Other boots" startstorageid="13123" startstoragevalue="1"> <mission name="Other boots" storageid="13123" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Platium backpack's" startstorageid="121251" startstoragevalue="1"> <mission name="Platium backpack's" storageid="21251" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Obsidian" startstorageid="14685" startstoragevalue="1"> <mission name="Obsidian" storageid="14685" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Ferumbras Fort" startstorageid="10023" startstoragevalue="1"> <mission name="Ferumbras Fort" storageid="10023" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Demon backpack" startstorageid="212175" startstoragevalue="1"> <mission name="Demon backpack" storageid="212175" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Pits of inferno" startstorageid="20003" startstoragevalue="1"> <mission name="Pits of inferno" storageid="20003" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Golden Helmet" startstorageid="50000" startstoragevalue="1"> <mission name="Golden Helmet" storageid="50000" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Inquisition" startstorageid="50001" startstoragevalue="1"> <mission name="Inquisition" storageid="50001" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> <quest name="Assassin's amulet" startstorageid="10137" startstoragevalue="1"> <mission name="Assassin's amulet" storageid="10137" startvalue="1" endvalue="1"> <missionstate id="1" description="congratulations!"/> </mission> </quest> </quests>
-
[AJUDA] ESTATUA VOCATION
A mensagem é enviada várias vezes pois o laço é quebrado apenas quando o jogador é removido, basta mover o break para fora do próximo end. Ou então tente: local storage = 62669 local message = "Voce nao pode treinar essa skill, escolha a estatua de sua vocacao." local config = { [1444] = { -- ID statue vocations = {4, 8}, -- Knight and Elite Knight skill = SKILL_SWORDs }, [8836] = { vocations = {4, 8}, -- Knight, Elite Knight skill = SKILL_AXE }, [8834] = { vocations = {1, 2, 5, 6}, -- Sorcerer, Druid, Master Sorcerer, Elder Druid skill = SKILL__MAGLEVEL }, [8626] = { vocations = {4, 8}, -- Knight, Elite Knight skill = SKILL_CLUB }, [10353] = { vocations = {3, 7}, -- Paladin, Royal Paladin skill = SKILL_DISTANCE } } function onUse(cid, item, fromPosition, itemEx, toPosition) local statue = config[item.itemid] if not statue or item.actionid ~= 6341 then return false end if statue.vocations[getPlayerVocation(cid)] then doCreatureSetStorage(cid, storage, statue.skill) doRemoveCreature(cid) else doPlayerSendCancel(cid, message) end return true end
-
Tfs 0.3.2 Compilando em Linux
Onde conseguiu a source 0.3.2? Coloque o link para podermos te auxiliar na compilação.
-
Ramon Bernardo reagiu a uma resposta no tópico: (Resolvido)[getPlayerSkillLevel] Retornando valor da database e não do jogador
-
(Resolvido)[getPlayerSkillLevel] Retornando valor da database e não do jogador
Muito obrigado @KotZletY, eu precisava desse valor para calcular na formula e retornar com e sem o bônus.