• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

Action Working Demon Oak Quest

Then why don't you optimize the loop function? Take a look at the code I posted a few posts ago.

Instead of searching through all 253 stackpos' (which is completely unnecessary, by the way), it exits the loop as soon as it finds a monster.

Done, i don't understand why you use
Lua:
v >= 0x40000000 and v < 0x80000000 and isCreature(v)

Instead of "isMonster"
 
Done, i don't understand why you use
Lua:
v >= 0x40000000 and v < 0x80000000 and isCreature(v)

Instead of "isMonster"

He's being Cyko. Perfection or nothing!
I bet if someone requested it...he would recode all of this to his "liking."

Anyway I think it's a good contribution, thanks. :thumbup:
 
I like that know can't let the player hit the next cut if the monster still alive BUT there is a huge problem, now every single cut give a HIGH lag for few secs =( there is a way to fix?

Spanish: Me gusta que ahora el script no deje a los player dar el siguiente corte si aun hay criaturas, pero ahora por cada corte el servidor se pone muy pesado por unos segundos, hay alguna forma de solucionar ese problema?
 
Work on 0.4 DEV. But this yells must have exaused. Maybe you can do,if player have did 5 differents yells then he can pass to Oak :p
 
Work on 0.4 DEV. But this yells must have exaused. Maybe you can do,if player have did 5 differents yells then he can pass to Oak :p

To make it i need to rewrite a part of the code and i think is not necessary...

@the exhaustion

Just add this on 'demonOakSquares.lua'
Lua:
--before 'doCreatureSay(cid, bla bla...'
	local exhaustStorage = 65535
	local exhaustTime = 5 --in seconds
	if exhaustion.get(cid, exhaustStorage) then
		return true
	end
-- after 'doCreatureSay(cid,....)
	exhaustion.make(cid, exhaustStorage, exhaustTime)
 
Done, i don't understand why you use
Lua:
v >= 0x40000000 and v < 0x80000000 and isCreature(v)

Instead of "isMonster"
0.2 doesn't have isMonster, and I made that example for a 0.2 server
 
registerCreatureEvent(cid, "demonOakDeath")
registerCreatureEvent(cid, "demonOakAttack")

what about demonOakLogout? :eek:

Something else,
how to configure
Lua:
oneByQuest = true
killAllBeforeCut = true
level = 120
positions =
{
	kick = {x = 110, y = 75, z = 7},
	summon =
	{
		{x = 104, y = 83, z = 7},
		{x = 101, y = 82, z = 7},
		{x = 105, y = 81, z = 7},
		{x = 102, y = 78, z = 7},
		{x = 103, y = 80, z = 7},
		{x = 102, y = 82, z = 7},
		{x = 103, y = 79, z = 7},
		{x = 100, y = 78, z = 7}
	},
	rewardRoom = {x = 586, y = 630, z = 8},
	demonOak = {x = 105, y = 82, z = 7}
}
 
summons =
{
	[1] = {"Demon", "Grim Reaper", "Elder Beholder", "Demon Skeleton"},
	[2] = {"Dark Torturer", "Banshee", "Betrayed Wraith", "Blightwalker"},
	[3] = {"Bonebeast", "Braindeath", "Diabolic Imp", "Giant Spider"},
	[4] = {"Hand of Cursed Fate", "Lich", "Undead Dragon", "Vampire"},
	[5] = {"Braindeath", "Demon", "Bonebeast", "Diabolic Imp"},
	[6] = {"Demon Skeleton", "Banshee", "Elder Beholder", "Bonebeast"},
	[7] = {"Dark Torturer", "Undead Dragon", "Demon", "Demon"},
	[8] = {"Elder Beholder", "Betrayed Wraith", "Demon Skeleton", "Giant Spider"},
	[9] = {"Demon", "Banshee", "Blightwalker", "Demon Skeleton"},
	[10] = {"Grim Reaper", "Demon", "Diabolic Imp", "Braindeath"},
	[11] = {"Banshee", "Grim Reaper", "Hand of Cursed Fate", "Demon"}
}
 
areaPosition =
{
	{x = 94, y = 75, z = 7, stackpos = 255},
	{x = 112, y = 86, z = 7, stackpos = 255}
}
 
demonOak = {8288, 8289, 8290, 8291}

Can you explain please?
 
Last edited:
what about demonOakLogout? :eek:

Something else,
how to configure
Lua:
oneByQuest = true
killAllBeforeCut = true
level = 120
positions =
{
	kick = {x = 110, y = 75, z = 7},
	summon =
	{
		{x = 104, y = 83, z = 7},
		{x = 101, y = 82, z = 7},
		{x = 105, y = 81, z = 7},
		{x = 102, y = 78, z = 7},
		{x = 103, y = 80, z = 7},
		{x = 102, y = 82, z = 7},
		{x = 103, y = 79, z = 7},
		{x = 100, y = 78, z = 7}
	},
	rewardRoom = {x = 586, y = 630, z = 8},
	demonOak = {x = 105, y = 82, z = 7}
}
 
summons =
{
	[1] = {"Demon", "Grim Reaper", "Elder Beholder", "Demon Skeleton"},
	[2] = {"Dark Torturer", "Banshee", "Betrayed Wraith", "Blightwalker"},
	[3] = {"Bonebeast", "Braindeath", "Diabolic Imp", "Giant Spider"},
	[4] = {"Hand of Cursed Fate", "Lich", "Undead Dragon", "Vampire"},
	[5] = {"Braindeath", "Demon", "Bonebeast", "Diabolic Imp"},
	[6] = {"Demon Skeleton", "Banshee", "Elder Beholder", "Bonebeast"},
	[7] = {"Dark Torturer", "Undead Dragon", "Demon", "Demon"},
	[8] = {"Elder Beholder", "Betrayed Wraith", "Demon Skeleton", "Giant Spider"},
	[9] = {"Demon", "Banshee", "Blightwalker", "Demon Skeleton"},
	[10] = {"Grim Reaper", "Demon", "Diabolic Imp", "Braindeath"},
	[11] = {"Banshee", "Grim Reaper", "Hand of Cursed Fate", "Demon"}
}
 
areaPosition =
{
	{x = 94, y = 75, z = 7, stackpos = 255},
	{x = 112, y = 86, z = 7, stackpos = 255}
}
 
demonOak = {8288, 8289, 8290, 8291}

Can you explain please?

I forgot it, sorry...

oneByQuest -> One player at time making the quest?
killAllBeforeCut -> Kill all monsters before using the hallowed axe?
level -> level needed to make that quest
positions.kick -> position where player will be kicked after completing all cuts
positions.summon -> positions where the monsters will be summoned
positions.rewardRoom -> position where the reward room is
position.demonOak -> Optional, position where the demon oak is (The Bird), used for demon oak yells
summons[1-11] monsters summoned depends of the number of the cut
areaPosition -> Used to check the quest area, first position = north-west of the area, second position = south-east of the area
demonOak -> item IDS of the demon Oak (Bird, left-right arm, face)
 
positions.kick -> position where player will be kicked after completing all cuts

This should be at the south graveyard, right? Done.

@#edit

I can't go to the reward room.. and i finished the quest
TaK3k3GTN8.png
 
Last edited:
positions.kick -> position where player will be kicked after completing all cuts

This should be at the south graveyard, right? Done.

@#edit

I can't go to the reward room.. and i finished the quest
TaK3k3GTN8.png

You need to talk with oldrak first
 
aha, so oldrak has to be at the other end :)

@ 2 posts up

Position.kick can be wherever you want

@Up

After being kicked from the quest area (finishing all cuts), you need to talk with oldrak and say

-You: demon oak
-Oldrak: Did you defeat the demon oak?
-You: yes
-Oldrak: Good job!

And then you can go to the reward room.
 
[19:40:35.373] [Error - Action Interface]
[19:40:35.373] data/actions/scripts/demonOak.lua:eek:nUse
[19:40:35.373] Description:
[19:40:35.373] (luaDoCreateMonster) Cannot create monster: Braindeath
 
[19:40:35.373] [Error - Action Interface]
[19:40:35.373] data/actions/scripts/demonOak.lua:eek:nUse
[19:40:35.373] Description:
[19:40:35.373] (luaDoCreateMonster) Cannot create monster: Braindeath

That means the monster doesn't exists on your server, check the name or check if you have that monster on your server
 
I have that monster lol,
the scripts are kinda bugged.
More people can go into the demon oak while some1 is doing the quest,

I am using rev 3858 0,4
 
Back
Top