Jump to content

Scripting Ativar script depois de 5 segundos


Go to solution Solved by Vodkart,

Recommended Posts

Pessoal, tenho uma script que o player ganha x item e volta para o cp quando não tem ninguem em x  area, mas eu gostaria de fazer com que essa script fosse ativada depois de 5 segundos após o player pisar nesse tile.

Exemplo: Player pisa no tile, da 5 segundos e o script é ativado

Se não tiver ninguem nessa area, o script passa 5 segundos e funciona normal, caso tenha player nessa area, o script não funciona!

A script ja esta ok, só falta adicionar 5 segundos

 

function onStepIn(cid, item, position, fromPosition)
local pos = {x = 1037, y = 1034, z = 7}
local battlewin = 1
if #getCreatureSummons(cid) >= 1 then
else
if #getPlayersInArea(battleroyale.area) > 1 then return true end
doTeleportThing(cid, pos)
local item = doPlayerAddItem(cid, 5805, 1)
doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.")
doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale")
doPlayerAddItem(cid,12618,1)
doPlayerAddItem(cid,2152,30)
addTopbattle(cid, battlewin)
return true
end
end

 

Link to post
Share on other sites

Tenta ai:

local pos = {x = 1037, y = 1034, z = 7}
local time = 5 -- segundos

local function teleportPlayer(cid, seconds)
 if isPlayer(cid) and not isPlayerGhost(cid) then
	addEvent(function()
		if(isCreature(cid)) then
			doTeleportThing(cid, pos)
		end
	end, 1000 * seconds)
	if seconds > 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você será teleportado em "..seconds.." segundo(s).")
	addEvent(teleportPlayer, 1000, cid, seconds-1)
  end
 end
end

function onStepIn(cid, item, position, fromPosition)
local battlewin = 1
if #getCreatureSummons(cid) >= 1 then
else
if #getPlayersInArea(battleroyale.area) > 1 then return true end
teleportPlayer(cid, time)
local item = doPlayerAddItem(cid, 5805, 1)
doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.")
doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale")
doPlayerAddItem(cid,12618,1)
doPlayerAddItem(cid,2152,30)
addTopbattle(cid, battlewin)
return true
end
end

 

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Link to post
Share on other sites

Posted (edited)
14 minutos atrás, Yan Liima disse:

Tenta ai:



local pos = {x = 1037, y = 1034, z = 7}
local time = 5 -- segundos

local function teleportPlayer(cid, seconds)
 if isPlayer(cid) and not isPlayerGhost(cid) then
	addEvent(function()
		if(isCreature(cid)) then
			doTeleportThing(cid, pos)
		end
	end, 1000 * seconds)
	if seconds > 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você será teleportado em "..seconds.." segundo(s).")
	addEvent(teleportPlayer, 1000, cid, seconds-1)
  end
 end
end

function onStepIn(cid, item, position, fromPosition)
local battlewin = 1
if #getCreatureSummons(cid) >= 1 then
else
if #getPlayersInArea(battleroyale.area) > 1 then return true end
teleportPlayer(cid, time)
local item = doPlayerAddItem(cid, 5805, 1)
doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.")
doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale")
doPlayerAddItem(cid,12618,1)
doPlayerAddItem(cid,2152,30)
addTopbattle(cid, battlewin)
return true
end
end

 

Passo no piso, ele aparece a mensagem que eu ganhei o evento mas não passa os 5 segundos...

Como se não tivesse a função de tempo, no caso não queria uma script que teleporta-se... queria uma script que ativaria a script somente depois de 5 segundos após ele ter pisado no tile...

Edited by GniusPlay (see edit history)
Link to post
Share on other sites

  • Solution
Posted (edited)
tile_storage = 876448
function doTeleportWithDelay(cid, pos, delay) -- by vodkart
	if not isCreature(cid) then return LUA_ERROR end
	if delay > 0 then
		if #getPlayersInArea(battleroyale.area) > 1 then
			setPlayerStorageValue(cid, tile_storage, -1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true
		end
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} "..delay.." segundos para se teletransportar.")
		addEvent(doTeleportWithDelay, 1000, cid, pos, delay-1)
	else
		doTeleportThing(cid, pos)
		doSendMagicEffect(getPlayerPosition(cid), 10)
		local battlewin = 1
		local item = doPlayerAddItem(cid, 5805, 1)
		doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.")
		doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale")
		doPlayerAddItem(cid,12618,1)
		doPlayerAddItem(cid,2152,30)
		addTopbattle(cid, battlewin)
		setPlayerStorageValue(cid, tile_storage, -1)
	end
end
function onStepIn(cid, item, position, fromPosition)
	local pos = {x = 1037, y = 1034, z = 7}
	local time = 5 -- segundos
	if #getPlayersInArea(battleroyale.area) > 1 then 
		return true 
	end
	if getPlayerStorageValue(cid, tile_storage) <= 0 then
		doTeleportWithDelay(cid, pos, time)
		setPlayerStorageValue(cid, tile_storage, 1)
	end
	return true
end

 

Edited by Vodkart (see edit history)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

Posted (edited)
23 minutos atrás, Vodkart disse:


tile_storage = 876448
function doTeleportWithDelay(cid, pos, delay) -- by vodkart
	if not isCreature(cid) then return LUA_ERROR end
	if delay > 0 then
		if #getPlayersInArea(battleroyale.area) > 1 then
			setPlayerStorageValue(cid, tile_storage, -1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true
		end
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} "..delay.." segundos para se teletransportar.")
		addEvent(doTeleportWithDelay, 1000, cid, pos, delay-1)
	else
		doTeleportThing(cid, pos)
		doSendMagicEffect(getPlayerPosition(cid), 10)
		local battlewin = 1
		local item = doPlayerAddItem(cid, 5805, 1)
		doItemSetAttribute(item, "description", getCreatureName(cid).." conquistou este trofeu apos vencer uma partida no Battle Royale.")
		doBroadcastMessage(""..getCreatureName(cid).." Venceu o evento Battle Royale")
		doPlayerAddItem(cid,12618,1)
		doPlayerAddItem(cid,2152,30)
		addTopbattle(cid, battlewin)
		setPlayerStorageValue(cid, tile_storage, -1)
	end
end
function onStepIn(cid, item, position, fromPosition)
	local pos = {x = 1037, y = 1034, z = 7}
	local time = 5 -- segundos
	if #getPlayersInArea(battleroyale.area) > 1 then 
		return true 
	end
	if getPlayerStorageValue(cid, tile_storage) <= 0 then
		doTeleportWithDelay(cid, pos, time)
		setPlayerStorageValue(cid, tile_storage, 1)
	end
	return true
end

 

Quase perfeito mano, só faltou um detalhe, se por exemplo um player chegasse nessa area, queria q o tempo de 5 segundos fosse cancelado.

Exemplo: Não tem ninguem na area, o teleport vai acontecer em 5 segundos, até ai ok, porém se aparecesse alguém nessa area durante esses 5 segundos, o teleprot seria cancelado

Edited by GniusPlay (see edit history)
Link to post
Share on other sites

12 minutos atrás, GniusPlay disse:

Quase perfeito mano, só faltou um detalhe, se por exemplo um player chegasse nessa area, queria q o tempo de 5 segundos fosse cancelado.

Exemplo: Não tem ninguem na area, o teleport vai acontecer em 5 segundos, até ai ok, porém se aparecesse alguém nessa area durante esses 5 segundos, o teleprot seria cancelado

e o código ja faz isso, não é essa parte:

 

		if #getPlayersInArea(battleroyale.area) > 1 then
			setPlayerStorageValue(cid, tile_storage, -1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true
		end

 

ou a area vc diz perto do player?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

2 minutos atrás, Vodkart disse:

e o código ja faz isso, não é essa parte:

 


		if #getPlayersInArea(battleroyale.area) > 1 then
			setPlayerStorageValue(cid, tile_storage, -1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true
		end

 

ou a area vc diz perto do player?

A area total...
Por exemplo: Não tem ninguem na xyz area, então aparece a mensagem e contagem de 5 segundos, porém nesses 5 segundos, aparece alguém, então esse tempo é parado até q esse player saia novamente para começar a contagem novamente.

Link to post
Share on other sites

1 minuto atrás, GniusPlay disse:

A area total...
Por exemplo: Não tem ninguem na xyz area, então aparece a mensagem e contagem de 5 segundos, porém nesses 5 segundos, aparece alguém, então esse tempo é parado até q esse player saia novamente para começar a contagem novamente.

é que no código já para a contagem quando alguém chega na área... não parou ai?

 

		if #getPlayersInArea(battleroyale.area) > 1 then
			setPlayerStorageValue(cid, tile_storage, -1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true
		end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

8 minutos atrás, Vodkart disse:

é que no código já para a contagem quando alguém chega na área... não parou ai?

 


		if #getPlayersInArea(battleroyale.area) > 1 then
			setPlayerStorageValue(cid, tile_storage, -1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Battle Royale Teleport} O teletransporte foi desativado ainda existem pessoas na area.") return true
		end

 

Ah sim, funcionou perfeitamente, foi um erro meu haha

Valeu mano, obrigado de verdade...

Se tiver como responder meus outros tópicos, valeuuu

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 jenison06
      .Qual servidor ou website você utiliza como base? 
      pokestorm
      Qual o motivo deste tópico? 
      Ajuda com Adaptação
       
      Salve Galera queria saber se é possivel fazer com que o npc troca o item pelo pokemon como abaixo e apenas aceitar a troca se setar o Nick no pokemon
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      Abaixo Npc que troca Item por poke
      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) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local questSt = 6650 local checkQuest = getPlayerStorageValue(cid,questSt) local playerPos = getCreaturePosition(cid) local playerLevel = getPlayerLevel(cid) local questLevel = 100 local tab = { [1] = {fName = "Dome Fossil", fId = 8776, pName = "Kabuto"}, [2] = {fName = "Helix Fossil", fId = 8777, pName = "Omanyte"}, [3] = {fName = "Ancient Fossil", fId = 8775, pName = "Aerodactyl"}, } if(msgcontains(msg, 'Harry')) then if checkQuest < 1 then -- Quer saber mais selfSay('Sorry, but I have nothing to talk to you.', cid) elseif checkQuest >= 1 and checkQuest <= 3 then -- Quer saber mais mas já fez a Parte 1. selfSay('Oh! How is my husband? Is he fine? There are two years since I last seen him! By the way, are you here to give me {something}?', cid) talkState[talkUser] = 1 else -- Quer saber mais mas já fez a Parte Final. selfSay('How are you doing with your ancient pokémon?', cid) end elseif(msgcontains(msg, 'Something') and talkState[talkUser] == 1) then -- Tem algo pra dar talkState[talkUser] = 2 selfSay('Yes, as I expected. Let me check one thing.', cid) selfSay('As I see, Harry has given you the '..tab[checkQuest].fName..'. After many years of study and dedication, I discovered a method to bring fossils back to life. Do you want me to transform your '..tab[checkQuest].fName..' into '..tab[checkQuest].pName..'? Just say {yes} or {no}.', cid) elseif talkState[talkUser] == 2 then if msgcontains(msg, 'Yes') then -- Quer transformar o fossil if getPlayerItemCount(cid, tab[checkQuest].fId) >= 1 then selfSay('Fine then! There it is, your '..tab[checkQuest].fName..' has been transformed into '..tab[checkQuest].pName..'! Congratulations!', cid) if #getPlayerPokeballs(cid) >= 6 then local newpokeball = doCreatePokeball(tab[checkQuest].pName, 2469) doPlayerSendMailByName(getCreatureName(cid), newpokeball) doPlayerSendTextMessage(cid, 27, "You are holding six pokémons, your ("..tab[checkQuest].pName..") will be teleported to the Pokemon Center!") else local newpokeball = doCreatePokeball(tab[checkQuest].pName, 2470) doPlayerAddItemEx(cid, newpokeball) end doPlayerRemoveItem(cid, tab[checkQuest].fId, 1) doSendMagicEffect(playerPos, 162) doSendMagicEffect(playerPos, 28) addEvent(doSendMagicEffect, 600, playerPos, 29) addEvent(doSendMagicEffect, 1200, playerPos, 28) setPlayerStorageValue(cid, questSt, 4) else selfSay("Sorry, but you have no "..tab[checkQuest].fName.." with you.",cid) end talkState[talkUser] = 0 elseif msgcontains(msg, 'No') then -- Nao quer transformar o fossil selfSay('Right then. Then come back when you want it!', cid) talkState[talkUser] = 1 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())    
      Npc Nick que uso na Base
      local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local talkState = {} function creatureSayCallback(cid, _type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid NickQuestStorage = 8850 NickQuestBookId = 1955 NickQuestGameBoyId = 2630 local questStatus = getPlayerStorageValue(cid, NickQuestStorage) local playerLevel = getPlayerLevel(cid) if msgcontains(msg, "nicknames") then if isPremium(cid) then if playerLevel >=50 then if questStatus == -1 then selfSay("Before I give nicknames to your pokemons, can you do some favours to me?", cid) selfSay("I need a book that I lent to Albert, because it contains so much information that I use in my job. Last time I visited Albert he was living in a little house, in the east of Viridian.", cid) setPlayerStorageValue(cid, NickQuestStorage, 0) elseif questStatus == 0 then selfSay("I need a book that I lent to Albert, because it contains so much information that I use in my job. Last time I visited Albert he was living in a little house, in the east of Viridian.", cid) elseif questStatus == 1 then if doPlayerRemoveItem(cid, NickQuestBookId, 1) then setPlayerStorageValue(cid, NickQuestStorage, 2) selfSay("Thank you! I was really missing this book. Now just one more favour, can you get my Game Boy, which is with Ralf? I left with him to fix it, his workshop is in Celadon.", cid) else selfSay("I need a book that I lent to Albert, because it contains so much information that I use in my job. Last time I visited Albert he was living in a little house, in the east of Viridian.", cid) end elseif questStatus == 2 then selfSay("Can you get my Game Boy, which is with Ralf? I left with him to fix it, his workshop is in Celadon.", cid) elseif questStatus == 3 then if doPlayerRemoveItem(cid, NickQuestGameBoyId, 1) then setPlayerStorageValue(cid, NickQuestStorage, 4) selfSay("Thank you VERY MUCH! Now my son won't cry no more and I can do my job tranquil. Do you want me to give {nicknames} to your pokemons?", cid) else selfSay("Can you get my Game Boy, which is with Ralf? I left with him to fix it, his workshop is in Celadon.", cid) end elseif questStatus >= 4 then selfSay("Oh, ok. Would you like to {give} or {remove} a nickname?", cid) talkState[talkUser] = 1 end else selfSay("Sorry, come back when you are level 50 or higher.", cid) end else selfSay("Hey, I'm so sorry, but you must be premium account to give nicknames to your pokemons", cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, "give") then selfSay("Oh, ok. Which nickname would you like to give to the pokemon in the slot?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "remove") then selfSay("Oh, ok. You want to remove the nickname to the pokemon in the slot for 5K?", cid) talkState[talkUser] = 3 end elseif talkState[talkUser] == 2 then local msg = msg:trim() if msg:len() < 4 then selfSay("This nickname is too short.", cid) elseif msg:len() > 15 then selfSay("This nickname is too long.", cid) elseif not isValidName(msg) then selfSay("This name contains invalid symbols.", cid) elseif getMonsterPokedex(msg, false) then selfSay("You can't use other's pokemon name.", cid) else selfSay("Would you like to give the nickname \""..msg.."\" to the pokemon in the slot for 10K?", cid) talkState[talkUser] = msg end elseif talkState[talkUser] == 3 then if msgcontains(msg, "yes") then local pokeball = getPlayerSlotItem(cid, CONST_SLOT_FEET) if isPokeballOut(pokeball.itemid) then selfSay("Call your pokemon back before changing his nickname.", cid) elseif isPokeballIn(pokeball.itemid) then if doPlayerRemoveMoney(cid, 500000) then local pokeballInfo = getPokeballInfo(pokeball.uid) setPokeballDescription(pokeball.uid, pokeballInfo.name, false, pokeballInfo.health, pokeballInfo.healthmax) selfSay("Now your pokemon not have a nickname!", cid) else selfSay("Sorry, you don't have 5K.", cid) end else selfSay("There's no pokeball in the slot!", cid) end else selfSay("Ok then.", cid) end talkState[talkUser] = 0 elseif type(talkState[talkUser]) == "string" then if msgcontains(msg, "yes") then local pokeball = getPlayerSlotItem(cid, CONST_SLOT_FEET) if isPokeballOut(pokeball.itemid) then selfSay("Call your pokemon back before changing his nickname.", cid) elseif isPokeballIn(pokeball.itemid) then if doPlayerRemoveMoney(cid, 1000000) then local pokeballInfo = getPokeballInfo(pokeball.uid) setPokeballDescription(pokeball.uid, pokeballInfo.name, talkState[talkUser], pokeballInfo.health, pokeballInfo.healthmax) selfSay("Now your pokemon have a new nickname! Enjoy it :)", cid) else selfSay("Sorry, you don't have 10K.", cid) end else selfSay("There's no pokeball in the slot!", cid) end elseif msgcontains(msg, "no") then selfSay("Why not? This nickname was so good!", cid) end talkState[talkUser] = 0 else talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    • By MIzakinha
      Olá, senhores!
       
      Estou com um script que quando o player compra a VIP no meu servidor, a conta dele vai ficar com essa VIP durante 30 dias e ele vai ganhar uma storage (que vai servir para varias coisas, mas isso não importa aqui).
       
      Bom, o problema é que quando os 30 dias de VIP acabar, o player continua com a storage.
       
      Preciso de um script que retire essa storage quando os dias de VIP acabar. Alguém pode me ajudar com isso?
       
       
    • By stauro
      .Qual servidor ou website você utiliza como base? 
       
      Qual o motivo deste tópico? 
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      O erro é o seguinte, se usar a energy bomb no chão e o monstro passar por cima, ele não leva dano. Se vc atacar o bicho com a runa, ele levará o dano pelo target, contudo, se continuar passando por cima, não acontece nada. Não sei mais o que fazer, com a firebomb funciona perfeitamente, comparei os scripts e não vejo diferença. Energy Bomb: Não funciona local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1495) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Poison Bomb: Não funciona local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1496) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Fire Bomb: Funciona local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1492) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end  
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By stauro
      .Qual servidor ou website você utiliza como base? 
       
      Qual o motivo deste tópico? 
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      NPC: Pino.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to Darashia on Darama for 40 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 40, destination = {x=33270, y=32441, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'svargrond'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to Svargrond for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=32253, y=31097, z=4} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'femor hills'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Femor Hills for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=32536, y=31837, z=4} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'hills'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Femor Hills for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=32536, y=31837, z=4} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'zao'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Zao for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=33984, y=31539, z=1} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'balneario camboriu'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Balneario Camboriu for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=33984, y=31539, z=1} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) npcHandler:addModule(FocusModule:new())  Pino.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Pino" script="data/npc/scripts/Pino.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="115" body="0" legs="67" feet="114" addons="0"/> <voices> <voice text="Feel the wind in your hair during one of my carpet rides!" interval2="120" margin="1" yell="no"/> </voices> <parameters> <parameter key="message_greet" value="Greetings, traveller |PLAYERNAME|. Where do you want me to fly you?"/> <parameter key="message_farewell" value="Good bye!"/> <parameter key="message_walkaway" value="Good bye!" /> </parameters> </npc>  
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By stauro
      .Qual servidor ou website você utiliza como base? 
       
      Qual o motivo deste tópico? 
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      NPC: Pino.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to Darashia on Darama for 40 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 40, destination = {x=33270, y=32441, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'svargrond'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to Svargrond for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=32253, y=31097, z=4} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'femor hills'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Femor Hills for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=32536, y=31837, z=4} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'hills'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Femor Hills for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=32536, y=31837, z=4} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) local travelNode = keywordHandler:addKeyword({'zao'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you seek a ride to the Zao for 60 gold?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 60, destination = {x=33984, y=31539, z=1} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'You shouldn\'t miss the experience.'}) npcHandler:addModule(FocusModule:new()) Pino.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Pino" script="data/npc/scripts/Pino.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="115" body="0" legs="67" feet="114" addons="0"/> <voices> <voice text="Feel the wind in your hair during one of my carpet rides!" interval2="120" margin="1" yell="no"/> </voices> <parameters> <parameter key="message_greet" value="Greetings, traveller |PLAYERNAME|. Where do you want me to fly you?"/> <parameter key="message_farewell" value="Good bye!"/> <parameter key="message_walkaway" value="Good bye!" /> </parameters> </npc>  
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo