-
Total de itens
1090 -
Registro em
-
Última visita
-
Dias Ganhos
7
Tipo de Conteúdo
Perfis
Fóruns
Calendário
Publique
Tudo que Wise postou
-
Não sei dizer os valores exatos, mas você pode calcular alterando os parâmetros que compõem a função que seta a fórmula/valores do combat: setCombatFormula(combat, type, mina, minb, maxa, maxb) Corrigi os valores da fórmula Acredito que para um servidor global, seria adequado (veja se te agrada, senão, vá alterando os valores até): setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)
-
Ops! Falha minha, esqueci dos parâmetros da função rs local positions = { ["Treiners"] = {x = 409, y = 805, z = 7}, ["Treiners"] = {x = 344, y = 738, z = 7}, ["Treiners"] = {x = 650, y = 844, z = 7}, ["Treiners"] = {x = 757, y = 826, z = 7}, ["Treiners"] = {x = 1017, y = 709, z = 6}, ["Treiners"] = {x = 1041, y = 560, z = 6}, ["Treiners"] = {x = 800, y = 554, z = 6}, ["Treiners"] = {x = 793, y = 709, z = 7}, ["Treiners"] = {x = 796, y = 428, z = 6}, ["Treiners"] = {x = 790, y = 357, z = 6}, ["Treiners"] = {x = 547, y = 218, z = 7}, ["Treiners"]
-
Você declarou ao for, uma variável dentro de uma tabela inexistente. E aplicou à função doSendMagicEffect uma variável que também não foi declarada. Tente: local positions = { ["Treiners"] = {x = 409, y = 805, z = 7}, ["Treiners"] = {x = 344, y = 738, z = 7}, ["Treiners"] = {x = 650, y = 844, z = 7}, ["Treiners"] = {x = 757, y = 826, z = 7}, ["Treiners"] = {x = 1017, y = 709, z = 6}, ["Treiners"] = {x = 1041, y = 560, z = 6}, ["Treiners"] = {x = 800, y = 554, z = 6}, ["Treiners"] = {x = 793, y = 709, z = 7}, ["Treiners"] = {x = 796, y = 428, z = 6}, [
-
Iditar ring para não perder nenhum item.
Wise respondeu ao tópico de margosiinho em Suporte Tibia OTServer
Não havia lido. Apenas adicione o atributo do tipo preventDrop com valor positivo/true (1) à tag do item. -
(Resolvido)[Pedido] Comando !off
Wise respondeu ao tópico de linhhares em Suporte Tibia OTServer (Resolvidos)
off.lua (data/talkactions/scripts): local stor = 54321 function ariseText(cid) local time = 2 -- seconds to repeat the function local text = 'ausente' if isPlayer(cid) then doSendAnimatedText(getCreaturePosition(cid), text, math.random(0, 255)) if getPlayerStorageValue(cid, stor) > 0 then addEvent(ariseText, time * 1000, cid) end end return true end function onSay(cid) if getPlayerStorageValue(cid, stor) < 1 then setPlayerStorageValue(cid, stor, 1) doCreatureSetNoMove(cid, true) ariseText(cid) -
Observe que os erros foram: [...] Cannot open.. / Cannot load script.. / No such file or directory.. [...] Ou seja, você não deve ter configurado corretamente o diretório ou nome do arquivo Lua, já que não é possível abri-lo/carregá-lo/encontrá-lo. Verifique a tag e o nome dado aos arquivos, refaça os processos e se tiver o mesmo resultado, informe as tags aqui.
-
Remover Vocação Vip de narutibia do acc manager
Wise respondeu ao tópico de harrydk em Suporte Tibia OTServer
Basta alterar o parâmetro da tag da vocação desejada, onde está needpremium, mude para o valor 1. needpremium="1" -
Sitema%2FMod Tower Defense Event [TFS 1.0 / 1.1]
Wise respondeu ao tópico de ViitinG em Scripts tfs 0.4 (OLD)
Bem interessante, gostei da ideologia do evento em si. Dá pra gerar vários outros sistemas a partir desses códigos, com certeza contribuirá muito. Não necessariamente, TFS 1.0 também executa essas funções. Só que nos códigos acima, o parâmetro referente ao creature ID (cid) foi definido para como sendo player, basta alterar ;]- 8 respostas
-
- evento de torre
- TFS 1.1
- (e 4 mais)
-
(Resolvido)Pedido EXIT SIMPLES
Wise respondeu ao tópico de wandersonnc em Suporte Tibia OTServer (Resolvidos)
idletile.lua (data/creaturescripts/scripts): function onThink(cid, interval) local kicktime = 10 local tileactionid = 54321 local idletime = getPlayerIdleTime(cid) + interval if getTileThingByPos(getCreaturePosition(cid)).actionid == tileactionid then if getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) then return true end doPlayerSetIdleTime(cid, idletime) if idletime > kicktime * 60 * 1000 then doRemoveCreature(cid) end end return true end Tag - creaturescripts.xml (data/creaturescripts): <event -
Tente: function onStepIn(cid) local items = {1903, 1904, 1905} for posx = 490, 496 do for posy = 498, 503 do local pos = {x=posx, y=posy, z=5} for i = 1, #items do local limpar = getTileItemById(pos, items[i]) if limpar.uid > 0 then doRemoveItem(limpar.uid) end end end end return true end
-
Adicione à lib do seu servidor: string.explode = function (str, sep, limit) if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then return {} end local i, pos, tmp, t = 0, 1, "", {} for s, e in function() return string.find(str, sep, pos) end do tmp = str:sub(pos, s - 1):trim() table.insert(t, tmp) pos = e + 1 i = i + 1 if(limit ~= nil and i == limit) then break end end tmp = str:sub(pos):trim() table.insert(t, tmp) return t end Se não me engano, no TFS
-
[DÚVIDA] Ativar action por comando
Wise respondeu ao tópico de GabrielSapient em Suporte Tibia OTServer
Falha minha, um erro de atenção, e sim, provavelmente foi isso mesmo. Agora que notei que eu errei ao declarar uma variável na tabela. Códigos da action: function onUse(cid, item) local gstor = 54321 if getGlobalStorageValue(gstor) < 1 then return doPlayerSendCancel(cid, "This system is disabled.") end if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for x = 0, (getContainerSize(item.uid)) do local iten -
[DÚVIDA] Ativar action por comando
Wise respondeu ao tópico de GabrielSapient em Suporte Tibia OTServer
Veja: if getGlobalStorageValue(gstor) < 1 then return doPlayerSendCancel(cid, "This system is disabled.") end Caso a estrutura de controle seja true, ou seja, caso o valor da global storage seja menor que 1 (desativado), então retornará aquela mensagem. Aqui: local t = { ['enabled'] = {evalue = 1, dvalue = 0, msg = {'The action is now enabled.', 'The action is already enabled.'}}, ['disabled'] = {evalue = 0, dvalue = 1, msg = {'The action is now disabled.', 'The action is already disabled.'}} } Caso o parâmetro usado seja enabled e a global storage for -
[DÚVIDA] Ativar action por comando
Wise respondeu ao tópico de GabrielSapient em Suporte Tibia OTServer
Cara, o escopo que envolve a checagem da global storage só envia a mensagem caso o mesmo seja true, não tem nada a ver. E usando somente a storage, não vai dar pra determinar um "controle" geral da action, a storage se aplica em um creature ID específico e não para todos (como a global storage). O problema estava no valor da global storage, acabei esquecendo que por padrão (caso não esteja sendo usada em algum outro script), seria menor que 1 e resultaria nisso. Não tinha necessidade de eu postar uma tag, já que você tem esse action script, bastava substituir os códigos do mesm -
(Resolvido)Premium para X level alcançado
Wise respondeu ao tópico de lordmentos em Suporte Tibia OTServer (Resolvidos)
@lordmentos Se o seu pedido foi atendido, por favor clique no botão que está localizado abaixo do post de quem te ajudou. Automaticamente ele irá ficar destacado como a melhor resposta e o tópico ficará com o prefixo "Resolvido" no início do título. -
[DÚVIDA] Ativar action por comando
Wise respondeu ao tópico de GabrielSapient em Suporte Tibia OTServer
Habilitar/desabilitar uma action, no geral? Use uma global storage, é mais simples assim. Substitua o action script: function onUse(cid, item) local gstor = 54321 if getGlobalStorageValue(gstor) < 1 then return doPlayerSendCancel(cid, "This system is disabled.") end if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for x = 0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) -
Tente: losepromotion.lua (data/creaturescripts/scripts): function onThink(cid) local stor = 33335 if getPlayerStorageValue(cid, stor) - os.time() < 1 and getPlayerPromotionLevel(cid) > 1 then doPlayerSetPromotionLevel(cid, 1) end return true end Tag - creaturescripts.xml (data/creaturescripts): <event type="think" name="LosePromotion" event="script" value="losepromotion.lua"/> Registre o creature event em login.lua (data/creaturescripts/scripts): registerCreatureEvent(cid, "LosePromotion")
-
@Frenesy Sem problemas. Se preferir usar só o do callback onCombat que postei, não terá necessidade de outros creature events (dá pra ter o summon como target, mas não é possível atacá-lo e ele não recebe quaisquer danos). Abraços.
-
Você pode observar que na função: doTeleportThing(cid, config.Saffari2_Pos.Enter) a posição não está disponível no mesmo script que o do npc, portanto, é bem provável que você tenha um arquivo na sua lib (data/lib) que contenha os dados do seu sistema de "saffari". Procure lá, é nesse arquivo que você vai poder modificar a variável da tabela que contém a posição na qual o player é teleportado pelo npc.
-
[Poketíbia] (Pedido) Não poder deslogar estando em: Surf, Ride e Fly!
Wise respondeu ao tópico de ducb em Suporte Tibia OTServer
Sim, dá pra fazer um creature event que determine um tempo de "Idle", e caso cid tenha os valores das storages dos sistemas, ele é teleportado e setado (após um tempo estipulado) como fora da habilidade em questão. Mas aqui é o tópico de outro membro, amigo. Crie um tópico para seu próprio pedido/dúvida. -
Certo. Fica mais simples com o creature event combat. ownsummon.lua (data/creaturescripts/scripts): function onCombat(cid, target) if isSummon(target) and getCreatureMaster(target) == cid then return false end return true end Tag - creaturescripts.xml (data/creaturescripts): <event type="combat" name="OwnSummon" script="ownsummon.lua"/> Registre o creature event em login.lua (data/creaturescripts/scripts): registerCreatureEvent(cid, "OwnSummon")
-
Só não garanto sobre a criatura não se movimentar, pois há variações causadas por outros cids no local. Tente: saga.lua (data/creaturescripts/scripts): local monster = 'Demon' -- name local stor = 8000 -- storage function onCombat(cid, target) if (isPlayer(cid)) then if (isMonster(target) and (getCreatureName(target) == monster and (getPlayerStorageValue(cid, stor) == 1 or 3))) then return false end elseif (isMonster(cid)) then if (isPlayer(target) and (getPlayerStorageValue(target, stor) == 1 or 3)) then return false end end return true end functi
-
(Resolvido)[ PEDIDO ] SCRIPTS P/ QUEST de DUPLO ITEM
Wise respondeu ao tópico de Unico BR em Suporte Tibia OTServer (Resolvidos)
Descarte os unique IDs. Vamos usar então, action IDs. Nesse caso, determinei como sendo os action IDs dos baús: 54001 = Sorcerer / Druid / Master Sorcerer / Elder Druid. 54002 = Paladin / Royal Paladin. 54003 = Knight / Elite Knight - Sword 54004 = Knight / Elite Knight - Club 54005 = Knight / Elite Knight - Axe Altere como preferir. Eu não testei chests.lua (data/actions/scripts): local t = { -- [actionID] = {vocs = {vocationIDs}, items = {itemIDs}} [54001] = {vocs = {1, 2, 5, 6}, items = {7424}}, -- mages [54002] = {vocs = {3, 7}, items = {8858, 2352}}, -- paladins [54 -
(Resolvido)Tempo em teleport
Wise respondeu ao tópico de CarlosHenrique7457 em Suporte Tibia OTServer (Resolvidos)
Aí estão os valores usados nos metamétodos da função exhaustion, sendo a storage e o tempo em segundos, respectivamente. -
Colocar o action ID no item? Você criou um arquivo em actions e colocou uma action tag em talkactions(?). Amigo, doPlayerAddItem é uma função. Tags em arquivos do open tibia, são usadas na linguagem XML (extensible markup language). Lembre-se, são apenas observações e não críticas. Está indo muito bem, ajudando vários membros, parabéns. Apenas tente estar mais certo das informações que repassa. Abraços. @falling Altere a tabela com o ID e a quantidade do item (códigos do membro danihcv). local item = {5432, 1} -- {itemID, count} local pos1 = {x=1,y=1,z=1}
TibiaKing
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.
Anuncie no TibiaKing
Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no OTKing e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!