Ir para conteúdo
  • 0

Script Portal de monstros


LordTibia123

Pergunta

Eu criei um script em que você usa uma chave num portal e então sai um monstro aleatório... Só que não funcionou, alguém poderia concertar este erro para mim?

 

local monstro = {
{"Ogre", 1},
{"demon", 1},
}
local chance = 20 --1% chance
function onUse(cid, item, fromPosition, itemEx, toPosition)
local function back(item, pos)
doCreateItem(item.itemid, 1, pos)
end
if itemEx.itemid == 12593 then << id do portao
  local item = getTileItemById(toPosition, 12593) << id do portao
  addEvent(back, choose(5, 10, 15) * 60 * 1000, itemEx, toPosition)
  doSendMagicEffect(toPosition, 1)
if math.random(1000) <= chance*20 then
  local this = monstro[math.random(#monstro)]
	   local pokes = doCreateMonster("Ogre",toPosition)
	   if isCreature(monstro) then
			  local summon = getCreatureSummons(cid)[1]
			  if isCreature(summon) then
					 doSendMagicEffect(getThingPos(summon), 173)
					 doChallengeCreature(summon, monstro)
			  else
					 doSendMagicEffect(getThingPos(cid), 173)
					 doChallengeCreature(cid, monstro)
end
return true
end
end
end

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Primeiro de tudo, o script inteiro não funcionou, acho que deu um erro no Distro e você não viu, pois os comentários estavam com o símbolo ">>, <<", em vez de " -- ou --[[]]--"

 

E ainda faltava um end ^^

 

Experimente agora:

 

 

local monstro = {

{"Ogre", 1},

{"demon", 1},

}

local chance = 20 --1% chance

function onUse(cid, item, fromPosition, itemEx, toPosition)

local function back(item, pos)

doCreateItem(item.itemid, 1, pos)

end

if itemEx.itemid == 12593 then -- id do portao

local item = getTileItemById(toPosition, 12593) -- id do portao

addEvent(back, choose(5, 10, 15) * 60 * 1000, itemEx, toPosition)

doSendMagicEffect(toPosition, 1)

if math.random(1000) <= chance*20 then

local this = monstro[math.random(#monstro)]

local pokes = doCreateMonster("Ogre",toPosition)

if isCreature(monstro) then

local summon = getCreatureSummons(cid)[1]

if isCreature(summon) then

doSendMagicEffect(getThingPos(summon), 173)

doChallengeCreature(summon, monstro)

else

doSendMagicEffect(getThingPos(cid), 173)

doChallengeCreature(cid, monstro)

end

return true

end

end

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

caralho vei, que script horroroso =s, enfim, ta ai:

local monstro = {
"Ogre",
"demon",
}
local chance = 20 --2% chance

function onUse(cid, item, fromPosition, itemEx, toPosition)
local function back(item, pos)
	doCreateItem(item.itemid, 1, pos)
end
if itemEx.itemid == 12593 then -- id do portao
	local item = getTileItemById(toPosition, 12593) -- id do portao
	addEvent(back, choose(5, 10, 15) * 60 * 1000, itemEx, toPosition)
	doSendMagicEffect(toPosition, 1)
	if math.random(1000) <= chance then
		local this = monstro[math.random(#monstro)]
		local pokes = doCreateMonster(this,toPosition)
		if isCreature(pokes) then
			local summon = getCreatureSummons(cid)[1]
			if isCreature(summon) then
				doSendMagicEffect(getThingPos(summon), 173)
				doChallengeCreature(summon, pokes)
			else
				doSendMagicEffect(getThingPos(cid), 173)
				doChallengeCreature(cid, pokes)
			end
		end
	end
end

return true
end

Editado por dalvorsn
Link para o comentário
Compartilhar em outros sites

  • 0

[24/02/2013 11:33:25] [Error - LuaScriptInterface::loadFile] data/actions/scripts/portal/portal.lua:11: unexpected symbol near '<'

[24/02/2013 11:33:25] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/portal/portal.lua)

[24/02/2013 11:33:25] data/actions/scripts/portal/portal.lua:11: unexpected symbol near '<'

Link para o comentário
Compartilhar em outros sites

  • 0

Substitua por:

 

local monstro = {

"Ogre",

"demon",

}

local chance = 20 --2% chance

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local function back(item, pos)

doCreateItem(item.itemid, 1, pos)

end

if itemEx.itemid == 12593 then -- id do portao

local item = getTileItemById(toPosition, 12593) -- id do portao

addEvent(back, choose(5, 10, 15) * 60 * 1000, itemEx, toPosition)

doSendMagicEffect(toPosition, 1)

if math.random(1000) <= chance then

local this = monstro[math.random(#monstro)]

local pokes = doCreateMonster(this,toPosition)

if isCreature(pokes) then

local summon = getCreatureSummons(cid)[1]

if isCreature(summon) then

doSendMagicEffect(getThingPos(summon), 173)

doChallengeCreature(summon, pokes)

else

doSendMagicEffect(getThingPos(cid), 173)

doChallengeCreature(cid, pokes)

end

end

end

end

 

return true

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Eu uso a chave e o sai o efeito do portão, não ta removendo a chave e também não aparece nenhum monstro, tem a ver com a rate? é que eu usei várias vezes a chave e não spawno nada

 

@edit é as chances que são bem baixas ms... agora acabo de spawna um. Só que não remove a chave, tem como colocar pra remover?

Link para o comentário
Compartilhar em outros sites

  • 0

A chance ta muito baixa pow, 2%, eu refiz o script , esse negócio tava muito feio

local monsters = {
"Ogre",
"demon",
}
local id_portal = 12593
local chance = 500 -- 50%

function onUse(cid, item, fromPosition, itemEx, toPosition)

if itemEx.itemid ==  id_portal then
	if math.random(1000) <= chance then
		local monster = doCreateMonster(monsters[math.random(#monster)],toPosition)
		doSendMagicEffect(toPosition, 1)
		doRemoveItem(item.uid)
		if isCreature(monster)  then
			local summon = getCreatureSummons(cid)[1]
			doSendMagicEffect(summon and getCreaturePosition(summon) or fromPosition, 173)
			doChallengeCreature(summon and summon or cid, monster)
		end
	end
end

return true
end

Editado por dalvorsn
Link para o comentário
Compartilhar em outros sites

  • 0

Que tal assim:

 

 

 

local monsters = {

"Ogre",

"demon",

}

local id_portal = 12593

local chance = 500 -- 50%

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

if itemEx.itemid == id_portal then

if math.random(1000) <= chance then

local monster = doCreateMonster(monsters[math.random(#monster)],toPosition)

doSendMagicEffect(toPosition, 1)

doRemoveItem(item.uid,1)

if isCreature(monster) then

local summon = getCreatureSummons(cid)[1]

doSendMagicEffect(summon and getCreaturePosition(summon) or fromPosition, 173)

doChallengeCreature(summon and summon or cid, monster)

end

end

end

 

return true

end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Funfou! só tem um problema, tpw o player ta com 100 key's juntas e quando da use no portal todas somem '-' e só some quando vem monstro

 

local monsters = {
   "Ogre",
   "demon",
}
local id_portal = 12593
local chance = 500 -- 50%

function onUse(cid, item, fromPosition, itemEx, toPosition)

   if itemEx.itemid ==  id_portal then
       doRemoveItem(item.uid, 1)
       if math.random(1000) <= chance then
           local monster = doCreateMonster(monsters[math.random(#monster)],toPosition)
           doSendMagicEffect(toPosition, 1)
           if isCreature(monster)  then
               local summon = getCreatureSummons(cid)[1]
               doSendMagicEffect(summon and getCreaturePosition(summon) or fromPosition, 173)
               doChallengeCreature(summon and summon or cid, monster)
           end
       end
   end

   return true
end

 

Ajustado.

Link para o comentário
Compartilhar em outros sites

  • 0

Funfou! só tem um problema, tpw o player ta com 100 key's juntas e quando da use no portal todas somem '-' e só some quando vem monstro

 

local monsters = {
"Ogre",
"demon",
}
local id_portal = 12593
local chance = 500 -- 50%

function onUse(cid, item, fromPosition, itemEx, toPosition)

if itemEx.itemid ==  id_portal then
	doRemoveItem(item.uid, 1)
	if math.random(1000) <= chance then
		local monster = doCreateMonster(monsters[math.random(#monster)],toPosition)
		doSendMagicEffect(toPosition, 1)
		if isCreature(monster)  then
			local summon = getCreatureSummons(cid)[1]
			doSendMagicEffect(summon and getCreaturePosition(summon) or fromPosition, 173)
			doChallengeCreature(summon and summon or cid, monster)
		end
	end
end

return true
end

 

Ajustado.

 

Vlw agora funfo +REP duvida sanada

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...