
Tudo que King Laker postou
-
(Resolvido)-=[TFS]=- 0.3.6 8.60 - ME AJUDA POR FAVOR QUANDO PLAYER LOGA NO TEMPLO DA DEBUG POR QUE TEM OURO CHAR NA MESMA POSIÇÃO
Bota o piso laranja que ao logar o jogador vai ser jogado pro lado caso tenha alguém no piso principal.
-
[RESOLVIDO] -=[TFS]=- 0.3.6 8.60 - PET ATACA O PLAYER QUE SUMONO O PROPRIO PET
Tenta colocar um doConvinceCreature na criatura que foi criada.
-
[Lançamento] NTO Blood 05/05
⭐ NTO BLOOD ⭐ (Lançamento 05/05 (Domingo) as 14:00, venha participar do evento de invites para garantir o seu prêmio!) SERVIDOR REFEITO DO 0 ✔️ MARKET DE PERSONAGENS NO SITE ✔️ MARKET DE ITENS NO SITE ✔️ EVENTOS DIARIOS AUTOMATICOS ✔️ INVASÕES DIARIAS AUTOMATICAS ✔️ PVP BALANCEADO ENTRE FREE E DONATE ✔️ DODGE & CRITICAL SYSTEM ✔️ DOMINAR CASTLE DIARIO ✔️ SORTEIOS TODA SEMANA ✔️ TASKS DE MONSTROS ✔️ CLIENTE OTC ✔️ CLIENTE MOBILE ✔️ XP MEDIUM ✔️ 24 HR ONLINE ✔️ SET DONATE E SET FREE (FARM) ✔️ STAFF PRESENTE ✔️ ⭐ https://discord.gg/bsNkbsyJ3W ⭐
- [OTX 2.x / 8.60] - OTSERVER
-
Clicar no baú e ele se transformar em outro item por alguns segundos, e depois voltar ao item original.
local config = { storage = 12345, -- storage para não poder fazer de novo id_bau = 11200, -- bau estático + bau que vai voltar bau_efeito = 11201, -- bau que vai transformar time = 2, -- 2 segundos } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storage) < 1 and item.itemid == config.id_bau then doTransformItem(item.uid, config.bau_efeito) addEvent(transformBack, config.time * 1000, cid, item.uid) setPlayerStorageValue(cid, config.storage, 1) return true end return false end function transformBack(cid, item_uid) if isItem(item_uid) then doTransformItem(item_uid, config.id_bau) end end
-
Ola tudo bem? alguem pode passa um action para quando eu passar em um teleporte nascer um boss e quando sair só pode entrar no teleporte depois de 20 hrs, muito abrigado a atenção de vcs S2
No script acima esqueci de especificar que era um movements, a actionID pode ser adicionada tanto a um tile quanto a um teleport. Caso queira utilizar em tempo, lugares e monstros diferentes é só mudar as 4 primeiras linhas do codigo. <movevent type="StepIn" actionid="1234" event="script" value="nomedoscript.lua"/>
-
Ola tudo bem? alguem pode passa um action para quando eu passar em um teleporte nascer um boss e quando sair só pode entrar no teleporte depois de 20 hrs, muito abrigado a atenção de vcs S2
Não teste, mas acredito que como base vai servir. local summonPosition = {x = 90, y = 128, z = 7} -- posição do monstro a ser summonado local summonedMonster = "rat" -- monstro a ser summonado local exhaustTime = 72000 -- tempo de exhaust em segundos local exhaustStorage = 2020008 -- storage do exhaust function onStepIn(cid, item, position, fromPosition) local playerExhaustStorage = 55695 if isPlayer(cid) and os.time() - getPlayerStorageValue(cid, playerExhaustStorage) >= exhaustTime then setPlayerStorageValue(cid, playerExhaustStorage, os.time()) doCreateMonster(summonedMonster, summonPosition) setPlayerStorageValue(cid, exhaustStorage, os.time()) else local timeRemaining = exhaustTime - (os.time() - getPlayerStorageValue(cid, playerExhaustStorage)) local errorMessage = string.format("Você precisa esperar %d segundos para passar novamente.", timeRemaining) doPlayerSendCancel(cid, errorMessage) end return true end
-
Erro creaturescrpts
Sempre bom mandar o script com o erro, que no caso seria o kdcounter.lua na pasta creaturescripts/scripts
-
AJUDA EDIÇÃO SITE ZNOTE ACC BASE WONRS
Os sites ZNote que eu conheço não utilizam sample e sim uma configuração no proprio config.php
-
NPC de troca somente uma vez por player
@GuiltyPerdão eu não vi que você utilizava Canary, eu não estou familiarizado com as funções dessa versão, da pra você pegar outros scripts de NPC e utilizar eles pra adaptar pra sua versão.
-
Preciso de ajuda ( NTO BASE )
Isso da quanto o site não esta online e/ou você não configurou a database no config.lua
-
(Resolvido)Alguem ajuda no meu script vip ?
local config = { effect1 = 27 -- Primeiro efeito effect2 = 28 -- Efeito que vai usar tempo = 1 -- Tempo em segundos } function onLogin(cid) if isPremium(cid) then scheduleEffect(cid) end return true end function scheduleEffect(cid) if isPlayer(cid) and isPremium(cid) then doSendMagicEffect(getCreaturePosition(cid), config.effect1) doSendMagicEffect(getCreaturePosition(cid), config.effect2) addEvent(scheduleEffect, config.tempo * 1000, cid) return true end return false end
-
(Resolvido)Ocultar msg do comando
A parte do código que eu te enviei não vai enviar uma mensagem no seu chat default após utilizar o comando. Sobre as tabelas que eu mencionei é bom você pesquisar, são muito uteis pra diminuir a quantia de scripts que você utiliza
-
[MOD] War Castle TFS 0.4
<?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Cyber Castle 48" version="1.0" author="SeuNome" contact="seusite.com" enabled="yes"> <config name="cybercastle48_config"><![CDATA[ cybercastle48_config = { storages = {1700, 1701, 1702}, -- Armazenamento global para controle do evento arena = {{x = 1000, y = 1000, z = 7}, {x = 1100, y = 1100, z = 7}}, -- Área da arena teleportAppear = {x = 1025, y = 1026, z = 7}, -- Posição do teleport que aparece teleportDestination = {x = 912, y = 1267, z = 7}, -- Posição para onde o jogador é teleportado ao entrar no teleport respawnTime = 5, -- Tempo de respawn dos monstros em minutos eventDuration = 1, -- Tempo de duração do evento em minutos rewards = {items = {{1234, 10}, {5678, 5}}, trophy = 8765}, -- Prêmios para os ganhadores do evento minLevelToAccess = 50, -- Nível mínimo para acessar o teleport castleOwnerStorage = 1703, -- Armazenamento para controlar a guilda dona do castelo castleDominatingGuild = 0, -- Variável para armazenar temporariamente a guilda que está dominando o castelo } ]]></config> <talkaction words="!startcc" access="5" event="buffer"><![CDATA[ domodlib('cybercastle48_config') local teleportItem = doCreateItem(1387, 1, cybercastle48_config.teleportAppear) doItemSetAttribute(teleportItem, "aid", 19872) -- Adicione um action id ao teleport para identificação doBroadcastMessage("[Cyber Castle 48] O evento começou! Use o teleport para entrar na arena.", MESSAGE_STATUS_WARNING) setGlobalStorageValue(cybercastle48_config.storages[3], 1) -- Marca o início do evento ]]></talkaction> <talkaction words="!endcc" access="5" event="buffer"><![CDATA[ domodlib('cybercastle48_config') local removeTeleport = getTileItemById(cybercastle48_config.teleportAppear, 1387).uid if removeTeleport and removeTeleport > 0 then doRemoveItem(removeTeleport) doBroadcastMessage("[Cyber Castle 48] O evento foi encerrado! O teleport foi removido.", MESSAGE_STATUS_WARNING) -- Verifique se alguma guilda está disputando o castelo if cybercastle48_config.castleDominatingGuild > 0 then local dominatingGuild = cybercastle48_config.castleDominatingGuild local guildName = getGuildName(dominatingGuild) if guildName then -- Anuncie a guilda vencedora doBroadcastMessage("[Cyber Castle 48] A guilda " .. guildName .. " domina o castelo!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(cybercastle48_config.castleOwnerStorage, dominatingGuild) end else -- Nenhuma guilda disputou o castelo doBroadcastMessage("[Cyber Castle 48] Nenhuma guilda dominou o castelo durante o evento.", MESSAGE_STATUS_WARNING) end -- Reseta o estado do evento e a guilda dominante setGlobalStorageValue(cybercastle48_config.storages[3], 0) cybercastle48_config.castleDominatingGuild = 0 else doPlayerSendCancel(cid, "O evento não está acontecendo.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end ]]></talkaction> <movevent type="StepIn" actionid="19872" event="script"><![CDATA[ domodlib('cybercastle48_config') local playerLevel = getPlayerLevel(cid) if playerLevel >= cybercastle48_config.minLevelToAccess then doTeleportThing(cid, cybercastle48_config.teleportDestination, false) else doPlayerSendCancel(cid, "Você não tem o nível mínimo necessário para entrar no evento.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end ]]></movevent> <movevent type="StepIn" actionid="19873" event="script"><![CDATA[ local guildId = getPlayerGuildId(cid) if guildId > 0 then -- O jogador pertence a uma guilda, permita a passagem local guildName = getPlayerGuildName(cid) -- Use esta função alternativa if guildName then doBroadcastMessage("[Cyber Castle 48] " .. getCreatureName(cid) .. " da guilda " .. guildName .. " está invadindo o Cyber Castle 48!", MESSAGE_STATUS_CONSOLE_ORANGE) return true end end -- O jogador não pertence a uma guilda, bloqueie a passagem e mova-o de volta à posição anterior doPlayerSendCancel(cid, "Você não pode passar por aqui sem estar em uma guilda.") doTeleportThing(cid, fromPosition, false) return false ]]></movevent> <movevent type="StepIn" actionid="19874" event="script"><![CDATA[ domodlib('cybercastle48_config') local playerGuildId = getPlayerGuildId(cid) if playerGuildId > 0 then -- O jogador pertence a uma guilda, permita a tentativa de dominar o castelo local guildName = getPlayerGuildName(cid) if guildName then -- Verifique se o castelo já foi dominado por outra guilda local currentDominatingGuild = getGlobalStorageValue(cybercastle48_config.castleOwnerStorage) if currentDominatingGuild > 0 then -- Castelo já dominado, verifique se a guilda atual é diferente if currentDominatingGuild ~= playerGuildId then -- Transferir o domínio para a nova guilda setGlobalStorageValue(cybercastle48_config.castleOwnerStorage, playerGuildId) cybercastle48_config.castleDominatingGuild = playerGuildId -- Atualize a guilda dominante -- Emitir mensagem informando sobre a mudança de domínio doBroadcastMessage("[Cyber Castle 48] O castelo foi dominado pela guilda " .. guildName .. "!", MESSAGE_STATUS_CONSOLE_ORANGE) else -- A guilda atual está defendendo seu domínio doBroadcastMessage("[Cyber Castle 48] O jogador " .. getCreatureName(cid) .. " da guild " .. guildName .. " está defendendo o Cyber Castle 48!", MESSAGE_STATUS_CONSOLE_ORANGE) end else -- O castelo ainda não foi dominado, a guilda atual o domina agora setGlobalStorageValue(cybercastle48_config.castleOwnerStorage, playerGuildId) cybercastle48_config.castleDominatingGuild = playerGuildId -- Atualize a guilda dominante -- Emitir mensagem informando sobre o domínio inicial doBroadcastMessage("[Cyber Castle 48] O castelo foi dominado pela guilda " .. guildName .. "!", MESSAGE_STATUS_CONSOLE_ORANGE) end return true end end -- O jogador não pertence a uma guilda, bloqueie a tentativa de dominar o castelo doPlayerSendCancel(cid, "Você não pode tentar dominar o castelo sem estar em uma guilda.") return false ]]></movevent> </mod>
-
NPC de troca somente uma vez por player
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local item1 = 123 -- item local qntd1 = 1 -- quantia local stor = 1023332 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'entregar')) then selfSay('Voce conseguiu mesmo juntar os itens? diga {sim} se deseja me entregar', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if (getPlayerStorageValue(cid, stor) > 0) then selfSay('Voce ja realizou a troca comigo.', cid) else if getPlayerItemCount(cid, item1) >= qntd1 then doPlayerRemoveItem(cid, item1, qntd1) local bag = doPlayerAddItem(cid, 1599, 1) doAddContainerItem(bag, 2190, 10) setPlayerStorageValue(cid, stor, 1) selfSay('Obrigado! Em troca aqui esta o seu premio.', cid) else selfSay('Voce ainda nao conseguiu os requisitos, estou ansioso por eles, ha tantas utilidades.', cid) end end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
(Resolvido)Ocultar msg do comando
<talkaction words="!storebuy10D" log="no" event="script" value="2023/10d.lua"/> Você pode utilizar tabelas na script desse modulo de store por comando, assim ficando apenas 1 script entregando infinitos itens configuráveis de sua escolha.
-
(Resolvido)Alguem ajuda no meu script vip ?
--Aura Vip Com AutoMensagem-- --by: Animation-- --Criada 13/04/2012-- --Testado Tibia 8.50-- local FRASES = {""} -- Auto-Mensagem. local effect = 209 local effect2 = 210 function onLogin(cid) sendEffect(cid) registerCreatureEvent(cid, "AdvEffect") return TRUE end function sendEffect(cid) if isCreature(cid) then if isPlayer(cid) and isPremium(cid) and getPlayerGroupId(cid) <= 1 then pos = getThingPos(cid) doSendAnimatedText(pos, FRASES[math.random(#FRASES)], 255) doSendMagicEffect(pos, effect) doSendMagicEffect(pos, effect2) addEvent(sendEffect, 600, cid) addEvent(sendEffect2, 600, cid) end end end Caso o de cima não funcione você pode tentar isso: creaturescripts.lua <event type="login" name="aura" event="script" value="aura.lua"/> login.lua registerCreatureEvent(cid, "aura") aura.lua local effect = 27 -- Efeito que vai usar local tempo = 1 -- Tempo em segundos function onLogin(cid) if isPremium(cid) then scheduleEffect(cid) end return true end function scheduleEffect(cid) if isPlayer(cid) then doSendMagicEffect(getCreaturePosition(cid), effect) addEvent(scheduleEffect, tempo * 1000, cid) return true end return false end
- [OTX 2.x / 8.60] - OTSERVER
-
[OTX 2.x / 8.60] - OTSERVER
Eu estou tentando compilar no Windows para testes privados, no ubuntu eu não tenho problema nenhum em compilar, mas o meu teste server é no meu computador mesmo, ai queria compilar para windows pra uso pessoal, qualquer otx que eu tento compilar da isso, já segui o tutorial a risca e nada, queria saber se você tem como me auxiliar?
- [OTX 2.x / 8.60] - OTSERVER
-
Alguem tem conhecimento de onde posso encontrar essa sprite dos NPC's, ou poderia disponibiliza-la para mim?
Acredito que sim, mas não acho em lugar algum, por isso decidi vir aqui pra ver se alguém da uma força..
-
Alguem tem conhecimento de onde posso encontrar essa sprite dos NPC's, ou poderia disponibiliza-la para mim?
- [+] OTX2 8.6 Elo Buff, Ganhar um buff de skill por storage [+]
O seu nem chegou a funcionar. Infelizmente o script que eu fiz ele não funcionava toda vez que o jogador logava e também não achei uma maneira de configurar mais de um buff por storage Oque eu consegui fazer foi assim: local function addConditionVocDay(cid) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) -- Permanente setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 1) -- Quanto de Magic Level será adicionado if not isPlayer(cid) then return true end if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doRemoveCondition(cid, CONDITION_ATTRIBUTES) end doAddCondition(cid, condition) end function onLogin(cid) if getPlayerStorageValue(cid, 848484) >= 5 then addConditionVocDay(cid) end return true end- [+] OTX2 8.6 Elo Buff, Ganhar um buff de skill por storage [+]
Bom, como diz no titulo, gostaria de um buff que o player ganharia a cada vez que logasse se tivesse X de storage, tentei fazer o script com a função onLogin, mas teve vezes que funcionou e outras que não ao logar no personagem. (É necessário que seja um buff de ML e não apenas ganhar a skill de ML, já que caso ele morra ele pode perder.) 0 de ML tendo 0 da storage 848484 1 de ML tendo 5 a 10 da storage 848484 2 de ML tendo 15 ou mais da storage 848484 Procurei por algo similar no fórum e não achei, caso possam me ajudar ou pelo menos apontar a direção de alguma forma. Obrigado desde já. Pode ser uma spell também caso não dê para fazer em creaturescripts, tentei fazer mas sempre que eu usava a magia dava poison invés de ML..- [OTX2 8.6] Script Trade Points com Erro.
Resolvido. - [+] OTX2 8.6 Elo Buff, Ganhar um buff de skill por storage [+]
Informação Importante
Confirmação de Termo