Tudo que Storm postou
-
Livro De Bless
@Emanueldk Se envia a mensagem de que a bless foi entregue então está funcional, o problema é no seu servidor no qual a bless é diferente do que você deseja.
-
Livro De Bless
@Emanueldk Vai em Linguagem > L > Lua
-
(Resolvido)Adicionar reset em script de promotion
@Jociel local t = { [569] = {570, 1020, 3000, 3000}, } local itemid, count = 8306 , 1 local level = 1500 local newlevel = 1 -- Level apos resetar local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local a = t[getPlayerVocation(cid)] local playerid = getPlayerGUID(cid) if msgcontains(msg, "mystic promotion") then if a then if getPlayerLevel(cid) >= level then if doPlayerRemoveItem(cid, itemid, count) then local outfit = {lookType = a[2]} doPlayerSetVocation(cid, a[1]) doCreatureChangeOutfit(cid, outfit) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + a[3]) setCreatureMaxMana(cid, getCreatureMaxMana(cid) + a[4]) db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") addEvent(doRemoveCreature, 1000, cid) else selfSay('Voce precisa de '.. count ..' '.. getItemInfo(itemid).name ..' para fazer a Mystic Promotion.', cid) end else selfSay('Você precisa estar no level '.. level ..'.', cid) end else selfSay('Sua Vocation não tem Promotion disponivel, Voce Precisa estar na ultima Transform!', cid) end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Livro De Bless
@Emanueldk Agora tá funcional , testei em meu próprio servidor : function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if getPlayerBlessing(cid, 5) then doPlayerSendCancel(cid, "Você já tem todas as bless.") doSendMagicEffect(pos, 3) return true end doSendMagicEffect(pos, 3) doPlayerSendTextMessage(cid, 27, "voce foi abencoado pelos deuses") for b = 1, 5 do doPlayerAddBlessing(cid, b) end return true end
-
Livro De Bless
@Emanueldk local cost = 1000 -- Quanto irá custar a bless function onUse(cid, item, itemEx, fromPosition, toPosition) local pos = getCreaturePosition(cid) if getPlayerBlessing(cid, 5) then doPlayerSendCancel(cid, "Você já tem todas as bless.") return false end if doPlayerRemoveMoney(cid, cost) then for b = 1, 5 do doPlayerAddBlessing(cid, b) doSendMagicEffect(pos, 2) doPlayerSendTextMessage(cid, 27, "voce foi abencoado pelos deuses") end else doSendMagicEffect(pos, 2) return doPlayerSendTextMessage(cid, 27, "Você não tem grana") end return true end
- [Spell] Tsukuyomi no Jutsu
-
(Resolvido)Proibir adm criar x item no /i
local block = {11192, 2090} -- Coloque aqui os itens bloqueados function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if isInArray(block, tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce não pode criar esses itens") return true end local t = string.explode(param, ",") local ret = RETURNVALUE_NOERROR local pos = getCreaturePosition(cid) local id = tonumber(t[1]) if(not id) then errors(false) id = getItemIdByName(t[1]) errors(true) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item with such name does not exists.") return true end end local amount = 100 if(t[2]) then amount = t[2] end local item = doCreateItemEx(id, amount) if(t[3] and getBooleanFromString(t[3])) then if(t[4] and getBooleanFromString(t[4])) then pos = getCreatureLookPosition(cid) end ret = doTileAddItemEx(pos, item) else ret = doPlayerAddItemEx(cid, item, true) end if(ret ~= RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Couldn't add item: " .. t[1]) return true end doDecayItem(item) if(not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_MAGIC_RED) end return true end
- [SPELL] Katon Karyu Endan
-
Players nukando meu ot
@mullino
-
Weapon Critico - BOW
Aqui no TibiaKing mensagens como UP e BUMP são proibidas, utilize o botão subir este tópico. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
(Resolvido)Receber item ao matar o mesmo monstro X vezes
@Daniel Parece que você está copiando errado , ta aparecendo uns erros estranhos , enfim testei na minha propria base e não está com esses erros, vou te mandar a script atualizada e voce baixa e cola creatureScripts.lua // Essa aqui vai ficar na pasta creaturescripts talkactions.lua // Esse vai ficar na talkactions No login.lua , você vai remover o evento que você adicionou desse sistema do Vankk, e vai registrar no monster em que você quiser essa tag <script> <event name="Event"/> </script> Agora novamente no login.lua , você vai dar um CTRL + F e procurar por RETURN TRUE, e em cima do return true você vai colocar esse código local storage = { a = 134567, -- Storage que ganhará ao matar o monstro b = 341567, -- Storage que ganhará ao matar 5 monstros c = 123457 -- Storage que ganhará ao ganhar o item } if getCreatureStorage(cid, 134511) == -1 then doCreatureSetStorage(cid, storage.a, 0) doCreatureSetStorage(cid, storage.b, 0) doCreatureSetStorage(cid, storage.c, 0) doCreatureSetStorage(cid, 134511, 1) end Agora em creatureScripts.XML você cola a tag <event type="death" name="Sol" event="script" value="sol.lua"/>
-
preciso de ajuda no otlist
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum! @aicilopmes123 Dar up em tópicos é proibido , já existe uma ferramenta para isso.
-
(Resolvido)Receber item ao matar o mesmo monstro X vezes
@Daniel Você está errando nas configurações , primeiro que na XML fica assim <event type="death" name="Sol" event="script" value="sol.lua"/> Não precisa registrar evento no login.lua , apenas registra na XML do monstro
-
(Resolvido)Receber item ao matar o mesmo monstro X vezes
@Daniel Remova essa parte , não há necessidade: local monsters { d = {"Demon", "dragon", "orc"], } Você vai registrar na XML de cada monstro e a script valerá por todos
-
(Resolvido)Receber item ao matar o mesmo monstro X vezes
@Daniel Sim , não esqueça de registrar no XML
-
DNS go.
Aqui no TibiaKing mensagens como UP e BUMP são proibidas, utilize o botão subir este tópico. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
Chance do monstro se suicidar
Tem como, mas existem várias formas, tem alguma preferência ?
-
(Resolvido)Receber item ao matar o mesmo monstro X vezes
CreatureScripts local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } local required = 5 -- Quantos monstros terá que matar local itemid, count = 2160, 5 -- Item ID e sua count function onDeath(cid, corpse, deathList) local killer = deathList[1] if isPlayer(killer) and isMonster(cid) then doCreatureSetStorage(killer, storage.a, getCreatureStorage(killer, storage.a) + 1) if getCreatureStorage(killer, storage.a) >= required then doCreatureSetStorage(killer, storage.a, 0) doCreatureSetStorage(killer, storage.b, getCreatureStorage(killer, storage.b) + 1) doCreatureSetStorage(killer, storage.c, getCreatureStorage(killer, storage.c) + 1) doPlayerAddItem(killer, itemid, count) doPlayerSendTextMessage(killer, 18, "Voce recebeu ".. count .." ".. getItemInfo(itemid).name .." ao matar o monstro.") return true end return true end return true end Login.lua , antes do ultimo return true você adiciona essas linhas: local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } if getCreatureStorage(cid, 13451) == -1 then doCreatureSetStorage(cid, storage.a, 0) doCreatureSetStorage(cid, storage.b, 0) doCreatureSetStorage(cid, storage.c, 0) doCreatureSetStorage(cid, 13451, 1) end Talkactions local required = 5 -- Quantos monstros terá que matar local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } function onSay(cid, words, param, channel) doPlayerSendTextMessage(cid, 27, "Você já matou ".. getCreatureStorage(cid, storage.b) * required .." e recebeu ".. getCreatureStorage(cid, storage.c) .." itens especiais") return true end
-
Players nukando meu ot
@mullino Tentar resolver o erro as cegas assim é impossível , você vai ter que usar um depurador para descobrir em que arquivo isso ocorreu , alguns tutoriais aqui http://www.lrc.ic.unicamp.br/~luciano/courses/mc202-2s2009/tutorial_gdb.txt https://www.vivaolinux.com.br/artigo/Aprendendo-a-utilizar-o-GNU-Debugger-(parte-1)
-
Players nukando meu ot
È linux ?
-
Barbarian Arena quest Custom
@Luccaw Perdão pelos meus erros, agora vai: local config = { time = 5, -- Minutos para o player sair da area global = 3242, -- Global storage storage = 3214, -- Storage cost = 1000, -- Custo para entrar dentro = {x = 94 , y = 200, z = 7}, -- Pos de dentro da arena onde sera teleportado ao iniciar o evento fora = {x = 90, y = 195, z = 6} -- Pos de fora da arena onde ele sera teleportado ao acabar o tempo } local toPos = {x = 94 , y = 200, z = 7} -- | -- | Começo e final da arena local fromPos = {x = 94 , y = 200, z = 7} -- | local function Arena(cid) if isPlayer(cid) then if getCreatureStorage(cid, config.storage) == 1 then doCreatureSetStorage(cid, config.storage, -1) doTeleportThing(cid, config.fora) return true end return true end doSetStorage(config.global, -1) return true end function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if getStorage(config.global) == -1 then if doPlayerRemoveMoney(cid, config.cost) then doTeleportThing(cid, config.dentro) doCreatureSetStorage(cid, config.storage, 1) doSetStorage(config.global, 1) addEvent(Arena, 60 * config.time * 1000, cid) return doPlayerSendTextMessage(cid, 26, "Voce iniciou a arena") else doPlayerSendTextMessage(cid, 27, "Voce precisa de ".. config.cost .." money para entrar na arena") return doSendMagicEffect(pos, 3) end else doPlayerSendTextMessage(cid, 27, "Já existe alguem na arena no momento, aguarde.") return doSendMagicEffect(pos, 3) end return true end
-
Barbarian Arena quest Custom
@Luccaw Você pode criar uma script para cada arena , mudando os storages
-
Barbarian Arena quest Custom
@Luccaw Tenta assim local config = { time = 5, -- Minutos para o player sair da area global = 3242, -- Global storage storage = 3214, -- Storage cost = 1000, -- Custo para entrar dentro = {x = 94 , y = 200, z = 7}, -- Pos de dentro da arena onde sera teleportado ao iniciar o evento fora = {x = 90, y = 195, z = 6} -- Pos de fora da arena onde ele sera teleportado ao acabar o tempo } local toPos = {x = 94 , y = 200, z = 7} -- | -- | Começo e final da arena local fromPos = {x = 94 , y = 200, z = 7} -- | local function Arena(cid) if isPlayer(cid) then if getCreatureStorage(cid, config.storage) == 1 then doCreatureSetStorage(cid, config.storage, -1) doTeleportThing(cid, config.fora) return true end return true end doSetStorage(config.global, -1) return true end function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if getStorage(config.global) == -1 then if doPlayerRemoveMoney(cid, config.cost) then doTeleportThing(cid, config.dentro) doCreatureSetStorage(cid, config.storage, 1) addEvent(Arena, 60 * config.time * 1000, cid) return doPlayerSendTextMessage(cid, 26, "Voce iniciou a arena") else doPlayerSendTextMessage(cid, 27, "Voce precisa de ".. config.cost .." money para entrar na arena") return doSendMagicEffect(pos, 3) end else doPlayerSendTextMessage(cid, 27, "Já existe alguem na arena no momento, aguarde.") return doSendMagicEffect(pos, 3) end return true end
-
Barbarian Arena quest Custom
@Luccaw Pode dar um exemplo ? não entendi muito bem
-
Barbarian Arena quest Custom
@Luccaw Não esqueça de registrar no login.lua , sobre a action , da algum erro ? <event type="preparedeath" name="arena" event="script" value="arena.lua"/>