Ir para conteúdo

Problema Svargrond


big_headi

Posts Recomendados

Olá!

 

Estou com problema no meu sistema svargrond.

 

Compro a passagem, entro onde fica o teleport. Então entro no teleport do primeiro monstro, quando eu mato ele e tento entrar no próximo teleport diz a seguinte mensagem "First Kill Monster"

 

Alguém pode me ajudar?

 

obrigado desde já!

 

alguem?

Link para o comentário
Compartilhar em outros sites

data\creaturescripts\scripts arena.lua

function onPrepareDeath(cid)

-- INICIO CONFIG --
local a = {
l = {x=944,y=963,z=7}, -- canto superior esquerdo da arena
r = {x=952,y=957,z=7}, -- canto inferior direito da arena
e = {x=948,y=959,z=7} -- saida/local a ser teleportado quando "morre"
}
-- FINAL CONFIG --
local p = getCreaturePosition(cid) -- nao mexa

if isInRange(p, a.l, a.r) then
doSendMagicEffect(p, CONST_ME_STUN)
doTeleportThing(cid, a.e)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid))
return FALSE
end
return true
end

 

 

data\creaturescripts\scripts arenakill.lua

local t = {

newPos = {x=33062, y=31029, z=7},

msg = "You have won! As new champion take the ancient armor as reward before you leave.",

area = {

fromX = 33054, toX = 33073,

fromY = 31026, toY = 32356,

z = 3
}
}
local 
spheres = {

['energy overlord'] = 8568,

['fire overlord'] = 8569,

['ice overlord'] = 8570,

['earth overlord'] = 8578
}



function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers, showSummons)

local creaturesList = {}

for x = -radiusx, radiusx do

for y = -radiusy, radiusy do

if not (x == 0 and y == 0) then

creature = getTopCreature({x = position.x+x, y = position.y+y, 
z = position.z, stackpos = 253})

if (creature.type == 1 and showPlayers == TRUE) or (creature.type == 2 and showMonsters == TRUE and (showSummons == FALSE or (showSummons == TRUE and getCreatureMaster(creature.uid) == (creature.uid)))) then

table.insert(creaturesList, creature.uid)

end

end

end

end


local creature = getTopCreature(position)

if(creature.type == 1 and showPlayers == TRUE) or (creature.type == 2 and showMonsters == TRUE and (showSummons == FALSE or (showSummons == TRUE and getCreatureMaster(creature.uid) == (creature.uid)))) then

if not(table.find(creaturesList, creature.uid)) then

table.insert(creaturesList, creature.uid)

end

end

return creaturesList
end
function onKill(cid, target, damage, flags)

if isPlayer(target) or not isInArray({1, 3}, flags) or getCreatureMaster(target) then

return true

end


local name = getCreatureName(target):lower()

if name == 'tirecz' then

local players = getCreaturesInRange({x=33063, y=31035,z=3}, 10, 9, FALSE, TRUE)

for i = 1, #players do

doTeleportThing(players[i], t.newPos)

doCreatureSay(players[i], t.msg, TALKTYPE_ORANGE_1, false, players[i], getCreaturePosition(players[i]))

end

return true

end


if spheres[name] then

setGlobalStorageValue(spheres[name], -1)

return true

end


local now = tasks[name]
if (now) then

if isInArray({-1, now.amount}, getPlayerStorageValue(cid, now.storage)) or (not isInArray({14003, 14004, 14005}, now.storage) and getPlayerStorageValue(cid, 14500) ~= now.storage) then

return true

end


local newValue = getPlayerStorageValue(cid, now.storage) + 1

setPlayerStorageValue(cid, now.storage, newValue)

end


local room = getArenaMonsterIdByName(getCreatureName(target))
if room > 0 then

setPlayerStorageValue(cid, room, 1)

doPlayerSendTextMessage(cid,MESSAGE_EVENT_DEFAULT,'You can enter next room!')

end

return true

end

 

data\movements\scripts arenagoblet.lua

function onStepIn(cid, item, position, fromPosition) 
local gobletPos = getThingPos(item.uid)
if item.actionid == 42360 then 
	if getPlayerStorageValue(cid, 42360) ~= 1 then 
		setPlayerStorageValue(cid, 42360, 1) 
		local goblet = doCreateItemEx(5807, 1) 
		doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena greenhorn difficulty.\nAwarded to " .. getCreatureName(cid) .. ".") 
		doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet) 
	end 
elseif item.actionid == 42370 then 
	if getPlayerStorageValue(cid, 42370) ~= 1 then 
		setPlayerStorageValue(cid, 42370, 1) 
		local goblet = doCreateItemEx(5806, 1) 
		doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena scrapper difficulty.\nAwarded to " .. getCreatureName(cid) .. ".") 
		doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet) 
	end 
elseif item.actionid == 42380 then 
	if getPlayerStorageValue(cid, 42380) ~= 1 then 
		setPlayerStorageValue(cid, 42380, 1) 
		local goblet = doCreateItemEx(5805, 1) 
		doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena warlord difficulty.\nAwarded to " .. getCreatureName(cid) .. ".") 
		doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet) 
	end 
end 
doTransformItem(item.uid, item.itemid - 1) 
return TRUE 
end 

function onStepOut(cid, item, pos) 
doTransformItem(item.uid, item.itemid + 1) 
return TRUE 
end

 

arenaroom.lua

function onStepIn(cid, item, position, fromPosition)
if InitArenaScript == 0 then
	InitArenaScript = 1
	-- make arena rooms free
	for i = 0,9 do
		setGlobalStorageValue(42300+i, 0)
		setGlobalStorageValue(42400+i, 0)
	end
	checkArenaRooms({})
end
local arena_room = item.actionid
local player_arena = getPlayerStorageValue(cid, 42355)
if getPlayerStorageValue(cid, arena_room+getPlayerStorageValue(cid, 42355)*10-1) == 1 or arena_room+getPlayerStorageValue(cid, 42355)*10-1 == 42299 then
	if getGlobalStorageValue(cid, arena_room) == 0 then
		local monster_uid = type(getStorage(arena_room+100)) == 'string' and 0 or getStorage(arena_room+100)

		if monster_uid > 0 then
			if isCreature(monster_uid) == TRUE then
				doRemoveCreature(monster_uid)
			end
		end
		local spawn_pos = getThingPos(arena_room)
		local monster = doCreateMonster(arena_monsters[arena_room+getPlayerStorageValue(cid, 42355)*10], {x=spawn_pos.x-1,y=spawn_pos.y-1,z=spawn_pos.z})
		setGlobalStorageValue(arena_room+100, monster)
		doTeleportThing(cid, spawn_pos, TRUE)
		setGlobalStorageValue(arena_room, cid)
		setGlobalStorageValue(arena_room-1, 0)
		setPlayerStorageValue(cid, 42350, os.time()+arena_room_max_time)
	else
		doTeleportThing(cid, fromPosition, TRUE)
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(getGlobalStorageValue(cid, arena_room))..' is now in next room. Wait a moment and try again.')
	end
else
	doTeleportThing(cid, fromPosition, TRUE)
	doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'First kill monster!')
end
if arena_room == 42300 then
	setPlayerStorageValue(cid, 42351, 0)
	setPlayerStorageValue(cid, 42352, 1)
end
return TRUE
end

function checkArenaRooms(param)
addEvent(checkArenaRooms, 1000, {})
for i = 42300, 42309 do
	local player = getGlobalStorageValue(i)
	if isPlayer(player) == TRUE then
		local player_storage = getPlayerStorageValue(player, 42350)
		if player_storage <= os.time() then
			doTeleportThing(player, arenaKickPosition, TRUE)
			setPlayerStorageValue(player, 42350, 0)
			setGlobalStorageValue(i, 0)
			doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'You have been kicked from arena! You have only ' .. arena_room_max_time .. ' seconds for one room.')
		elseif player_storage - 10 <= os.time() then
			doPlayerSendTextMessage(player,MESSAGE_EVENT_DEFAULT,'You have ' .. player_storage - os.time() .. ' seconds to go to the next room!')
		end
	else
		setGlobalStorageValue(i, 0)
	end
end
end

 

alguem?

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...