-
Total de itens
816 -
Registro em
-
Última visita
-
Dias Ganhos
24
Tudo que Yan Liima postou
-
[Resolvido] [Pedido] Após morte voltar em local aleatório
pergunta respondeu ao NdboHakai de Yan Liima em Resolvidos
Tira as aspas do 66666... Coloquei aspas pois coloquei uma storage por letras, inves de números, comecei utilizar pra evitar storage igual kkk. Muitos usam números por achar que não da para utilizar storage por letras... -
[ACTION] Carpet System em Transform_to
tópico respondeu ao JulianoZN de Yan Liima em Actions e Talkactions
Interessante... Obrigado por trazer essa script pra comunidade -
[Resolvido] [Pedido] Após morte voltar em local aleatório
pergunta respondeu ao NdboHakai de Yan Liima em Resolvidos
Não, é na função de login mesmo. Pois ao logar ele estará no local configurado. o onDeath só serve para controlar Erro meu, editei. Copia de novo e tente. Creio que o problema era no Register, qualquer coisa é só tirar do script e por o register no login.lua. -
[Resolvido] [Pedido] Após morte voltar em local aleatório
pergunta respondeu ao NdboHakai de Yan Liima em Resolvidos
Tenta ai. Só criar um arquivo .lua no creaturescripts e por isso: local hospitalpos = { [1] = {x = 1006, y = 1010, z = 7}, -- posições pra onde o player será teleportado ao morrer [2] = {x = 1006, y = 1015, z = 7}, [3] = {x = 1006, y = 1020, z = 7}, } local str = "MT" --storage para controlar se o player foi morto ou nao function onDeath(cid, position) registerCreatureEvent(cid, "DeathPlayerHospital_L") if isPlayer(cid) then setPlayerStorageValue(cid, str, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "DeathPlayerHospital") if isPlayer(cid) then if getPlayerStorageValue(cid, str) == 1 then setPlayerStorageValue(cid, str, -1) doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true) end end return true end TAG: <event type="login" name="DeathPlayerHospital_L" event="script" value="arquivo.lua"/> <event type="death" name="DeathPlayerHospital" event="script" value="arquivo.lua"/> Se quiser por mais posições só adicionar conforme o script. Daria pra fazer também um fromPosition e toPosition , assim o jogador se teleportaria pra qualquer lugar dentro das área configurada. Mas recomendo usar dessa maneira que te mandei. -
[Resolvido] player mata outro e ganha item ,dinheiro e xp.
pergunta respondeu ao Emooooo de Yan Liima em Resolvidos
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. -
[Resolvido] player mata outro e ganha item ,dinheiro e xp.
pergunta respondeu ao Emooooo de Yan Liima em Resolvidos
local config = { items = {{2160,20},{2148,2}}, -- ID DO ITEM, QUANTIDADE level = 1, -- Quanto irá adicionar de level storage = 673420 -- Storage } function onDeath(cid, corpse, deathList) if not isPlayer(cid) then return true end local killer = deathList[1] if isPlayer(killer) and getPlayerStorageValue(killer, config.storage) <= 0 then doPlayerAddExperience(killer, (getPlayerExperience(cid) + config.level)) for i = 1, #config.items do doPlayerAddItem(killer, config.items[i][1], config.items[i][2]) setPlayerStorageValue(killer, config.storage, 1) end return true end return true end function onLogin(cid) registerCreatureEvent(cid, "LootPlayerDeath") return true end -
Só ir no seu login.lua e por abaixo de function onLogin(cid) isso: if getCreatureSkullType(cid) == SKULL_NONE then doCreatureSetSkullType(cid, SKULL_RED) end return true end Da pra fazer por script separado também, mas não vejo necessidade em algo simples assim rs Caso queira que isso aconteça só uma vez, basta por storage: if getPlayerStorageValue(cid, 9876540) <= 0 then elseif getCreatureSkullType(cid) == SKULL_NONE then doCreatureSetSkullType(cid, SKULL_RED) setPlayerStorageValue(cid, 9876540,1) end return true end
-
[Resolvido] player mata outro e ganha item ,dinheiro e xp.
pergunta respondeu ao Emooooo de Yan Liima em Resolvidos
@EmoooooApesar de eu ter entendido é sempre bom fornecer mais informações... Em creaturescript crie um arquivo.lua e cole isso: function onDeath(cid, corpse, deathList) if not isPlayer(cid) then return true end local killer = deathList[1] local items = {{2160,20},{2148,2}} -- ID DO ITEM, QUANTIDADE if isPlayer(killer) then doPlayerAddExperience(killer, (getPlayerExperience(cid) + 1)) -- Irá adicionar 1 de level. for i = 1, #items do doPlayerAddItem(killer, items[i][1], items[i][2]) end return true end return true end function onLogin(cid) registerCreatureEvent(cid, "LootPlayerDeath") return true end XML: <event type="login" name="LootPlayerLogin" event="script" value="arquivo.lua"/> <event type="death" name="LootPlayerDeath" event="script" value="arquivo.lua"/> -
@Thalles Vitor nesse script não tem nada definindo que o jogador matou o boss... @Italox @diarmaint Todos que ajudarem matar o Boss ganha a storage. Em creaturescripts crie um arquivo.lua e cole isso: function onDeath(cid, corpse, deathList) local monstro, m = {"Yanzito"}, {} local storage = 1239854 -- Storage que irá receber if isMonster(cid) and isInArray(monstro, getCreatureName(cid)) then for _, jogador in pairs(deathList) do if isPlayer(jogador) then local test = true if #m > 0 and isInArray(m, getPlayerIp(jogador)) then test = false end m[#m+1] = getPlayerIp(jogador) if test and getPlayerStorageValue(jogador, storage) <= 0 then setPlayerStorageValue(jogador, storage,1) end end end return true end return true end XML: <event type="death" name="BossStr" event="script" value="arquivo.lua"/> Vai no XML do monstro e antes de </monster> coloque isso: <script> <event name="BossStr"/> </script> No seu actions, na script do bau tu pode por a storage 1239854 para poder abrir. Vou deixar um exemplo: function onUse(cid, item, frompos, item2, topos) if item.uid == 60090 then if getPlayerStorageValue(cid,1239854) >= 2 then doPlayerSendTextMessage(cid,25,"Você já recebeu seu item.") return true end if getPlayerStorageValue(cid,1239854) <= 0 then doPlayerSendTextMessage(cid,25,"Você precisa matar o Boss antes.") else doPlayerSendTextMessage(cid,25,"Parabens!") doPlayerAddItem(cid,2631,1) setPlayerStorageValue(cid,1239854,2) end return true end end <action uniqueid="60090" script="arquivo.lua" /> Ai é só por o UniqueID 60090 no baú.
-
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.
-
Tenta assim:
-
Pra tu ajeitar a posição você poderia por isso: local pos = getPlayerPosition(cid) local position = {x = pos.x, y = pos.y - 1, z = pos.z} Só por o valor -1 ou +1 ... Dai o doSendMagicEffect tu poderia deixar assim: doSendMagicEffect(position, config[getPlayerVocation(cid)]) Ou você poderia ajusta isso na sprite mesmo, deixar ela de acordo com o personagem... E para funcionar o mesmo efeito em todos deixe o script assim:
-
@diarmaint boom, tente assim. Crie um arquivo em creaturescripts chamado deatheffect.lua e cole isso: local repetir = 2 -- Tempo para repetir o efeito local tempo = 1 * 60 -- Tempo em minutos que ficará com o efeito local str = 037668 -- storage, não mexa! local config = { [1] = 10, -- [Vocation] = 10(effect) [2] = 20, [3] = 30 } function onDeath(cid, corpse, deathList) setPlayerStorageValue(cid, str, os.time() + tempo) return true end function onLogin(cid) registerCreatureEvent(cid, "deathEffect") if getPlayerStorageValue(cid, str) > os.time() then effects(cid, getPlayerStorageValue(cid, str) - os.time()) end return true end function effects(cid, tempo) if (config[getPlayerVocation(cid)]) and isPlayer(cid) then if tempo > 0 then doSendMagicEffect(getPlayerPosition(cid), config[getPlayerVocation(cid)]) -- or getThingPos(cid) addEvent(effects, repetir * 1000, cid, tempo-repetir) else setPlayerStorageValue(cid, str, 0) return true end end end -- Créditos: Yan Liima(Xtibia) XML: <event type="login" name="loginEffect" event="script" value="deatheffect.lua"/> <event type="death" name="deathEffect" event="script" value="deatheffect.lua"/> Tome cuidado com caractere invalido ao copiar. xD
-
pedido scripts [Resolvido] Efeito Staff (PARA TFS 0.4)
pergunta respondeu ao ITALOx de Yan Liima em Resolvidos
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. -
Me explique direito como quer que faço para você sem gambiarras. Ao morrer ele recebe um effect por X tempo? o efeito vai ficar nele ou acima da cabeça dele? quer para todos a mesma coisa ou cada um com um efeito?
-
pedido scripts [Resolvido] Efeito Staff (PARA TFS 0.4)
pergunta respondeu ao ITALOx de Yan Liima em Resolvidos
Sim, só editar como quiser. -
pedido scripts [Resolvido] Efeito Staff (PARA TFS 0.4)
pergunta respondeu ao ITALOx de Yan Liima em Resolvidos
@diarmaint Creaturescript. local configEffect = { [6] = {message = '[GOD]', color = 25, time = 2}, --[Group ID] {MENSAGEM, tempo em segundos} [5] = {message = '[CM]', color = 25, time = 2}, [4] = {message = '[GM]', color = 25, color = 25,time = 2}, [3] = {message = '[Senior Tutor]', color = 25, time = 2}, [2] = {message = '[Tutor]', color = 25, time = 2} } function onLogin(cid) registerCreatureEvent(cid, "animatedTextStaff") if configEffect[getPlayerGroupId(cid)] then effectGroup(cid) end return true end function effectGroup(cid) if isPlayer(cid) and not isPlayerGhost(cid) then local config = configEffect[getPlayerGroupId(cid)] doSendAnimatedText(getThingPos(cid), config.message, config.color) addEvent(effectGroup, config.time*1000,cid) end end <event type="login" name="animatedTextStaff" event="script" value="animatedTextStaff.lua"/> -
pedido scripts [Resolvido] Efeito Staff (PARA TFS 0.4)
pergunta respondeu ao ITALOx de Yan Liima em Resolvidos
<event type="login" name="animatedTextStaff" event="script" value="animatedTextStaff.lua"/> local configEffect = { [6] = {message = '[GOD]', time = 2}, --[Group ID] {MENSAGEM, tempo em segundos} [5] = {message = '[CM]', time = 2}, [4] = {message = '[GM]', time = 2}, [3] = {message = '[Senior Tutor]', time = 2}, [2] = {message = '[Tutor]', time = 2} } function onLogin(cid) registerCreatureEvent(cid, "animatedTextStaff") if configEffect[getPlayerGroupId(cid)] then effectGroup(cid) end return true end function effectGroup(cid) if isPlayer(cid) then local config = configEffect[getPlayerGroupId(cid)] doSendAnimatedText(getThingPos(cid), config.message, math.random(1,255)) addEvent(effectGroup, config.time*1000,cid) end end Acabei de fazer! -
pedido scripts [Resolvido] Proibido usar item em tal area
pergunta respondeu ao Fawkzz12 de Yan Liima em Resolvidos
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. -
suporte scripts [Resolvido] Script Inicial
pergunta respondeu ao Vini Original de Yan Liima em Resolvidos
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico. @Vini Original Estaremos advertindo(1 ponto) membros que abandonar tópicos em área de suporte caso o problema for resolvido e não tiver o retorno. -
pedido scripts [Resolvido] System de mission ou saga para tibia 8.60
pergunta respondeu ao JoaolucasProjec de Yan Liima em Resolvidos
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico. -
pedido scripts [Resolvido] Proibido usar item em tal area
pergunta respondeu ao Fawkzz12 de Yan Liima em Resolvidos
Tenta ai: -
pedido scripts [Resolvido] Proibido usar item em tal area
pergunta respondeu ao Fawkzz12 de Yan Liima em Resolvidos
Só você ir no actions abrir a script do item no qual quer proibir de usar, e abaixo de if item.itemid == Coloque: local canto1 = {x=91, y=184, z=7} -- Canto superior esquerdo do local local canto2 = {x=101, y=191, z=7} -- Canto inferior direito do local if isInRange(getCreaturePosition(cid), canto1, canto2) then return doPlayerSendTextMessage(cid, 27, "Você não pode usar este item nessa área.") end -
Este tópico foi movido para área correta! Sugiro que leia as regras do fórum.
-
suporte scripts [Resolvido] Script Inicial
pergunta respondeu ao Vini Original de Yan Liima em Resolvidos
35% é uma porcentagem bem alta e não sabe qual o tipo de script? rsrs. Vamos lá... O que você quer é uma script de actions, acabei de fazer de duas formas aqui. Teste os dois e se funcionar me diz xD TAG: <action uniqueid="32145" event="script" value="arquivo.lua"/> LUA: function onUse(cid, item, fromPosition) local config = { str = 5555, msgWelcome = "Bem-Vindo", msgCancel = "Voce ainda nao pegou o seu pokemon inicial!" } local PosDoor = {x=getThingPosition(item.uid).x, y=getThingPosition(item.uid).y, z=getThingPosition(item.uid).z} local PosDoJogador = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} if PosDoJogador.x > PosDoor.x and getPlayerStorageValue(cid, config.str) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msgWelcome) doTeleportThing(cid, {x= PosDoor.x-1, y= PosDoor.y, z= PosDoor.z}) elseif PosDoJogador.x < PosDoor.x and getPlayerStorageValue(cid, config.str) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msgWelcome) doTeleportThing(cid, {x= PosDoor.x+1, y= PosDoor.y, z= PosDoor.z}) elseif PosDoJogador.y > PosDoor.y and getPlayerStorageValue(cid, config.str) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msgWelcome) doTeleportThing(cid, {x= PosDoor.x, y= PosDoor.y-1, z= PosDoor.z}) elseif PosDoJogador.y < PosDoor.y and getPlayerStorageValue(cid, config.str) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msgWelcome) doTeleportThing(cid, {x= PosDoor.x, y= PosDoor.y+1, z= PosDoor.z}) elseif getPlayerStorageValue(cid, config.str) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, config.msgCancel) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return true end LUA simples: function onUse(cid, item, fromPosition) local config = { str = 5555, msgWelcome = "Bem-Vindo", msgCancel = "Voce ainda nao pegou o seu pokemon inicial!" } if getPlayerStorageValue(cid, config.str) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msgWelcome) doTeleportThing(cid, fromPosition, true) doTransformItem(item.uid, item.itemid+1) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, config.msgCancel) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return true end Seguinte, no seu mapa editor você vai por o uniqueID da porta 32145. Localize a script no qual você utiliza dos pokemons iniciais(provavelmente vai estar em movements ou em actions) pega a storage que é adicionado no jogador, e remove o "5555" e substitui pela qual os jogadores recebem ao pegar um pokémon.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.