Michas17
Dołączył: 16 Lip 2006 |
Posty: 7 |
Przeczytał: 0 tematów
|
Ostrzeżeń: 0/10
|
Skąd: Katowice |
|
|
Wysłany: Nie 3:58, 16 Lip 2006 |
|
|
|
|
|
Cześć chce napisać jak zrobić serpent spawn żeby nie było że to jest plagit wziołem go z [link widoczny dla zalogowanych] no to do roboty.(Ten monster działa na DevLandzie!!)
data/monster/Serpent Spawn.xml
<?xml version="1.0"?>
<monster name="Serpent Spawn" level="45" maglevel="55" experience="2000" pushable="0" speed="350" armor="32" defense="41" canpushitems="0" staticattack="50" changetarget="550">
<health now="3000" max="3000"/>
<look type="220" corpse="4323"/>
<combat targetdistance="1" runonhealth="0"/>
<attacks>
<attack type="melee" mindamage="20" maxdamage="200" probability="100"/>
<attack type="instant" name="serpent_beam" exhaustion="500" cycleticks="2000" probability="50"/>
<attack type="instant" name="serpent_poison" exhaustion="500" cycleticks="3000" probability="70"/>
<attack type="instant" name="serpent_wave" exhaustion="500" cycleticks="4000" probability="70"/>
</attacks>
<defenses>
<defense immunity="poison"/>
<defense immunity="paralyze"/>
<defense immunity="drunk"/>
<defense immunity="invisible"/>
</defenses>
<loot>
<item id="2148" countmax="96" chance1="50000" chancemax="3"/>
<item id="2146" countmax="2" chance1="10000" chancemax="0"/>
<item id="2147" countmax="1" chance1="10000" chancemax="0"/>
<item id="1987" chance="100000">
<inside>
<item id="2148" countmax="84" chance1="50000" chancemax="3"/>
<item id="3971" chance="3333"/>
<item id="2492" chance="5000"/>
<item id="2476" chance="4000"/>
<item id="2198" chance="3333"/>
<item id="2130" chance="1818"/>
<item id="2498" chance="1818"/>
<item id="2547" countmax="4" chance1="20000" chancemax="0"/>
<item id="2678" countmax="6" chance1="20000" chancemax="0"/>
<item id="2796" countmax="1" chance1="20000" chancemax="0"/>
<item id="2504" chance="333"/>
</inside>
</item>
</loot>
<voices>
<voice sentence="Tsss you will die"/>
<voice sentence="Tsssse one will risssse again"/>
<voice sentence="HIIISS"/>
</voices>
</monster>
|
Data/monster/monsters.xml
<monster name="Serpent Spawn" file="Serpent Spawn.xml" />
|
Jeszcze tylko Spellsy.
Data/spells/instant/serpent_beam.lua
area = {
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 2, 2, 0, 3, 3, 3, 3, 3, 3},
{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0}
}
attackType = ATTACK_NONE
needDirection = true
areaEffect = NM_ME_SOUND_YELLOW
animationEffect = NM_ANI_NONE
hitEffect = NM_ME_EXPLOSION_DAMAGE
damageEffect = NM_ME_SOUND_YELLOW
animationColor = RED
offensive = true
drawblood = true
GreatEnergyBeamObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)
function onCast(cid, creaturePos, level, maglv, var)
centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}
GreatEnergyBeamObject.minDmg = (level * 2 + maglv *2.5) * 1.0
GreatEnergyBeamObject.maxDmg = (level * 2 + maglv *2.5) * 1.6
return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, GreatEnergyBeamObject:ordered())
end
|
Kolejny
Data/spells/instant/serpent_poison.lua
area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
attackType = ATTACK_PHYSICAL
needDirection = false
areaEffect = NM_ME_POISEN_RINGS
animationEffect = NM_ANI_NONE
hitEffect = NM_ME_EXPLOSION_DAMAGE
damageEffect = NM_ME_POISEN_RINGS
animationColor = GREEN
offensive = true
drawblood = true
UltimateExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)
function onCast(cid, creaturePos, level, maglv, var)
centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}
n = tonumber(var) -- try to convert it to a number
if n ~= nil then
-- bugged
-- ultimateExplosionObject.minDmg = var+0
-- UltimateExplosionObject.maxDmg = var+0
UltimateExplosionObject.minDmg = 0
UltimateExplosionObject.maxDmg = 0
else
UltimateExplosionObject.minDmg = (level * 1 + maglv * 2) * 2.3 - 30
UltimateExplosionObject.maxDmg = (level * 1 + maglv * 2) * 3.0
end
return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, UltimateExplosionObject:ordered())
end
|
Kolejny
Data/spells/instant/serpent_wave.lua
area = {
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 3, 3, 3},
{2, 2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 3, 3, 3, 3, 3},
{2, 2, 2, 2, 2, 2, 0, 0, 1, 0, 0, 3, 3, 3, 3, 3, 3},
{2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 3, 3, 3, 3, 3, 3, 3},
{2, 2, 2, 2, 2, 2, 0, 0, 4, 0, 0, 3, 3, 3, 3, 3, 3},
{2, 2, 2, 2, 2, 0, 0, 0, 4, 0, 0, 0, 3, 3, 3, 3, 3},
{2, 2, 2, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3},
{0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0}
}
attackType = ATTACK_POISON
needDirection = true
areaEffect = NM_ME_POISONCLOUD
animationEffect = NM_ANI_NONE
hitEffect = NM_ME_EXPLOSION_DAMAGE
damageEffect = NM_ME_POISONCLOUD
animationColor = GREEN
offensive = true
drawblood = true
EnergyWaveObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)
function onCast(cid, creaturePos, level, maglv, var)
centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}
EnergyWaveObject.minDmg = (level * 1.5 + maglv * 2.7) * 1.3
EnergyWaveObject.maxDmg = (level * 1.5 + maglv * 3) * 1.7
return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, EnergyWaveObject:ordered())
end
|
teraz w Data/spells/spells.xml pod "<!--// Monster \\-->"(bez "")
<spell name="serpent_wave" words="serpent_wave" maglv="4000" mana="800" enabled="1"></spell>
<spell name="serpent_poison" words="serpent_poison" maglv="4000" mana="800" enabled="1"></spell>
<spell name="serpent_beam" words="serpent_beam" maglv="4000" mana="800" enabled="1"></spell>
|
to już wszystko i możemy się cieszyć nowym monsterkiem
|