Ir para conteúdo

Ramon Bernardo

Membro
  • Registro em

  • Última visita

Tudo que Ramon Bernardo postou

  1. 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)
  2. 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
  3. 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?
  4. 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
  5. No arquivo README dentro da pasta doc, tem um tutorial de como compilar no linux. Tente dessa forma.
  6. 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?)
  7. 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
  8. Ramon Bernardo respondeu ao post em um tópico de Pelado em Suporte Tibia OTServer
    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.
  9. Poste o script, fica mais fácil ajudar!
  10. O que você quer fazer?
  11. 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>
  12. 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
  13. Onde conseguiu a source 0.3.2? Coloque o link para podermos te auxiliar na compilação.
  14. Muito obrigado @KotZletY, eu precisava desse valor para calcular na formula e retornar com e sem o bônus.
  15. Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: TFS 0.4 Qual erro está surgindo/O que você procura Tentei modificar o código que citei mais abaixo, pois ele retorna o valor que está contido na database e não no jogador em si. (Digo jogador pois item que dão adicionais não são adicionados na database e sim somente um "efeito") Exemplo: Quando uso getPlayerSkillLevel(cid, SKILL_TESTE) E o jogador tiver 50 de SKILL TESTE ele retorna 50 mas se eu tiver um item com adicional +10, o jogador teria 60 de SKILL TESTE mas continua retornando sem adicional. Percebi que talvez o "erro" esteja na função que citei acima, tentei mudar: lua_pushnumber(L, player->skills[skillId][SKILL_LEVEL]); para: (Usei este abaixo, o getSkill pois vi que funcionou no getAttackSpeed porém percebi que da conflito em algo no código e não achei uma solução.) lua_pushnumber(L, player->getSkill(skillId, SKILL_LEVEL)); porém não da muito certo, acaba dando erro. Alguém pode ajudar? Você tem o código disponível? Se tiver publique-o aqui: int32_t LuaInterface::luaGetPlayerSkillLevel(lua_State* L) { //getPlayerSkillLevel(cid, skillid) uint32_t skillId = popNumber(L); ScriptEnviroment* env = getEnv(); if(const Player* player = env->getPlayerByUID(popNumber(L))) { if(skillId <= SKILL_LAST) lua_pushnumber(L, player->skills[skillId][SKILL_LEVEL]); else lua_pushboolean(L, false); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  16. Muito obrigado, já tinha conhecimento sobre esse esqueminha ai kkkk. Funcionava mas eu acaba esquecendo de apertar CTRL+P e salvar ai voltava tudo, que susto tomei já foi a segunda vez KKKKK. (Pior coisa é recomeçar um mapa próprio, desanimo foi a 1000) O meu erro foi ter Mudado o Tibia da pasta onde selecionei a versão, tive que baixar tudo novamente. Obrigado e fiquei de conhecimento a quem necessitar. Primeiro, configure o seu RME para a versão do seu Mapa, Segundo, desative a opção "Check file signatures" Terceiro, importe seu mapa e aperte CTRL + P, dimencione ele e salve com o CTRL + ALT + S(SELECIONE O ANTIGO MAPA) Quarto, importe seus MONSTER e NPCs e agora use CTRL + S. Prontinho, tudo salvo e funcionando normalmente.
  17. Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: 0.4 ~RME 8.60 Qual erro está surgindo/O que você procura? Olha o erro que surgiu após eu tentar abrir meu RME Você tem o código disponível? Se tiver publique-o aqui: Nada, apenas erro no RME. Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  18. Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: TFS SVN 0.4 3884 Qual erro está surgindo/O que você procura? Eu tava procurando o Cast e achei uma Source que mostrava onde estavam os Cod e assim peguei e adicionei em meu TFS. Deu tudo certo, até mesmo ao compilar. O que deve ser este erro? Eu errei alguma coisa? Você tem o código disponível? Se tiver publique-o aqui: Acho que é na parte de Login mas está igual o da Source anterior que estava com Cast. Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Tenho vídeo
  19. Aqui está https://github.com/Fir3element/3777 Executável https://tibiaking.com/forums/topic/92078-tfs-40-3777/?tab=comments#comment-503112
  20. Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: version 0.4 Qual erro está surgindo/O que você procura? Estou tentando enviar um doCreatureSay para um Account Manager mas não consigo, realmente eu não sei se é possível. Quando eu envio para o Account Manager ele reconhece como uma palavra/frase errada, como quando você erra o YES para YSE e ele fala que não reconhece. Você tem o código disponível? Se tiver publique-o aqui: doCreatureSay(cid, "TIBIA KING É TOP", TALKTYPE_ORANGE_1, true, cid, pos) Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  21. Resolvido. Caso futuramente alguém tenha esse mesmo erro, aqui a solução: Abra o Painel de Controle: Procure por Sistema: Abra as Configurações Avançadas do Sistema: Vá na aba Avançado e procure em Desempenho a opção "Configurações": Vá na aba Prevenção de Execução de Dados e ative o DEP após isso clique em adicionar: Após clicar em Adicionar procure o .exe do DevCpp, selecione e clique em abrir: Após abrir é só selecionar tudo OK. Pronto! Agora sem nenhum erro
  22. Estou com erro ao tentar acessar a aba Opções de Projetos no DevCpp. Acessei um tópico antigo e baixei os arquivos necessários, tentei com x64 e x32 mas ambos da erro: Li que, o DevCpp antigos não reconhecem mais certas funções então tentei também com a versão mais recente mas, da erro (Versão recente 5.11). collect2.exe: error: ld returned 1 exit status LEMBRANDO QUE: O erro no 5.11 é relacionado a esta linha: ${RM} $(OBJ) $(BIN) Makefile: (LINHA 23) ARQUIVOS BAIXADOS: DevCpp 5.11~ e 4.9~ Source trunk.r3884(Do tópico) Source ~~~(deste link) Estou fazendo algo de errado, caso sim, o que seria?

Informação Importante

Confirmação de Termo