Jump to content

GlobalEvent ALGUÉM SABE ONDE EU CONSIGO DICE AUTOMÁTICo?


Recommended Posts

  • Moderator

Este tópico foi movido para a área correta. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

This topic has been moved to the correct area. This is an automated message!
Please read the forum rules.

 

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

@baiakpro 

Data/Npc/NpcDice.xml

<?xml version="1.0" encoding="UTF-8"?>
<npc name="[EVENT] Dice Event" script="data/npc/scripts/DiceScript.lua" walkinterval="0" floorchange="0">
    <health now="100" max="100"/>
    <look type="289" head="114" body="114" legs="91" feet="91" addons="3"/>
</npc>

Data/Npc/Scripts/DiceScript.lua

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local x = 0 
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

local randomDice = {
    
 [1] = 5792,
 [2] = 5793,
 [3] = 5794,
 [4] = 5795,
 [5] = 5796,
 [6] = 5797

}

----------------Config----------------------|
local player_teleport = {x=160,y=54,z=7} -- Posicao para onde o player vai ser teleportado quando perder

local rewards = { -- Id dos premios caso o player ganhe

2160,

}
--------------------------------------------|



function creatureSayCallback(cid, type, msg)

        npcPos = getNpcPos()
        positionNpc = {

            NORTH = {x=npcPos.x, y=npcPos.y-2, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
            SOUTH = {x=npcPos.x, y=npcPos.y+2, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
            WEST = {x=npcPos.x-2, y=npcPos.y, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
            EAST = {x=npcPos.x+2, y=npcPos.y, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
        
        }

        local npc = getNpcCid()
        local dice_pos = {x=npcPos.x+1,y=npcPos.y,z=npcPos.z, stackpos=1}

        if getTileThingByPos(dice_pos).itemid == 0 then
             doCreateItem(5792, dice_pos)
        end

        if getThingFromPos(positionNpc.NORTH).uid ~= 0 or getThingFromPos(positionNpc.SOUTH).uid ~= 0 or getThingFromPos(positionNpc.WEST).uid ~= 0 or getThingFromPos(positionNpc.EAST).uid ~= 0 then

            if msgcontains(msg, '1') or msgcontains(msg, '2') or msgcontains(msg, '3') or msgcontains(msg, '4') or msgcontains(msg, '5') or msgcontains(msg, '6') then
                    
                local dice_random_number = math.random(1, #randomDice)
                    local dice = randomDice[math.random(1, #randomDice)]
                    
                    if (tonumber(msg) == dice_random_number) then
                        local item_reward = rewards[math.random(1, #rewards)]
                        doSendMagicEffect(dice_pos, CONST_ME_CRAPS)
                        doTransformItem(getThingFromPos(dice_pos).uid, randomDice[dice_random_number])
                        doCreatureSay(npc, getCreatureName(npc).." rolled a "..dice_random_number.. ".", MESSAGE_STATUS_CONSOLE_ORANGE)
                        doCreatureSay(npc, getCreatureName(npc).." voce ganhou "..getItemNameById(item_reward).. ".", MESSAGE_STATUS_CONSOLE_ORANGE)
                        doPlayerAddItem(cid, item_reward, 1)
                        doTeleportThing(cid, player_teleport)
                    else
                        doCreatureSay(npc, getCreatureName(npc).. " rolled a "..dice_random_number.. ".", MESSAGE_STATUS_CONSOLE_ORANGE)
                        doSendMagicEffect(dice_pos, CONST_ME_CRAPS)
                        doTransformItem(getThingFromPos(dice_pos).uid, randomDice[dice_random_number])
                        doCreatureSetSpeakType(cid, MESSAGE_STATUS_CONSOLE_ORANGE)
                        doCreatureSay(cid, "Perdi!!! :@")
                        doTeleportThing(cid, player_teleport)
                    end
            end
        end
        x = 0
 
end

function HavePlayer()

    npcPos = getNpcPos()
    positionNpc = {

        NORTH = {x=npcPos.x, y=npcPos.y-2, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
        SOUTH = {x=npcPos.x, y=npcPos.y+2, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
        WEST = {x=npcPos.x-2, y=npcPos.y, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
        EAST = {x=npcPos.x+2, y=npcPos.y, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE},
    
    }

    local npc = getNpcCid()
    local position = {x=npcPos.x, y=npcPos.y-2, z=npcPos.z, stackpos = STACKPOS_TOP_CREATURE}
    if (x == 0) then
        if getThingFromPos(positionNpc.NORTH).uid ~= 0 then
            npcHandler:say("Escolha um numero de 1 a 6, "..getCreatureName(getThingFromPos(positionNpc.NORTH).uid))
            doCreatureSetLookDirection(npc, NORTH)
            x = 1
        end
        if getThingFromPos(positionNpc.SOUTH).uid ~= 0 then
            npcHandler:say("Escolha um numero de 1 a 6, "..getCreatureName(getThingFromPos(positionNpc.SOUTH).uid))
            doCreatureSetLookDirection(npc, SOUTH)
            x = 1
        end
        if getThingFromPos(positionNpc.WEST).uid ~= 0 then
            npcHandler:say("Escolha um numero de 1 a 6, "..getCreatureName(getThingFromPos(positionNpc.WEST).uid))
            doCreatureSetLookDirection(npc, WEST)
            x = 1
        end
        if getThingFromPos(positionNpc.EAST).uid ~= 0 then
            npcHandler:say("Escolha um numero de 1 a 6, "..getCreatureName(getThingFromPos(positionNpc.EAST).uid))
            doCreatureSetLookDirection(npc, EAST)
            x = 1
        end
    end
    return true
end


function onThink()

   if HavePlayer() then
    return false
   end

npcHandler:onThink() 
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

 

Link to post
Share on other sites

  • Moderator

@victor4312 não é mais fácil criar um portal para abrir em determinado tempo???

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

@victor4312 

Ta ai o globalevent

<globalevent name="NpcDiceEvent" interval="60" event="script" value="eventDice.lua"/>

local horarios = {

["19:47"] = {
				npc_name = "NpcDice", -- Nome do Npc XML
				pos_respawn_npc = {x=160,y=53,z=9}, -- Posicao aonde o Npc vai ser criado quando o evento começar
				pos_create_teleport= {x=157,y=57,z=7,stackpos=2}, -- Posicao do Teleport quando evento começar
				pos_to_teleport = {x=156,y=56,z=9}, -- Para onde o teleport irá levar
				time = 2, -- Duracao do evento em minutos
				msg_start = "O teleport para evento Dice esta aberto!", -- Mensagem quando o evento começar
				msg_finish = "O Evento Dice acabou!", -- Mensagem quando o evento acabar
			},

}

function onThink(interval, lastExecution)
	
	local hours = horarios[os.date("%H:%M")]

	if hours then
		doBroadcastMessage(hours.msg_start)
		if not isCreature(hours.pos_respawn_npc) then
			doCreateNpc(hours.npc_name, hours.pos_respawn_npc)
		end
		doCreateTeleport(1387, hours.pos_to_teleport, hours.pos_create_teleport)
		doSendMagicEffect(hours.pos_create_teleport, 10)
		addEvent(function()
		
			doBroadcastMessage(hours.msg_finish)
			local npc = getTopCreature(hours.pos_respawn_npc).uid
			doRemoveCreature(npc)

			if getTileItemById(hours.pos_create_teleport, 1387).uid >= 1 then
				doSendMagicEffect(hours.pos_create_teleport, 10)
				doRemoveItem(getTileItemById(hours.pos_create_teleport, 1387).uid, 1)
			end
		
		end, 1000 * 60 * hours.time)
	end
	return true
end

 

Link to post
Share on other sites

Vou testar aqui!

>>> Loading globalscripts... [Error - LuaInterface::loadFile] data/globalevents/scripts/eventDice.lua:1: '=' expected near '?'
[Error - Event::checkScript] Cannot load script (data/globalevents/scripts/eventDice.lua)
data/globalevents/scripts/eventDice.lua:1: '=' expected near '?'
 

ta dando esse erro :(

Link to post
Share on other sites

  • Moderator

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!

Spoiler

Here in TibiaKing messages like UP and BUMP are prohibited, use the button raise this topic. This is an automated message!
Please read the forum rules.

 

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Icaro Simoes
      Olá a todos,
      gostaria de saber como que faço um script para a cada lvl que o player upar, ao invés de subir life e mana, o player ganhar ponto de atributo e ele escolher se quer aumentar a life ou se quer aumentar a mana.
      É possível fazer? Seria um script? Globalevent ou creaturescript?
    • By alexpaimel
      Olá pessoal, basicamente é isso..

      Servidor sem nenhum erro, não mostra na distro e do nada deu um erro e agora ele não mais manda nenhuma mensagem automatica contida no global events. Alguém pode me ajudar a solucionar esse erro?

      Principalmente as automaticas, com o god ou com player dando comando para falar no servidor, mostra normalmente. Scripts de quando mata o boss, dropa item e etc funciona normal..
    • By Gandolfo
      Algum script para determinado horário trocar pvp do servidor? tentei fazer esse mais falhou:
       
      Globalevents:
      <globalevent name="Pvp Enforced" time="00:00" script="pvpenforced.lua"/> <globalevent name="Pvp" time="06:00" script="pvp.lua"/> pvp.lua
      function onTime() setWorldType(WORLDTYPE_OPEN) Game.broadcastMessage("O PVP do Servidor foi Mudado para 'PVP'.", MESSAGE_EVENT_ADVANCE) end pvpenforced.lua
      function onTime() setWorldType(WORLDTYPE_HARDCORE) Game.broadcastMessage("O PVP do Servidor foi Mudado para 'PVP-ENFORCED'.", MESSAGE_EVENT_ADVANCE) end  
      uso tfs 1.3 e deu o erro:
      Lua Script Error: [GlobalEvent Interface] data/globalevents/scripts/pvp.lua:2:onTime data/globalevents/scripts/pvp.lua:2: attempt to call global 'setWorldType' <a nil value> stack traceback: [C]: in function 'setWorldType' data/globalevents/scripts/pvp.lua:2 in function <data/globalevets/scripts/pvp.lua:1>  
      Oq eu posso fazer pra resolver? Obrigado
    • By mikkas70
      Olá a todos,
      Gostaria de pedir que ajudassem a criar um script simples com o seguinte comportamento:
      Qualquer player em cima de um tile (posição definida), cura 5% da vida a cada 2 segundos  
      Obrigado
    • By Nolis
      Use esse script para remover criaturas de tempo em tempo em uma determinada área do mapa.
       
      -- -- --
       
      Em data/globalevents/cria um arquivo chamado removemonster.lua
      local config = { fromPos = {x=556,y=451,z=6}, -- posição superior esquerda do mapa, da area em que esta mapeado a area. toPos = {x=566,y=456,z=6}, -- posição inferior direita do mapa, da area em que esta mapeado a area. boss = "Nomedomonstroaqui" -- Aqui você bota o nome do monstro que você quer remover } function onTime() removeMonsterInArea(fromPos, toPos) return true end function removeMonsterInArea() local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then if getCreatureName(tile.uid) == config.boss then doRemoveCreature(tile.uid) end end end end end TAG:
      <globalevent name="removemonster" time="03:00" event="script" value="removemonster.lua"/> time="03:00"   representa 3horas AM
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...