Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''Scripting''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • Projetos Open Source
    • Canary
    • OTServBR-Global
    • Mehah OTClient
    • MyAAC
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
  • Outros
    • Design

Encontrado 371 registros

  1. Scripting Erro move1.lua:onSay

    Antes de fazer a sua pergunta, tenha certeza de ter lido o guia abaixo: https://forums.otserv.com.br/index.php?/forums/topic/165121-como-fazer-uma-pergunta-ou-o-grande-guia-do-usuário-com-dúvidas/ Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do Website / etc). Ex: The Forgotten Server 8,54 Base: ot pokemon Qual a sua pergunta?erros [Error - TalkAction Interface] [31/01/2019 17:24:28] In a timer event called from: [31/01/2019 17:24:28] datapack/talkactions/scripts/move1.lua:onSay [31/01/2019 17:24:28] Description: [31/01/2019 17:24:29] datapack/lib/032-position.lua:158: bad argument #1 to 'getn' (table expected, got nil) [31/01/2019 17:24:29] stack traceback: [31/01/2019 17:24:29] [C]: in function 'getn' [31/01/2019 17:24:29] datapack/lib/032-position.lua:158: in function 'getPosfromArea' [31/01/2019 17:24:29] datapack/lib/newStatusSyst.lua:697: in function <datapack/lib/newStatusSyst.lua:694> Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: move1.lua: 032-position.lua newStatusSyst.lua Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  2. Qual função pode estar substituindo essa getPlayerFlagValue para que um jogador normal possa estar vendo a posição do tile assim que der look? if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' Eu quero que quando o jogador desse look em um tile aparecesse a posição igual o ADM, gostaria que essa função fosse pra todos, desde player até adm
  3. Scripting Look OTX 8.60

    Tentei fazer com que o script de look mostrasse a quantidade de dodge e de critical que o jogador tem, mais não consegui, toda vez que eu adicionava o código na linha, ele ficava como uma mensagem que seria enviada ao jogador e não ficava da forma certa, gostaria de pedir a ajuda de vocês para que me ajude a executar esse código direito. Obrigado desde já, rep+ para quem ajudar. Quando eu adicionava o código ficava assim E é pra ele ficar assim Gostaria também de adicionar aquela função do ADM, GM, SGM que quando ele da look em um piso, mostra as posições x, y, z, gostaria de deixar essa função para todos, desde Player até ADM Storage do dodge: 98798644 Storage do critical: 48903 Meu script de look
  4. Scripting Shutdown global save

    Pergunta, qual a função do shutdown globalsave? o save normal de hora em hora já nao funciona? Como eu nao vejo a necessidade irei retirar essa função, entao vim me informar se estou fazendo errado.
  5. Base: TFS 1.3 Custom Os pets (summons de lvl 200), estava, atacando os players que estão na party com as magias em areas, porem foi alterado o creature.lua nos events, apenas adicionados alguns comandos, ele parou de acertar os players na party com as spells em area porem gera um erro no console. Erro: Lua Script Error: [Event Interface] data/events/scripts/creature.lua:Creature@onTargetCombat data/global.lua:211: bad argument #1 to 'pairs' (table expected, got nil) Linha de erro : for _, targetColumn in pairs(array) do Codigo adicionado no creature.lua em events: Codigo no global.lua:
  6. Scripting Upgrading System

    Base: TFS 1.3 Custom Eu recebo um erro no sistema de upgrade depois de usar o item de refinamento no item a ser refinado, isso acontece algumas vezes e nada acontece com o item de refinamento ou o item que está sendo refinado, mas há momentos em que o item refina normalmente. Erro: Lua Script Error: [Action Interface] data/actions/scripts/upgrade.lua:onUse data/actions/scripts/upgrade.lua:52: attempt to compare number with nil Linha de Erro: if(nLevel > level)then Codigo:
  7. Base: TFS 0.3.6, Versão: 8.54 Salve galera bom eu achei essa function por lib feita pelo vodkart E gostaria muito de usar neste script para aparecer a hora, minutos e os segundos que falta pra poder usar novamente Como podem ver eu tentei fazer um porém consegui deixar apenas em segundos se alguém puder fazer essa modificação pra mim ajudaria muito obrigado desde já Script sem a verificação em segundos
  8. Salve galera alguém pode me dar uma força, tentei editar de diversas formas e não consegui estou querendo fazer duas coisas nesse script caso o jogador tiver a stamina full apareça a mensagem falando que tem a stamina full e não use a poção, e após usar ter um delay de 1 hora pra usar novamente. Aparentemente já existe no script para caso estiver com a stamina cheia não gaste porém não esta funcionando alguém pode dar uma força... Base: TFS 0.3.6, Versão: 8.54 local config = { tempo = 120, -- Tempo em minutos effect = 592, remove_on_use = "yes" } function onUse(cid, item, frompos, item2, topos) local cfg = {} cfg.refuel = 42 * 60 * 1000 if(getPlayerStamina(cid) >= cfg.refuel) then doPlayerSendCancel(cid, "Your stamina is already full.") doPlayerAddStamina(cid, config.tempo) doSendMagicEffect(getThingPos(cid), config.effect) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua stamina foi regenerada em 2 horas.") if config.remove_on_use == "yes" then doRemoveItem(item.uid, 1) end end return true end
  9. Scripting Ajuda com script de forja

    Engine: OTX 2.X.S.5 (FORGOTEN_PATH_7_X) Server em questão: RealOTX-7.72 Estou com seguinte dúvida neste script: function onUse(cid, item, frompos, item2, topos) local config = { ["copper ore"] = {id = 6119, done = 6100, qnt = 10} } local forge = {x = 9991, y = 9985, z = 7, stackpos = 2} -- Posicao da forja local pos = getThingFromPos(forge) for i, c in pairs(config) do if pos.itemid == c.id and pos.amount == c.qnt then doRemoveItem(pos.uid) doTransformItem(item.uid, item.itemid+1) return true end end end Dentro do "if" eu preciso de um de um parâmetro onde ele vai checar a quantidade de items colocados sobre o forge. Usei este "pos.amount == c.qnt" porém o script não funciona desta forma. Acredito que eu esteja usando o parâmetro errado (que no caso é este amount). No exemplo acima, coloquei como sendo 10, o numero de coppers ore para que o dispositivo funcione. Alguém pode me informar qual eu deveria usar para que o mesmo leia da maneira correta oque está sendo solicitado?
  10. Scripting Imbuement System

    Base: TFS 1.3 Custom Pergunta: Estou com problema no life steal e mana steal no sistema de imbuement com armas de dano elemental, a life steal e mana steal está recuperando a % do nivel atual do imbuement apenas o dano fisico da arma dado 2x ao invez de recuperar 1x a % do dano fisico e 1x a % do dano elemental. Parte do player.lua em events que acho que está o problema: Acho que o problema seria a parte de : if (typeEnchant == "hitpointsleech") then local healAmountHP = normalDamage*(enchantPercent/100) self:addHealth(math.abs(healAmountHP)) elseif (typeEnchant == "manapointsleech") then local healAmountMP = normalDamage*(enchantPercent/100) self:addMana(math.abs(healAmountMP)) end Porem ja tentei alterar umas coisas com um amigo e nada funcionou. Imagem: Se alguem puder dar uma ajuda a resolver este problema agradeço.
  11. Servidor: TFS 0.4, Versão 8.6. Meu sistema de autoloot estar fazendo propaganda enganosa kkkk. Quando se é um jogador Free Account você possui 2 slots liberados no autoloot, e quando se é Premium Account fala que irar liberar mais 2 slots, mais quando se é Premium Account não pode adicionar mais de 2 itens no autoloot. Já mudei o not vip.hasVip(cid)para isPremium(cid) mais só libera 1 slot e não os 2 prometidos.
  12. Scripting Sistema de Exercise Training

    Base: TFS 1.3 Custom Estou com um script de exercise training e ele da 1 de skill a cada charge da arma, porem queria saber como editar para ele dar Skill Tries de acordo com a stage do servidor ao invez de dar 1 skill por charge. Código:
  13. Scripting Sistema de Unwrap

    Base: TFS 1.3 Custom Estou com problemas no sistema de unwrap de house items comprados no market, após o unwrap no decoration kit (ID: 26054), o mesmo não vira o item comprado no market e sim vira um item sem nome que esteja no meu item.xml Codigo Atual Imagens
  14. Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do Website / etc). Ex: ExtremeOT, 7.6 Base: YourOTs Qual a sua pergunta? Pesquisei muito nesses últimos dias porém não encontrei nada aplicado ao meu server. As munições (arrow, bolt, power bolt, etc) estão infinitas e eu gostaria de retirar, porém no meu config.lua não tem nenhuma opção nesse sentido, tentei incluir as tags removeWeaponAmmunition e removeWeaponCharges porém não surtiu efeito . Não existe o arquivo "weapons.xml", acredito que por ser uma versão antiga, poderiam me auxiliar? Quero montar um servidor baseado no RPG old school e não gostaria que tivesse essa facilidade. Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  15. Galera eu gostaria de um script que a cada 10s exebisse um texto animado no personagem que está em uma guild que tem mais kills no sv. Ou seja, top guild. A quela que aparece no site Modern acc na aba Top guild. Iria ficar assim: Ela ia aparecer subindo e sumia, depois de 10s aparecia de novo. Em todos os personagens que está na top guild. Se for necessario, o meu site executa essa query para determinar a top guild: SELECT `g`.`id` AS `id`, `g`.`name` AS `name`, COUNT(`g`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id` LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id` WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1 GROUP BY `name` ORDER BY `frags` DESC, `name` ASC LIMIT 0, 4;
  16. Scripting Como corrigir o Last Login

    Utilizando com a versão 10.98 (sprites 12.00) Distro: The OTX Server Global - Version: (3.10) Gostaria de saber onde posso corrigir a informação de quando você loga aparecer as informações de data e hora do ulitmo login. Ele salva a data e hora do ultimo save feito no servidor, teria alguma forma de pegar esses dados em tempo real sem a utilização do save?
  17. Scripting Monster Friend

    Base: TFS 1.2, Versão: 8.6 Qual a sua pergunta? Queria fazer com que um monstro não ataque um certo tipo de pessoa (que seria uma vocação), mas ele sempre fica com o target na pessoa, mesmo eu fazendo varias tentativas, como addFriend, removeTarget e RETURNVALUE_YOUMAYNOTATTACKTHISCREATURE Eu pesquisei em vários lugares e achei esse tópico que trata exatamente meu problema. Link Mas no caso dele funcionou, o meu não funcionou. Monster events/creatures.lua
  18. Distro: OTX Malucoo | TFS 1.3; Boa noite, pessoal. Estou com uma distro que preciso completar todas as missions para ter acesso, por exemplo: Acesso Yalahar Porém mesmo assim não aparece no questlog, tentei criar um novo char e mesmo assim, não funcionou. Este é meu login.lua; Linha 187: player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3) --> Mesmo assim não funciona. Estou fazendo algo errado? local events = { 'ElementalSpheresOverlords', 'BigfootBurdenVersperoth', 'Razzagorn', 'Shatterer', 'Zamulosh', 'The Hunger', 'The Rage', 'Eradicator', 'Eradicator1', 'Rupture', 'World Devourer', 'Tarbaz', 'Shulgrax', 'Ragiaz', 'Plagirath', 'Mazoran', 'Destabilized', 'BigfootBurdenWiggler', 'SvargrondArenaKill', 'NewFrontierShardOfCorruption', 'NewFrontierTirecz', 'ServiceOfYalaharDiseasedTrio', 'ServiceOfYalaharAzerus', 'ServiceOfYalaharQuaraLeaders', 'InquisitionBosses', 'InquisitionUngreez', 'KillingInTheNameOfKills', 'KillingInTheNameOfKillss', 'KillingInTheNameOfKillsss', 'MastersVoiceServants', 'SecretServiceBlackKnight', 'ThievesGuildNomad', 'WotELizardMagistratus', 'WotELizardNoble', 'WotEKeeper', 'Maxxed', 'WotEBosses', 'WotEZalamon', 'WarzoneThree', 'PlayerDeath', 'AdvanceSave', 'bossesWarzone', 'AdvanceRookgaard', 'PythiusTheRotten', 'DropLoot', 'Yielothax', 'BossParticipation', 'Energized Raging Mage', 'Raging Mage', 'modalMD1', 'VibrantEgg', 'DeathCounter', 'KillCounter', 'bless1', 'lowerRoshamuul', 'SpikeTaskQuestCrystal', 'SpikeTaskQuestDrillworm', 'petlogin', 'Idle', 'petthink', 'UpperSpikeKill', 'MiddleSpikeKill', 'LowerSpikeKill' } local function onMovementRemoveProtection(cid, oldPosition, time) local player = Player(cid) if not player then return true end local playerPosition = player:getPosition() if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then player:setStorageValue(Storage.combatProtectionStorage, 0) return true end addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1) end function onLogin(player) local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. '!' if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. ' Please choose your outfit.' player:setBankBalance(0) player:setOutfit({lookType = (player:getSex() == 1 and 128 or 136), lookHead = 78, lookBody = 106, lookLegs = 58, lookFeet = 76}) player:sendTutorial(1) else if loginStr ~= "" then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end loginStr = string.format('Your last visit was on %s.', os.date('%a %b %d %X %Y', player:getLastLoginSaved())) end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) local playerId = player:getId() player:loadSpecialStorage() --[[-- Maintenance mode if (player:getGroup():getId() < 2) then return false else end--]] if (player:getGroup():getId() >= 4) then player:setGhostMode(true) end -- Stamina nextUseStaminaTime[playerId] = 1 -- EXP Stamina nextUseXpStamina[playerId] = 1 -- Prey Stamina for i = 1, 3 do nextUseStaminaPrey[playerId + i] = {Time = 1} end -- Prey Data if (player:getVocation():getId() ~= 0) then local columnUnlocked = getUnlockedColumn(player) if (not columnUnlocked) then columnUnlocked = 0 end for i = 0, columnUnlocked do sendPreyData(player, i) end end if (player:getAccountType() == ACCOUNT_TYPE_TUTOR) then local msg = [[:: Regras Tutor :: 1*>3 Advertências você perde o cargo. 2*>Sem conversas paralelas com jogadores no Help, se o player começar a ofender, você simplesmente o mute. 3*>Seja educado com os player no Help e principalmente no Privado, tenta ajudar o máximo possível. 4*>Sempre logue no seu horário, caso não tiver uma justificativa você será removido da staff. 5*>Help é somente permitido realizar dúvidas relacionadas ao tibia. 6*>Não é Permitido divulgar time pra upar ou para ajudar em quest. 7*>Não é permitido venda de itens no Help. 8*>Caso o player encontre um bug, peça para ir ao site mandar um ticket e explicar em detalhes. 9*>Mantenha sempre o Chat dos Tutores aberto. (obrigatório). 10*>Você terminou de cumprir seu horário, viu que não tem nenhum tutor Online, você comunica com algum CM in-game ou ts e fica no help até alguém logar, se der. 11*>Mantenha sempre um ótimo português no Help, queremos tutores que dêem suporte, não que fiquem falando um ritual satânico. 12*>Se ver um tutor fazendo algo que infrinja as regras, tire uma print e envie aos superiores." -- Comandos -- Mutar Player: /mute nick,90. (90 segundos) Desmutar Player: /unmute nick. -- Comandos --]] player:popupFYI(msg) end -- OPEN CHANNERLS (ABRIR CHANNELS) if table.contains({"Rookgaard", "Dawnport"}, player:getTown():getName())then player:openChannel(6) -- advertsing rook main else player:openChannel(5) -- advertsing main end player:openChannel(3) -- world chat --player:openChannel(7) -- help channel -- Rewards local rewards = #player:getRewardList() if(rewards > 0) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You have %d %s in your reward chest.", rewards, rewards > 1 and "rewards" or "reward")) end -- Update player id local stats = player:inBossFight() if stats then stats.playerId = player:getId() end -- Events for i = 1, #events do player:registerEvent(events[i]) end if player:getStorageValue(Storage.combatProtectionStorage) < 1 then player:setStorageValue(Storage.combatProtectionStorage, 1) onMovementRemoveProtection(playerId, player:getPosition(), 10) player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3) end -- Exp stats local staminaMinutes = player:getStamina() local Boost = player:getExpBoostStamina() if staminaMinutes > 2400 and player:isPremium() then player:setStaminaXpBoost(150) -- 200 = 1.0x, 200 = 2.0x, ... premium account elseif staminaMinutes <= 840 then player:setStaminaXpBoost(50) -- 50 = 0.5x all players else player:setStaminaXpBoost(100) end player:setStoreXpBoost(Boost > 0 and 50 or 0) return true end
  19. OTServer Global, Versão 11.++ Coé rapaziada! Bom, estou tentando criar uma script no '/creaturescripts' utilizando o onKill(), como sou programador, costumo ir por partes e testar as coisas por etapas (ainda mais que sou novo com servidores de Tibia). Minha dúvida é bem simples. Só quero saber se a minha script está realmente rodando ou sendo chamada, porém, não aparece nenhum print() que tento utilizar, no console. Esta faltando algo? Código killmonster.lua localizado em 'creaturescripts/scripts/new/': function onKill(player, target) print("[LOG] Jogador "..player:getName().." acabou de matar o alvo "..target:getName()) if target:isPlayer() or target:getMaster() then return true end return true end Simples né? Só quero saber se está passando ou sendo chamado! creaturescripts.xml: <?xml version="1.0" encoding="UTF-8"?> <creaturescripts> [...] <!-- Já tentei com event="script" e sem ele também --> <event type="kill" name="KillMonster" event="script" script="new/killmonster.lua" /> </creaturescripts> Onde está o [...] eu tirei as outras chamadas para ficar menor. PS: Não estão dando erros no console. PS²: Coloquei print() em outros scripts que utilizam o onKill() e está aparecendo normalmente. Abraço, Gryllo
  20. Eae galera... Então vamos lá, eu estou com dificuldade num problema que tenho a um tempo no meu projeto. Uso o projeto como base, a WOP, postada a alguns anos nas comunidades. O meu erro se consiste na parte do sistema de BOAT, ou navegação. Oque acontece e que quando o jogador, clica ali na guia de navegação para iniciar de frente para a borda ele e jogado no mar e muda a skin para a skin do barco e começa a navegar sem problema nenhum, agora na hora de voltar que e preciso clicar em uma borda especifica também, ao clicar ele e jogado para terra firme e continua com a skin do barco que você começou a navegar, isso consiste ate você rolagar que ai volta com a sou Outfit padrão. Vou disponibilizar os arquivos que consiste no sistema. Boat.rar
  21. Scripting Spells: Detectar item usado

    Base: TFS 1.2, versão 8.6 Qual a sua pergunta? Eu converti um script de action para spells, para melhor manuseio, mas preciso saber que item está sendo usado, já que é um script para vários itens diferentes. No actions, tinha na função onUse(item) que pegava o item que estava sendo usado, porém no spells não tem. Precisava fazer o item ser usado apenas quando equipado na mão. Na função onCastSpell().
  22. Scripting Tabela

    Ex: The Forgotten Server 1.2, Versão: 8.6; Qual a sua pergunta? Eu queria direcionar o valor de uma tabela, para outra tabela. Acho que vocês entenderiam melhor com o código... Lembrando que eu apenas peguei algumas partes do código para poder ficar mais legível, então se tiver alguma erro de sintaxe como falta de "{", "(" ou "," é um erro ao transferir ao fórum que eu devo ter apago sem querer. Ele está sem erro, só da erro na hora de pegar o valor da tabela munição.
  23. Olá eu queria criar uma nova vocação tipo, ORC ou ELF, que na vocação ORC aparecese so as outfit de ORC E que na vocação ELF aparecese so as outfit de ELF Uso The Forgotten Server 1.3, Versão: 10.98!
  24. Scripting Comando !playerinfo - TFS 1.2

    olá se alguem pudesse me ajuda a criar um comando na source para poder funcionar esse scripts, tfs 1.2. O scripts e para ver informações do Player! function onSay(player, words, param) local config = { name = player:getName(), -- checa o nome do player level = player:getLevel(), -- checa o level do player vocation = player:getVocation():getName(), -- checa a vocação do player vip = player:getPremiumDays() -- checa a quantidade de dias premium } local armadura = 0 local earth = 0 local fire = 0 local ice = 0 local physical = 0 local holy = 0 local death = 0 local energy = 0 for i=1, 10 do local item = player:getSlotItem(i) if item.uid > 0 then if i == getItemInfo(item.itemid).wieldPosition then local att = getItemInfo(item.itemid).defense if att == 0 then att = getItemInfo(item.itemid).armor end armadura = armadura + att earth = earth + getItemInfo(item.itemid).absorbPercentEarth fire = fire + getItemInfo(item.itemid).absorbPercentFire ice = ice + getItemInfo(item.itemid).absorbPercentIce physical = physical + getItemInfo(item.itemid).absorbPercentPhysical holy = holy + getItemInfo(item.itemid).absorbPercentHoly death = death + getItemInfo(item.itemid).absorbPercentDeath energy = energy + getItemInfo(item.itemid).absorbPercentEnergy end end end player:popupFYI(cid, "Name: "..config.name.."\nLevel: "..config.level.."\nVocation: "..config.vocation.."\nArmadura: "..armadura.."\nVip: "..config.vip.." Days\nEarth: "..earth.."\nFire: "..fire.."\nIce: "..ice.."\nPhysical: "..physical.."\nHoly: "..holy.."\nDeath: "..death.."\nEnergy: "..energy) return true end
  25. Scripting Outfit Por Vocação - TFS 1.3

    queria um scripts que cada vocaçao ter um outfit so dela! exemplo druid ter só a outfit mage, knight ter so outfit warrior.... para tfs 1.3 Se alguem poder me ajudar
×