• 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!

Puzzling thing

Mera Mero

Guess Who?
Joined
Dec 27, 2014
Messages
417
Reaction score
86
I need to make a Stone (it can be other thing, but stone is for example) what is required to kill. Every 10% hp (it can be just amount of hp) lose, it will spawn wave of monsters. Every wave will be stronger that previous. After kill the Stone, teleport will appear. i already saw it before on ot
Thanks
Yo @Limos
 
Last edited:
show me your full script please.
Code:
local state = {}
local wave = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

function onThink(cid, interval)
   if not isCreature(cid) then
     return
   end
   if state[cid] == nil then
     state[cid] = 1
   end
   if state[cid] <= #wave then
     if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid) / 10 * state[cid])) then
       for i = 1, #wave[state[cid]] do
    doCreateMonster(wave[state[cid]][i], getCreaturePosition(cid), false, true)
       end
       state[cid] = state[cid] + 1
     end
   end
end
 
Honestly I don't know why the above script doesn't work when I quickly read it over.
But I prefer manipulating tables like this:

Code:
local state = {}
local wave = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

function onThink(cid, interval)
   if not isCreature(cid) then
     return
   end
   if state[cid] == nil then
     state[cid] = 1
   end
   if state[cid] <= #wave then
     if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid) / 10 * state[cid])) then
       for _, tid in ipairs(wave[state[cid]]) do
         doCreateMonster(tid, getCreaturePosition(cid), false, true)
       end
       state[cid] = state[cid] + 1
     end
   end
   return true
end
 
Honestly I don't know why the above script doesn't work when I quickly read it over.
But I prefer manipulating tables like this:

Code:
local state = {}
local wave = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

function onThink(cid, interval)
   if not isCreature(cid) then
     return
   end
   if state[cid] == nil then
     state[cid] = 1
   end
   if state[cid] <= #wave then
     if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid) / 10 * state[cid])) then
       for _, tid in ipairs(wave[state[cid]]) do
         doCreateMonster(tid, getCreaturePosition(cid), false, true)
       end
       state[cid] = state[cid] + 1
     end
   end
   return true
end
umm you can say same thing o_O
Code:
[02/02/2015 17:45:41] [Error - CreatureScript Interface]
[02/02/2015 17:45:41] data/creaturescripts/scripts/MOS.lua:onThink
[02/02/2015 17:45:41] Description:
[02/02/2015 17:45:42] (luaDoCreateMonster) Monster with name '' not found

[02/02/2015 17:45:42] [Error - CreatureScript Interface]
[02/02/2015 17:45:42] data/creaturescripts/scripts/MOS.lua:onThink
[02/02/2015 17:45:42] Description:
[02/02/2015 17:45:42] (luaDoCreateMonster) Monster with name '' not found
 
I wonder if the tabled being named something so generic as "wave" is the issue. but ignoring that lingering fear, Lets just try this.

Code:
local state = {}
local wave = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

function onThink(cid, interval)
   if not isCreature(cid) then
     return
   end
   if state[cid] == nil then
     state[cid] = 1
   end
   if state[cid] <= #wave then
     local currentState = state[cid]
     local currentWave = wave[currentState]
     if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid) / 10 * currentState)) then
       for _, tid in ipairs(currentWave) do
         doCreateMonster(tid, getCreaturePosition(cid), false, true)
       end
       state[cid] = state[cid] + 1
     end
   end
   return true
end
 
I wonder if the tabled being named something so generic as "wave" is the issue. but ignoring that lingering fear, Lets just try this.

Code:
local state = {}
local wave = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

function onThink(cid, interval)
   if not isCreature(cid) then
     return
   end
   if state[cid] == nil then
     state[cid] = 1
   end
   if state[cid] <= #wave then
     local currentState = state[cid]
     local currentWave = wave[currentState]
     if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid) / 10 * currentState)) then
       for _, tid in ipairs(currentWave) do
         doCreateMonster(tid, getCreaturePosition(cid), false, true)
       end
       state[cid] = state[cid] + 1
     end
   end
   return true
end
aff same thing :S:S
Code:
[02/02/2015 18:07:14] [Error - CreatureScript Interface]
[02/02/2015 18:07:14] data/creaturescripts/scripts/MOS.lua:onThink
[02/02/2015 18:07:14] Description:
[02/02/2015 18:07:14] (luaDoCreateMonster) Monster with name '' not found

[02/02/2015 18:07:15] [Error - CreatureScript Interface]
[02/02/2015 18:07:15] data/creaturescripts/scripts/MOS.lua:onThink
[02/02/2015 18:07:15] Description:
[02/02/2015 18:07:15] (luaDoCreateMonster) Monster with name '' not found
 
Well! I'm at work, so i'm being lazy, so i'll just keep editing the script you have.

This will give an error no matter what, just let me know what it says.
Code:
local damagePercent = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"}, -- this happens at 10% health
}

function onThink(cid, interval)
   if isCreature(cid) then
     local current = getPlayerStorageValue(cid, "current")
     if current == -1 then current = 1 end
     if current <= #damagePercent then
       local SummonsList = damagePercent[current]
       if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - ((getCreatureMaxHealth(cid)/10)*current)) then
         error("Current SummonsList: "..table.serialize(SummonsList)..".")
         for _, tid in ipairs(SummonsList) do
           doCreateMonster(tid, getCreaturePosition(cid), false, true)
         end
         doPlayerSetStorageValue(cid, "current", current+1)
       end
     end
   end
   return true
end
 
Well! I'm at work, so i'm being lazy, so i'll just keep editing the script you have.

This will give an error no matter what, just let me know what it says.
Code:
local damagePercent = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"}, -- this happens at 10% health
}

function onThink(cid, interval)
   if isCreature(cid) then
     local current = getPlayerStorageValue(cid, "current")
     if current == -1 then current = 1 end
     if current <= #damagePercent then
       local SummonsList = damagePercent[current]
       if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) - ((getCreatureMaxHealth(cid)/10)*current)) then
         error("Current SummonsList: "..table.serialize(SummonsList)..".")
         for _, tid in ipairs(SummonsList) do
           doCreateMonster(tid, getCreaturePosition(cid), false, true)
         end
         doPlayerSetStorageValue(cid, "current", current+1)
       end
     end
   end
   return true
end
thanks for your helping :) i found this error
Code:
[02/02/2015 19:59:59] [Error - CreatureScript Interface]
[02/02/2015 19:59:59] data/creaturescripts/scripts/MOS.lua:onThink
[02/02/2015 19:59:59] Description:
[02/02/2015 19:59:59] data/creaturescripts/scripts/MOS.lua:20: attempt to call field 'serialize' (a nil value)
[02/02/2015 19:59:59] stack traceback:
[02/02/2015 19:59:59]     data/creaturescripts/scripts/MOS.lua:20: in function <data/creaturescripts/scripts/MOS.lua:13>
 
fixed

Code:
local spawns = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

local spawnid = {};

function onThink(cid, interval)
    if isCreature(cid) then
        if(!spawnid[cid]) spawnid[cid] = 11;
        current = math.floor(getCreatureMaxHealth(cid)/getCreatureHealth(cid));
        if spawnid[cid] != current and current <= #spawns then
            spawnid[cid] = current;
            print(spawnid[cid]);
            for _, tid in ipairs(spawns[cid]) do
                doCreateMonster(tid, getCreaturePosition(cid), false, true)
            end
        end
    elsea
        spawnid[cid] = 0;
    end
    return true
end

You could also make this with percentages.
for _,prc in ipairs({100,90,80...}) do
e=(maxHealth*prc) / 100
if health<=e then
spawn()
end
end
 
Last edited:
fixed

Code:
local spawns = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

local spawnid = {};

function onThink(cid, interval)
    if isCreature(cid) then
        if(!spawnid[cid]) spawnid[cid] = 11;
        current = math.floor(getCreatureMaxHealth(cid)/getCreatureHealth(cid));
        if spawnid[cid] != current and current <= #spawns then
            spawnid[cid] = current;
            print(spawnid[cid]);
            for _, tid in ipairs(spawns[cid]) do
                doCreateMonster(tid, getCreaturePosition(cid), false, true)
            end
        end
    elsea
        spawnid[cid] = 0;
    end
    return true
end

You could also make this with percentages.
for _,prc in ipairs({100,90,80...}) do
e=(maxHealth*prc) / 100
if health<=e then
spawn()
end
end
i don't think so o_O i got like 200 errors of this
Code:
[02/02/2015 22:15:56] [Warning - Monster::Monster] Unknown event name - Mosa
 
@Mera Mero

Are you just pulling our legs? I honestly do not think even Evil Hero's first script had any errors and I am almost positive that all of my scripts would work in a TFS 0.3.6 server.

The "Unknown event name" issue above is because the event named "Mosa" does not exist.

Hints the error "Unknown event name" this means you did not add the creature event "Mosa" to creaturescripts.xml.
 
@Mera
Mero


Are you just pulling our legs? I honestly do not think even Evil Hero's first script had any errors and I am almost positive that all of my scripts would work in a TFS 0.3.6 server.

The "Unknown event name" issue above is because the event named "Mosa" does not exist.

Hints the error "Unknown event name" this means you did not add the creature event "Mosa" to creaturescripts.xml.
If it works then why wouldn't say is this? i wants to create monsters not summon cuz as you know if the boss summoned them they will attack same target as boss attack but if it is create monsters ,monsters gone attack random players not only one ,got it?
EDITED
Btw i just replaced the scripts and i didn't remove any thing from creaturescripts or login
 
If it works then why wouldn't say is this? i wants to create monsters not summon cuz as you know if the boss summoned them they will attack same target as boss attack but if it is create monsters ,monsters gone attack random players not only one ,got it?
EDITED
Btw i just replaced the scripts and i didn't remove any thing from creaturescripts or login
yea you are right :D good idea
 
If it works then why wouldn't say is this? i wants to create monsters not summon cuz as you know if the boss summoned them they will attack same target as boss attack but if it is create monsters ,monsters gone attack random players not only one ,got it?
EDITED
Btw i just replaced the scripts and i didn't remove any thing from creaturescripts or login

Fine, show me the following 3 files:
  1. creaturescript.xml
  2. the monster's xml file that you want to run this script (in the monsters folder)
  3. the .lua file that has the script we helped you make (in the creaturescripts>scripts folder)
Show me all 3 of these, and I can fix your problem with 100% accuracy and it will be impossible for you to have a problem.

**Edit, oh and please include the names of the monster's .xml file, and the name of the creaturescripts .lua file.
 
EDITED
MOS.lua
Code:
local spawns = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

local spawnid = {};

function onThink(cid, interval)
    if isCreature(cid) then
        if(!spawnid[cid]) spawnid[cid] = 11;
        current = math.floor(getCreatureMaxHealth(cid)/getCreatureHealth(cid));
        if spawnid[cid] != current and current <= #spawns then
            spawnid[cid] = current;
            print(spawnid[cid]);
            for _, tid in ipairs(spawns[cid]) do
                doCreateMonster(tid, getCreaturePosition(cid), false, true)
            end
        end
    elsea
        spawnid[cid] = 0;
    end
    return true
end
EDITED
this script is @Santy's one
Creaturescripts.xml
Code:
    <event type="think" name="Mosa" event="script" value="MOS.lua"/>
Login
Code:
registerCreatureEvent(cid, "Mosa")
Monster.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Ghazbaran" nameDescription="Ghazbaran" race="undead" experience="15000" speed="400" manacost="0">
    <health now="60000" max="60000"/>
    <look type="12" head="0" body="123" legs="97" feet="94" corpse="6068"/>
    <targetchange interval="10000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
        <flag summonable="0"/>
        <flag attackable="1"/>
        <flag hostile="1"/>
        <flag illusionable="0"/>
        <flag convinceable="0"/>
        <flag pushable="0"/>
        <flag canpushitems="1"/>
        <flag canpushcreatures="1"/>
        <flag staticattack="98"/>
        <flag targetdistance="1"/>
        <flag runonhealth="3500"/>
    </flags>
    <script>
        <event name="Mosa"/>
    </script>
    <attacks>
        <attack name="melee" interval="2000" min="-500" max="-2191"/>
        <attack name="melee" interval="2000" chance="40" range="7" radius="6" target="0" min="-250" max="-500">
            <attribute key="areaEffect" value="blackspark"/>
        </attack>
        <attack name="melee" interval="3000" chance="34" range="7" radius="1" target="1" min="-120" max="-500">
            <attribute key="shootEffect" value="whirlwindsword"/>
            <attribute key="areaEffect" value="redspark"/>
        </attack>
        <attack name="energy" interval="4000" chance="30" length="8" spread="0" min="-100" max="-800">
            <attribute key="areaEffect" value="mortarea"/>
        </attack>
        <attack name="physical" interval="3000" chance="20" range="14" radius="5" target="0" min="-200" max="-480">
            <attribute key="areaEffect" value="poff"/>
        </attack>
        <attack name="physical" interval="4000" chance="15" range="7" radius="13" target="0" min="-100" max="-650">
            <attribute key="areaEffect" value="yellowspark"/>
        </attack>
        <attack name="physical" interval="4000" chance="18" radius="14" target="0" min="-200" max="-600">
            <attribute key="areaEffect" value="bluebubble"/>
        </attack>
        <attack name="melee" interval="3000" chance="15" range="7" radius="4" target="0" min="-200" max="-750">
            <attribute key="areaEffect" value="energyarea"/>
        </attack>
    </attacks>
    <defenses armor="55" defense="65">
        <defense name="healing" interval="3000" chance="35" min="300" max="800">
            <attribute key="areaEffect" value="blueshimmer"/>
        </defense>
        <defense name="speed" interval="4000" chance="80" speedchange="440" duration="6000">
            <attribute key="areaEffect" value="redshimmer"/>
        </defense>
    </defenses>
    <immunities>
        <immunity physical="0"/>
        <immunity energy="1"/>
        <immunity fire="1"/>
        <immunity poison="1"/>
        <immunity lifedrain="1"/>
        <immunity paralyze="1"/>
        <immunity outfit="1"/>
        <immunity drunk="1"/>
        <immunity invisible="1"/>
    </immunities>
    <summons maxSummons="3">
        <summon name="Deathslicer" interval="4000" chance="20"/>
    </summons>
    <voices interval="5000" chance="30">
        <voice sentence="COME HERE AND DIE!"/>
        <voice sentence="COME AND GIVE ME SOME AMUSEMENT!" yell="1"/>
        <voice sentence="IS THAT THE BEST YOU HAVE TO OFFER, TIBIANS?" yell="1"/>
        <voice sentence="I AM GHAZBARAN OF THE TRIANGLE... AND I AM HERE TO CHALLENGE YOU ALL!" yell="1"/>
        <voice sentence="FLAWLESS VICTORY!"/>
    </voices>
    <loot>
        <item id="2160" countmax="12" chance="100000"/><!-- crystal coin -->
        <item id="2514" chance="18000"/><!-- mastermind shield -->
        <item id="6300" chance="12000"/><!-- death ring -->
        <item id="2003" chance="100000"><!-- grey backpack -->
            <inside>
                <item id="7431" chance="6000"/><!-- demonbone -->
                <item id="2393" chance="60000"/><!-- giant sword -->
                <item id="2195" chance="14033"/><!-- boots of haste -->
            </inside>
        </item>
    </loot>
</monster>
these all things that belongs to this script
 
Last edited:
Creaturescript.lua
Code:
local spawns = {
   {"Troll","Monk"}, -- this happens at 90% health
   {"rat","rift scythe"}, -- this happens at 80% health
   {"rift scythe","rift scythe"}, -- this happens at 70% health
   {"rift scythe","rift scythe"}, -- this happens at 60% health
   {"rift scythe","rift scythe"}, -- this happens at 50% health
   {"rift scythe","rift scythe"}, -- this happens at 40% health
   {"rift scythe","rift scythe"}, -- this happens at 30% health
   {"rift scythe","rift scythe"}, -- this happens at 20% health
   {"rift scythe","rift scythe"} -- this happens at 10% health
}

local spawnid = {};

function onThink(cid, interval)
    if isCreature(cid) then
        if(!spawnid[cid]) spawnid[cid] = 11;
        current = math.floor(getCreatureMaxHealth(cid)/getCreatureHealth(cid));
        if spawnid[cid] != current and current <= #spawns then
            spawnid[cid] = current;
            print(spawnid[cid]);
            for _, tid in ipairs(spawns[cid]) do
                doCreateMonster(tid, getCreaturePosition(cid), false, true)
            end
        end
    elsea
        spawnid[cid] = 0;
    end
    return true
end
EDITED
this script is @Santy's one
Creaturescripts.xml
Code:
    <event type="think" name="Mosa" event="script" value="MOS.lua"/>
Login
Code:
registerCreatureEvent(cid, "Mosa")
Monster.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Ghazbaran" nameDescription="Ghazbaran" race="undead" experience="15000" speed="400" manacost="0">
    <health now="60000" max="60000"/>
    <look type="12" head="0" body="123" legs="97" feet="94" corpse="6068"/>
    <targetchange interval="10000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
        <flag summonable="0"/>
        <flag attackable="1"/>
        <flag hostile="1"/>
        <flag illusionable="0"/>
        <flag convinceable="0"/>
        <flag pushable="0"/>
        <flag canpushitems="1"/>
        <flag canpushcreatures="1"/>
        <flag staticattack="98"/>
        <flag targetdistance="1"/>
        <flag runonhealth="3500"/>
    </flags>
    <script>
        <event name="Mosa"/>
    </script>
    <attacks>
        <attack name="melee" interval="2000" min="-500" max="-2191"/>
        <attack name="melee" interval="2000" chance="40" range="7" radius="6" target="0" min="-250" max="-500">
            <attribute key="areaEffect" value="blackspark"/>
        </attack>
        <attack name="melee" interval="3000" chance="34" range="7" radius="1" target="1" min="-120" max="-500">
            <attribute key="shootEffect" value="whirlwindsword"/>
            <attribute key="areaEffect" value="redspark"/>
        </attack>
        <attack name="energy" interval="4000" chance="30" length="8" spread="0" min="-100" max="-800">
            <attribute key="areaEffect" value="mortarea"/>
        </attack>
        <attack name="physical" interval="3000" chance="20" range="14" radius="5" target="0" min="-200" max="-480">
            <attribute key="areaEffect" value="poff"/>
        </attack>
        <attack name="physical" interval="4000" chance="15" range="7" radius="13" target="0" min="-100" max="-650">
            <attribute key="areaEffect" value="yellowspark"/>
        </attack>
        <attack name="physical" interval="4000" chance="18" radius="14" target="0" min="-200" max="-600">
            <attribute key="areaEffect" value="bluebubble"/>
        </attack>
        <attack name="melee" interval="3000" chance="15" range="7" radius="4" target="0" min="-200" max="-750">
            <attribute key="areaEffect" value="energyarea"/>
        </attack>
    </attacks>
    <defenses armor="55" defense="65">
        <defense name="healing" interval="3000" chance="35" min="300" max="800">
            <attribute key="areaEffect" value="blueshimmer"/>
        </defense>
        <defense name="speed" interval="4000" chance="80" speedchange="440" duration="6000">
            <attribute key="areaEffect" value="redshimmer"/>
        </defense>
    </defenses>
    <immunities>
        <immunity physical="0"/>
        <immunity energy="1"/>
        <immunity fire="1"/>
        <immunity poison="1"/>
        <immunity lifedrain="1"/>
        <immunity paralyze="1"/>
        <immunity outfit="1"/>
        <immunity drunk="1"/>
        <immunity invisible="1"/>
    </immunities>
    <summons maxSummons="3">
        <summon name="Deathslicer" interval="4000" chance="20"/>
    </summons>
    <voices interval="5000" chance="30">
        <voice sentence="COME HERE AND DIE!"/>
        <voice sentence="COME AND GIVE ME SOME AMUSEMENT!" yell="1"/>
        <voice sentence="IS THAT THE BEST YOU HAVE TO OFFER, TIBIANS?" yell="1"/>
        <voice sentence="I AM GHAZBARAN OF THE TRIANGLE... AND I AM HERE TO CHALLENGE YOU ALL!" yell="1"/>
        <voice sentence="FLAWLESS VICTORY!"/>
    </voices>
    <loot>
        <item id="2160" countmax="12" chance="100000"/><!-- crystal coin -->
        <item id="2514" chance="18000"/><!-- mastermind shield -->
        <item id="6300" chance="12000"/><!-- death ring -->
        <item id="2003" chance="100000"><!-- grey backpack -->
            <inside>
                <item id="7431" chance="6000"/><!-- demonbone -->
                <item id="2393" chance="60000"/><!-- giant sword -->
                <item id="2195" chance="14033"/><!-- boots of haste -->
            </inside>
        </item>
    </loot>
</monster>
these all things that belongs to this script

Creaturscript.lua should be renamed to MOS.lua
 
Back
Top