
Tudo que Frenesy postou
-
(Resolvido)Quest Log: Dúvida Rápida
Tem como uma missão só aparecer no Quest Log apenas quando o Player alcança-se determinado nível?
-
OTClient 0.6.5 - 10.41
Link Off
-
(Resolvido)[DUVIDA] Alterações nos scripts de outras versões
Entendi. Obrigado a todos.
-
(Resolvido)[DUVIDA] Alterações nos scripts de outras versões
Tem um local específico nas source onde eu poderia encontrar a informação que quero?
-
(Resolvido)[DUVIDA] Alterações nos scripts de outras versões
Tenho conhecimento de que quando ocorre a transição de uma versão do Tibia para outra versão (Ex: 8.60 para 8.70), há mudanças nos scripts - ao menos em alguns comandos. Alguns scripts que pegam em 8.60, pode não pegar em 8.70, devido a alguma mudança que ocorreu. Minha dúvida é: Onde posso verificar as Mudanças que ocorrerão de uma transição para outra. Como posso verificar que tag, comando ou algo do gênero mudou da versão 8.60 para 8.70, por exemplo. O que foi substituído, o que permanece, essas coisas. Não sei se entenderam. Mas qualquer coisa avisa que tentarei ser ainda mais claro. No Aguardo.
-
NoLogout Tool
As áreas onde eu coloco o NoLogout Tool pelo RME não está funcionando. Os Players continuam relogando nessas áreas. Alguma dica de como resolver?
-
(Resolvido)Limpando Sala
Essa combinação aqui deu certo @White: function onStepIn(cid) for posx = 490,496 do -- checar posição X, começo e final da sala for posy = 498,503 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=5} local limpar = getTileItemById(pos, 1903) if limpar.uid > 0 then doRemoveItem(limpar.uid) end end end return TRUE end Mas acabei de perceber um detalhe adicional. Como faço para remover vários itens selecionado. Ex: Em uma sala tenho Itens 1, 2, 3, 4 e 5. Quero remover apenas os Itens 1, 2, 3 e 5. Queria uma tabela, onde eu possa adicionar os IDs dos itens que eu quero remover.
-
(Resolvido)Limpando Sala
Poxa, seria bom uma ajudinha agora. Tentei fazer mas não deu muito certo: function onStepIn(cid) for posx = 490,496 do -- checar posição X, começo e final da sala for posy = 498,503 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=5, stackpos=255} local limpar = getTileItemById(pos, 1739) doRemoveItem(limpar.uid) end end return TRUE end Assim que passo pelo Tile, o objeto some, mas antes de sumir, aparece vários erros no servidor: 24/12/2014 17:18:36] [Error - MoveEvents Interface] [24/12/2014 17:18:36] data/movements/scripts/Quests/Teste.lua:onStepIn [24/12/2014 17:18:36] Description: [24/12/2014 17:18:36] (luaDoRemoveItem) Item not found
-
(Resolvido)Summon
Valeu pela dica.
-
(Resolvido)Summon
Meu Brother @Suicide, eu consegui fazer um aqui. Usei como base o seu Script e o do @Orochi Elf. juntei os dois e deu no que deu. Pra quem quiser, vou disponibilizar logo abaixo. Valeu realmente pela ajuda. REP+ pra quem deu atenção ao meu problema. function onTarget(cid, target) if(attacker and isMonster(target) and isSummon(attacker) and (type == STATSCHANGE_HEALTHLOSS)) then return false end return true end function onStatsChange(cid, attacker, type, combat, value) if(attacker and isMonster(target) and isSummon(attacker) and (type == STATSCHANGE_HEALTHLOSS)) then if combat ~= COMBAT_HEALING then return false end end return true end function onCast(cid, target) if(attacker and isMonster(target) and isSummon(attacker) and (type == STATSCHANGE_HEALTHLOSS)) then if combat ~= COMBAT_HEALING then return false end end return true end
-
(Resolvido)Summon
Obrigado a todos. Irei testar assim que chegar em casa. #Edit[1] @Orochi Elf Desculpe, mas qual seria mesmo a tag para se adicionar seu script no creaturescript? @Suicide O Seu ficou ótimo. No entanto, quando uso magia de área acaba matando o Summon. E isso não pode ocorrer. #Edit[2] @Orochi Elf O Seu Script está fechando meu servidor. Assim que eu ataco, o OT para de funcionar. Pessoal, qual é a tag para se usar esse script? function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if isSummon(cid) and getCreatureMaster(cid) == attacker then return false end end return true end Não estou conseguindo instalar.
-
[Potion]
Talvez seja seu Potion.lua que esteja com algum problema. Pegue esse: local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", range = -1, realAnimation = "no", -- make text effect visible only for players in range 1x1 multiplier = { health = 1.0, mana = 1.0 } } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 42, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 42, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 42, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 42, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 42, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 47, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 47, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 47, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 43, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPosition(item.uid) end doDecayItem(doCreateItem(POOL, potion.splash, toPosition)) doRemoveItem(item.uid, 1) if(not potion.empty or config.removeOnUse) then return true end if(fromPosition.x ~= CONTAINER_POSITION) then doCreateItem(potion.empty, fromPosition) else doPlayerAddItem(cid, potion.empty, 1) end return true end if(hasCondition(cid, CONDITION_EXHAUST)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(itemEx.uid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(itemEx.uid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end if(config.range > 0 and cid ~= itemEx.uid and getDistanceBetween(getThingPosition(cid), getThingPosition(itemEx.uid)) > config.range) then return false end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.multiplier.health))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.multiplier.mana))) then return false end doSendMagicEffect(getThingPosition(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not config.realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getThingPosition(itemEx.uid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) doRemoveItem(item.uid, 1) if(not potion.empty or config.removeOnUse) then return true end if(fromPosition.x ~= CONTAINER_POSITION) then doCreateItem(potion.empty, fromPosition) else doPlayerAddItem(cid, potion.empty, 1) end return true end
-
(Resolvido)Summon
Queria um Script que não me deixe atacar meu Summon - igual aos do PokeTibia. No entanto, eu queria também que minhas magias de área não atingisse ele. No Aguardo!
-
OT - 10.53 + cast System
Seção Errada amigo. Reportado!
-
(Resolvido)Limpando Sala
Ele remove sangue no chão? Como faço para remover de uma sala apenas um Item específico?
-
(Resolvido)Limpando Sala
Tenho uma sala cheio de Corpos de Monstros mortos e sangue. Como faço para o Player, ao passar pelo Tile, remove os Corpos e o Sangue do chão. Deixar tudo limpo para outro jogador usar?
-
(Resolvido)(luaGetThingPosition) Thing not found
Aquele isPlayer(cid) eu coloquei depois que percebi o erro. E aquele MagicEffect era apenas pra verificar se o Script reconhecia o Player e o Summon. Mas testei seu Script e deu a mesma coisa. Só pra avisa. Reparei que quando eu não tenho a Storage (1508) e passo pelo Tile, tambem aparece o mesmo erro. Será que o erro aparece porque o Summon não tem a Storage? #Edit O Problema é essa parte aqui: local Summ = getCreaturePosition(getCreatureSummons(cid)[1]) local NPC = getTopCreature(Summ).uid Quando a tirei, o erro sumiu. No entanto, como posso usar o: addEvent(doCreatureSay, 6000, NPC, "Teste.") Sem essas funções? #Edit[2] Resolvi: addEvent(doCreatureSay, 6000, getTopCreature(getCreaturePosition(getCreatureSummons(cid)[1])).uid, "Teste.")
-
(Resolvido)(luaGetThingPosition) Thing not found
#danihcv O que foi que mudou aí mesmo?
-
(Resolvido)(luaGetThingPosition) Thing not found
Tenho um Moviments em determinado Tile do Mapa. É pra ser ativado quando o Player passar por ela. E isso realmente acontece. No entanto, quando o Summon tambem passa pelo Tile aparece esse Erro: [21/12/2014 14:32:56] [Error - MoveEvents Interface] [21/12/2014 14:32:56] data/movements/scripts/Quests/Teste.lua:onStepIn [21/12/2014 14:32:56] Description: [21/12/2014 14:32:56] (luaGetThingPosition) Thing not found O Script é Esse: function onStepIn(cid, item, position, fromPosition) local Summ = getCreaturePosition(getCreatureSummons(cid)[1]) local NPC = getTopCreature(Summ).uid if isPlayer(cid) then if getPlayerStorageValue(cid, 1508) == 1 then addEvent(doCreatureSay, 6000, NPC, "Teste.") setPlayerStorageValue(cid, 1508, -1) setPlayerStorageValue(cid, 1508, 2) doSendMagicEffect(getPlayerPosition(cid), 13) end else doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end #Edit Só pra avisa. Reparei que quando eu não tenho a Storage (1508) e passo pelo Tile, tambem aparece o mesmo erro. Será que o erro aparece porque o Summon não tem a Storage?
-
(Resolvido)getCreatureSummons(cid)
Entendi. Obrigado!
-
(Resolvido)getCreatureSummons(cid)
Deu certo. Valeu! Mas só pra complementar, pra o que serve aquele "[1]" no final? é indicando que é o Summon 1 ou algo assim?
-
(Resolvido)getCreatureSummons(cid)
Não deu certo =/ #Edit To tentando mas não da certo: function onStepIn(cid) local summons = getCreatureSummons(cid) for _, pid in ipairs(summons) do doSendMagicEffect(pid, 49) end end
-
(Resolvido)getCreatureSummons(cid)
Quero saber como reconhecer a posição do Summon. Ex: Tentei adicionar um efeito no Summon ao pisar em certo tile: function onStepIn(cid) local Summ = getThingPos((getCreatureSummons(cid))).uid doSendMagicEffect(Summ, 49) end Mas o Scrpt não reconhece o Summon. Como faço para reconhecer a posição do Summon?
-
getCreatureSummons(cid)
É uma ajuda rapida. Quero apenas saber como fazer algum efeito na posição do Summon. Tipo, quero que ao passar pelo Tile aconteça o Efeito 49 no meu Summon, por exemplo: function onStepIn(cid) local Summ = getThingPos((getCreatureSummons(cid))).uid doSendMagicEffect(Summ, 49) end Mas o script não reconhece o Summon. Como faço para reconhecer?
-
O que Deixa um OTServ Pesado?
Não tenho quase nada em GlobalEvents. è mais em movements e Actions. Meu Caso! Sem chance disso acontecer. Mas entendi o que quis dizer. Pegue seu REP+