Jump to content
Close

hiquezerah

Member
  • Content Count

    25
  • Joined

  • Last visited

About hiquezerah

  • Rank
    Craftsman

Recent Profile Visitors

93 profile views
  1. desculpe reviver o tópico, mas poderia me ajudar com um erro que aconteceu comigo? quando mudo essa linha, e um monstro por exemplo passa encima do sqm ele não toma o dano, mas após ele sair começa a da um erro na distro e o monstro começa a tomar dano, "creature not found".
  2. Boa noite meu consagrado, poderia adcionar checagem de players também? por exemplo eu queria que teleportassem 4 players que estivessem em x posição. por exemplo, estaria os items nos altares e se os players estivessem no local certo, eles iriam teleportar, Obrigado!
  3. .Qual servidor ou website você utiliza como base? TFS 0.4 estou tentando adaptar esse script para uma quest de "sacrificio", o script está funcionando perfeitamente. O script funciona da seguinte forma, após clicar na alavanca ele remove uma parede por "x" tempo e depois cria novamente. Mas eu preciso que tenha um "sacrificio" para poder abrir essa parede, seja necessario ter um item em x posição para poder clicar na alavanca, se o item não estiver lá retornar uma mensagem falando para o player (o item não está na posição certa). se ele estiver, após o player clicar na alavanca o item será removido e o script funcionará (irá abrir a parede). Você tem o código disponível? Se tiver publique-o aqui: function onUse(cid, item, fromPosition, itemEx, toPosition) piece1pos = {x=1554, y=1507, z=10, stackpos=1} local tempo = 2*60*1000 -- tempo para parede voltar getpiece1 = getThingfromPos(piece1pos) if item.uid == 7001 and item.itemid == 1945 and getpiece1.itemid == 11806 then doRemoveItem(getpiece1.uid,1) doTransformItem(item.uid,item.itemid+1) doPlayerSendTextMessage(cid,22,"A passagem abriu, avise seus companheiros.") addEvent(doCreateItem, tempo, 11806, piece1pos) addEvent(doTransformItem, tempo, item.uid,1945) elseif item.uid == 7001 and item.itemid == 1945 then doTransformItem(item.uid,item.itemid-1) addEvent(doCreateItem, 2*60*1000, item.itemid, piece1pos) else doPlayerSendTextMessage(cid,22,"A passagem ja está aberta.") end return 1 end
  4. transfira o seu items.otb para a pasta do remeres, vai até em arquivo C: e procure a pasta do remeres e vá até a versão do seu client e substitua. Esperto ter ajudado!
  5. .Qual servidor ou website você utiliza como base? TFS 0.4 Qual o motivo deste tópico? Primeiramente queria agradecer a ajuda de todos do TK que anda me ajudando bastante, e poderia saber se alguém poderia me ajudar a entender como funcionar esse script ou possa melhorar ele. o storage 30023 citado no script abaixo ele seria um storage que você iria ganhar apenas depois de "rebornar". o script se trata de comprar uma vocação no site, mas o propósito do script seria comprar a vocação se não tivesse o storage 30023 (se não estivesse reborn) mas está acontecendo totalmente o contrario, está apenas funcionando se tiver "reborn" o storage 30023. OBS: Atualmente o script so funciona se o player tiver o storage 30023, caso ele não tenha o storage o script não funciona e o item 13488 fica na bag. pela amor de Deus, se possivel colocar o script para qualquer player entre o level 1 ao 25 possa comprar a vocação, e se o player tiver o storage 30023 não possa comprar ou o script não funcione. Você tem o código disponível? Se tiver publique-o aqui: function onThink(cid, interval) local itemid = 13488 local outfit = {lookType = 746} local outfit2 = {lookType = 746} local outfit3 = {lookType = 746} if isPlayer(cid) then if getPlayerItemCount(cid, itemid) >= 1 then if getPlayerStorageValue(cid,99023) == 4 and doCreatureChangeOutfit(cid, outfit2) and doPlayerRemoveItem(cid, itemid, 1) and addEvent(doRemoveCreature, 1, cid) then doPlayerSetVocation(cid, 1050) elseif getPlayerStorageValue(cid,30023) == 4 and doCreatureChangeOutfit(cid, outfit3) and doPlayerRemoveItem(cid, itemid, 1) and addEvent(doRemoveCreature, 1, cid) then doPlayerSetVocation(cid, 1044) elseif getPlayerStorageValue(cid,60150) == 1 and doCreatureChangeOutfit(cid, outfit) and doPlayerRemoveItem(cid, itemid, 1) and addEvent(doRemoveCreature, 1, cid) then doPlayerSetVocation(cid, 1039) end end return true end end
  6. olá, tem como colocar o script para checar uma position, e verificar se tem x item na position? por exemplo iria existir uns 10 items e o script verificaria se algum desses 10 items está na posição, se estiver os players seriam teleportados.
  7. .Qual servidor ou website você utiliza como base? tfs 0.4 Qual o motivo deste tópico? Boa tarde galera do TK! Bom, estou precisando de ajuda para adaptar um NPC que encontrei aqui no TK nele encontro um bug por exemplo o (mana shield) ele não está funcionando. Mas eu tenho uma ídeia para esse NPCS que eu poderia usar como exemplo o imbuements. Primeiramente o meu servidor é um derivado do tibia DBO e nele existe muitas vocações e seria de grande ajuda se o npc não checasse Vocations, para ser mais especifico qualquer players poderia comprar. OBS: não tive como testar os buffs como "fist, club, sword, axe, distance, shield e ml" pois eles precisam de vocações "knight, sorcerers, druids e paladins". Vamos ao que preciso que seja feito no NPCS... Preciso que para cada "buff" que o npcs venda a moeda de troca seja outra, poderia da como exemplo scarabs coins, talons, dragons hams etc... Exemplo: Player: Hi Npcs: Hello, |PLAYERNAME|. I can 'heal', 'haste', 'mana shield', invisible', 'melee', 'magic', 'distance' and 'shield' skills Player: magic Npcs: Você tem os seguintes items '10 talons', '2 dragons hams'? [yes] Player: yes Npcs: você ganhou 3 magic level por 2 horas. E assim com todos os outros buffs e skill, precisando de x items e x quantidade para ganhar o buff/skill por 1 ou 2 horas. Só podera comprar 1 buff/skill por vez, e se poder adcionar um efeito para especificar cada buff seria ótimo, por exemplo : quando comprar o skill magic o player irá ficar com um efeito nele até o buff acabar. Resumindo: tirar a checagem de vocação e adcionar uma tabela para configurar X items e o time de cada buff. Você tem o código disponível? Se tiver publique-o aqui: -- configs pricetobuff = 1000 hasteseconds = 120 invisibleseconds = 120 magicshieldseconds = 120 skillsseconds = 200 skillsupgrade = {} skillsupgrade['fist'] = 20 skillsupgrade['club'] = 20 skillsupgrade['sword'] = 20 skillsupgrade['axe'] = 20 skillsupgrade['distance'] = 20 skillsupgrade['shield'] = 20 skillsupgrade['ml'] = 10 -- end configs -- heal combat local combatHeal = createCombatObject() setCombatParam(combatHeal, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combatHeal, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combatHeal, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combatHeal, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatFormula(combatHeal, COMBAT_FORMULA_LEVELMAGIC, 99, 99, 99, 99) -- haste combat local combatHaste = createCombatObject() setCombatParam(combatHaste, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combatHaste, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, hasteseconds*1000) setConditionFormula(condition, 99, 99, 99, 99) setCombatCondition(combatHaste, condition) -- invisible combat local combatInvisible = createCombatObject() setCombatParam(combatInvisible, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combatInvisible, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_INVISIBLE) setConditionParam(condition, CONDITION_PARAM_TICKS, invisibleseconds*1000) setCombatCondition(combatInvisible, condition) -- utamo combat local combatUtamo = createCombatObject() setCombatParam(combatUtamo, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combatUtamo, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_MANASHIELD) setConditionParam(condition, CONDITION_PARAM_TICKS, magicshieldseconds*1000) setCombatCondition(combatUtamo, condition) -- melee condition local conditionMelee = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMelee, CONDITION_PARAM_TICKS, skillsseconds*1000) setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_FIST, skillsupgrade['fist']) setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_CLUB, skillsupgrade['club']) setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_SWORD, skillsupgrade['sword']) setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_AXE, skillsupgrade['axe']) -- distance condition local conditionDistance = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDistance, CONDITION_PARAM_TICKS, skillsseconds*1000) setConditionParam(conditionDistance, CONDITION_PARAM_SKILL_DISTANCE, skillsupgrade['distance']) -- shield condition local conditionShield = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionShield, CONDITION_PARAM_TICKS, skillsseconds*1000) setConditionParam(conditionShield, CONDITION_PARAM_SKILL_SHIELD, skillsupgrade['shield']) -- ml condition local conditionMagic = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMagic, CONDITION_PARAM_TICKS, skillsseconds*1000) setConditionParam(conditionMagic, CONDITION_PARAM_STAT_MAGICPOINTS, skillsupgrade['ml']) 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 function buff(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if doPlayerRemoveMoney(cid, pricetobuff) == TRUE then buff = parameters.buff message = parameters.message doCombat(cid, buff, numberToVariant(cid)) npcHandler:say(message, cid) keywordHandler:moveUp(1) return true else npcHandler:say("You need ".. pricetobuff .." gold coins to buff yourself.", cid) end end function buffMelee(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if doPlayerRemoveMoney(cid, pricetobuff) == TRUE then buff = parameters.buff errors = 0 message = parameters.message voc = getPlayerVocation(cid) if buff == conditionMagic and (isKnight(cid) or isPaladin(cid)) then npcHandler:say("Only sorcerers and druids can upgrade their magic skills.", cid) errors = 1 end if buff == conditionMelee or buff == conditionShield and (isSorcerer(cid) or isDruid(cid)) then npcHandler:say("Only knights and paladins can upgrade their melee and shield skills.", cid) errors = 1 end if buff == conditionDistance and (isDruid(cid) or isKnight(cid) or isSorcerer(cid)) then npcHandler:say("Only paladins can upgrade their distance skills.", cid) errors = 1 end if errors == 0 then doTargetCombatCondition(0, cid, buff, CONST_ME_MAGIC_RED) npcHandler:say(message, cid) keywordHandler:moveUp(1) return true end else npcHandler:say("You need ".. pricetobuff .." gold coins to buff yourself.", cid) end end local node1 = keywordHandler:addKeyword({'heal'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to be healed?'}) node1:addChildKeyword({'yes'}, buff, {buff = combatHeal, message = 'Now you are fully restored!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'haste'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to be hasted?'}) node1:addChildKeyword({'yes'}, buff, {buff = combatHaste, message = 'Now you are fully hasted!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'invisible'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to be invisible?'}) node1:addChildKeyword({'yes'}, buff, {buff = combatInvisible, message = 'Now you are invisible!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'magic shield'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to get magic shield effect?'}) node1:addChildKeyword({'yes'}, buff, {buff = combatUtamo, message = 'Your magic shield is on!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'melee'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to upgrade your melee skills for some time?'}) node1:addChildKeyword({'yes'}, buffMelee, {buff = conditionMelee, message = 'Your skills had been upgraded!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'shield'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to upgrade your shield skills for some time?'}) node1:addChildKeyword({'yes'}, buffMelee, {buff = conditionShield, message = 'Your skills had been upgraded!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'distance'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to upgrade your distance skills for some time?'}) node1:addChildKeyword({'yes'}, buffMelee, {buff = conditionDistance, message = 'Your skills had been upgraded!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) local node1 = keywordHandler:addKeyword({'magic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to upgrade your magic skills for some time?'}) node1:addChildKeyword({'yes'}, buffMelee, {buff = conditionMagic, message = 'Your skills had been upgraded!'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then not.'}) keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Uhm?"}) keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Ya?"}) npcHandler:addModule(FocusModule:new())
  8. Daria para adaptar o script e tirar o (check de vocations) qualquer players poder pegar qualquer skill? E daria para esse skill ser temporario? um exemplo que eu poderia dar seria o imbuement, comprar um skill de 3 magic level e após uma hora "configuravel" o skill sumir e o players possa comprar novamente caso ele queira. Se der seria de grande ajuda! Tópico muito bom, meus parabéns!
  9. Muito obrigado mano, funcionou 100%! apenas uma dúvida, após as 24 horas o mesmo players pode voltar na quest? local stor_time = 787687 fiquei em dúvida nessa parte, é apenas um storage pro time certo?
  10. .Qual servidor ou website você utiliza como base? tfs 0.4 Qual o motivo deste tópico? preciso de ajuda para terminar uma quest. a ideia do script é o seguinte 6 players tem que colocar um item em x position e após clicar em uma alavanca os 6 seriam teleportado para uma pos determinada no script. essas funções ja estão funcionando corretamente! estou precisando que seja adcionado nesse mesmo script uma função de apenas poder clicar na alavanca da quest 1 vez por dia, e a outra função seria entre um dos 6 players o script escolher apenas um e mandar para outra posição. no caso esse players que seria escolhido randomicamente pelo o script iria para uma sala que iria morrer, e os outros 5 players iriam continuar a quest. preciso que apenas 1 player seja escolhido para ir a uma position diferente das outras! para tentar deixar mais especifico o script atual eu posso escolher 6 posições diferentes ou iguais, mas eu necessito que entre um dos 6 players um deles morra, mas isso teria que ser na "sorte". O script escolheria um dos 6 players e jogaria-o para uma outra posição. Você tem o código disponível? Se tiver publique-o aqui: local lvl = 400 local t = { {vocations = {1, 13},Pos = {{x=1397, y=1505, z=9},{x=1429, y=1549, z=9}},item= {2349,{x=1398, y=1502, z=9}}}, -- TANK OR DRUNK {vocations = {14, 15},Pos = {{x=1396, y=1505, z=9},{x=1429, y=1549, z=9}},item= {2349,{x=1398, y=1508, z=9}}}, -- ATTACK OR DRUNK {vocations = {16, 17},Pos = {{x=1395, y=1505, z=9},{x=1429, y=1549, z=9}},item= {2349,{x=1393, y=1508, z=9}}}, -- SUPPORT OR DRUNK {vocations = {18, 19},Pos = {{x=1394, y=1505, z=9},{x=1429, y=1549, z=9}},item= {2349,{x=1393, y=1502, z=9}}} -- PARALYZE OR DRUNK {vocations = {18, 19},Pos = {{x=1394, y=1505, z=9},{x=1429, y=1549, z=9}},item= {2349,{x=1393, y=1502, z=9}}} -- PARALYZE {vocations = {18, 19},Pos = {{x=1394, y=1505, z=9},{x=1429, y=1549, z=9}},item= {2349,{x=1393, y=1502, z=9}}} -- SUPPORT } function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} local items = {} for _, k in ipairs(t) do local x = getTopCreature(k.Pos[1]).uid local v = getTileItemById(k.item[2], k.item[1]) if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < lvl or isInArray(k.vocations, getPlayerVocation(x)) == FALSE) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..lvl..' ou mais ou não tem a vocação.') return true elseif v.uid == 0 then doPlayerSendCancel(cid, "Todos os itens precisão estar na posição.") return true end table.insert(check, x) table.insert(items, v) end for k, tid in ipairs(check) do doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF) doTeleportThing(tid, t[k].Pos[2]) doSendMagicEffect(getCreaturePosition(tid), CONST_ME_TELEPORT) end for _, remove in ipairs(items) do doRemoveItem(remove.uid) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  11. poderia atualizar esse script para tfs 0.4 por favor?
  12. e se eu quisesse colocar mais mensagens antes de castar a magia, você poderia editar o codigo para falar 3 mensagens antes de castar a magia?
  13. está dando esse erro na distro mano e muito obrigado por estar ajudando.

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...