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

Pythius the Rotten... The Hidden City of Beregar

kito2

www.masteria.net
Joined
Mar 9, 2009
Messages
3,766
Solutions
1
Reaction score
225
Location
Chile, Santiago
Hi there... I have been searching for this script, but nothing...

I just need 2 things:

1) "Use your pick on the stone to uncover a teleport which will take you to the final chamber" - Like it says, just using a pick on a stone and it will make appear a teleport that will tp to x, y, z and the teleport will last 1 minute...
Edited: When you use the pick on the stone, it dissapear and the teleport appear on coords x", y", z"... When the teleport dissapear, the stone appears on the coords x''', y''', z'''.

2) "After defeating the greedy old bonebag (he doesnt die, the hp just goes black and yells: "Fighting little worm, your victory shall be rewarded) you are teleported to the reward room" - As this says, just when the monsters have less than 20% of his HP, he yells that and open a teleport that will teleport you to x', y', z' and it will last 1 minute...

That's all.


Someone may help me?

Pythius the Rotten:

PHP:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="pythius the rotten" nameDescription="pythius the rotten" race="undead" experience="100" speed="280" manacost="0">
  <health now="9000" max="9000"/>
  <look type="231" corpse="6306"/>
  <targetchange interval="5000" chance="8"/>
  <strategy attack="100" defense="0"/>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="1"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="1"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="0"/>
  </flags>
  <attacks>
    <attack name="melee" interval="2000" skill="145" attack="135"/>

    <attack name="fire" interval="2000" chance="20" range="7" radius="4" target="1" min="-165" max="-205">
      <attribute key="shootEffect" value="fire"/>
      <attribute key="areaEffect" value="redspark"/>
    </attack>

    <attack name="death" interval="9000" chance="100" radius="4" target="0" min="0" max="0">
      <attribute key="areaEffect" value="mortarea"/>
    </attack>

    <attack name="poison" interval="2000" chance="20" range="7" radius="4" target="1" min="-55" max="-155">
      <attribute key="shootEffect" value="poison"/>
      <attribute key="areaEffect" value="poison"/>
    </attack>

    <attack name="poison" interval="2000" chance="20" length="8" spread="3" min="-300" max="-415">
      <attribute key="areaEffect" value="poison"/>
    </attack>

    <attack name="manadrain" interval="2000" chance="12" range="5" radius="4" target="1" min="-85" max="-110">
      <attribute key="areaEffect" value="greenshimmer"/>
    </attack>

  </attacks>
  <defenses armor="35" defense="30">
  </defenses>
  <summons maxSummons="2">
	<summon name="undead gladiator" interval="9000" chance="100"/>
	<summon name="undead gladiator" interval="9000" chance="100"/>
  </summons>
	<elements>
		<element physicalPercent="10"/>
		<element icePercent="10"/>
		<element holyPercent="-10"/>
	</elements>
  <immunities>
    <immunity death="1"/>
    <immunity earth="1"/>
    <immunity energy="1"/>
    <immunity lifedrain="1"/>
    <immunity invisible="1"/>
  </immunities>
  <voices interval="5000" chance="10">
    <voice sentence="YOU'LL NEVER GET MY TREASURE!"/>
	<voice sentence="MINIONS, MEET YOUR NEW BROTHER!"/>
	<voice sentence="YOU WILL REGRET THAT YOU ARE BORN!"/>
	<voice sentence="YOU MADE A HUGE WASTE!"/>
  </voices>
</monster>

PS: The first teleport should just teleport 1 player and then you can use the pick on the stone after 10 minutes.
PS: When you enter the teleport, then the Pythius the Rotten is summoned, if the player dies then the monster dissapear.
 
Last edited:
but why if there's no delay in cipbia?

I know, but I want it xd

My points is that if you fight alone against Pythius the Rotten is hard, but if you go with more players, it is easy, so the points is to to fight 1 vs Pythius the Rotten.

That's why I want to add a delay, so I ensure that it is always 1 player against this boss and not a team...

Also I would like to make the delay configurable, so you could set it to every 6 hours, so the firewalker boots would be an exclusive item.
 
Duh... Someone add a delay of X minutes to the pick script:

Lua:
        if itemEx.aid == wwww then
                doRemoveItem(itemEx.uid, 1)
                teleport = doCreateTeleport(1387, {x=xdest, y=ydest, z=zdest}, {xxx,yyy,z})
                doItemSetAttribute(teleport, "aid", 101)
                return true
        end
 
I don't know if the addEvent will work, it's the first time I put the function inside it.
Code:
function onUse(cid, item, toPosition, itemEx, fromPosition)
	if getGlobalStorageValue(#####) <= 0 then	--all the ##### have to be the same
		if itemEx.aid ==  wwww then
                doRemoveItem(itemEx.uid, 1)
                teleport = doCreateTeleport(1387, {x=xdest, y=ydest, z=zdest}, {xxx,yyy,z})
                doItemSetAttribute(teleport, "aid", 101)
				setGlobalStorageValue(#####, 1)
				addEvent(function reset, 10*60*1000, setGlobalStorageValue(#####, 0) end)
                return true
        end
	else
		doPlayerSendTextMessage(cid, 25, "Your Message Here.")
	end
return true
end
 
Could You please tell me where to put the script that when u killed pythius the rotten u get tped to a certain position?
 
ok thanks I'll fix it!
Edit:
I think this should work:
Code:
function reset(cid)
	setGlobalStorageValue(#####, 0)
end	
function onUse(cid, item, toPosition, itemEx, fromPosition)
	if getGlobalStorageValue(#####) <= 0 then	--all the ##### have to be the same
		if itemEx.actionid ==  wwww then
            doRemoveItem(itemEx.uid, 1)
            teleport = doCreateTeleport(1387, {x=xdest, y=ydest, z=zdest}, {xxx,yyy,z})
            doItemSetAttribute(teleport, "aid", 101)
			setGlobalStorageValue(#####, 1)
			addEvent(reset, 10*60*1000, cid)
            return true
        end
	else
		doPlayerSendTextMessage(cid, 25, "Your Message Here.")
	end
return true
end
 
Last edited:
Code:
local last = 0
local delay = 60 * 10

function onUse(cid, item, toPosition, itemEx, fromPosition)
    if ((os.time() - last) >= delay) then
        if (itemEx.actionid == 375311) then
            doRemoveItem(itemEx.uid)
            local teleport = doCreateTeleport(1387, {x=xdest, y=ydest, z=zdest}, {xxx,yyy,z})
            doItemSetAttribute(teleport, "aid", 101)
            last = os.time()
        end
    else
        doPlayerSendTextMessage(cid, 25, "Your Message Here.")
    end
    return true
end
 
Now i have two questions if you apply condition exhaust for 5 min, will it
exhaust spells and items, I'll explain, condition exhaust is set if i cast
a spell with that condition on, will it cast?? or send you are exhausted.
second question, is it possible to create my own exhaust function in a script
using os.time and setting a storage value?, like so only that player is exhausted.
 
Now i have two questions if you apply condition exhaust for 5 min, will it
exhaust spells and items, I'll explain, condition exhaust is set if i cast
a spell with that condition on, will it cast?? or send you are exhausted.
second question, is it possible to create my own exhaust function in a script
using os.time and setting a storage value?, like so only that player is exhausted.
1- didnt understand clearly, if you want you can askme in pm in spanish or something.
2- yes
 
@Jano, lo uso en el pick.lua, asi porque funciona, pero el delay system que pusiste, no funciona.
Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if (itemEx.uid <= 65535 or itemEx.actionid > 0) and (not (itemEx.actionid == 3602)) and (itemEx.itemid == 1304 or itemEx.itemid == 354 or itemEx.itemid == 355 or itemEx.itemid == 9024 or itemEx.itemid == 9025) then
		doTransformItem(itemEx.uid, 383)
		doDecayItem(itemEx.uid)
		return TRUE
	elseif itemEx.uid == 60001 then
		doTeleportThing(cid, {x=329, y=772, z=10})
		doSendMagicEffect({x=329, y=772, z=10},10)
		return TRUE
	end
	
local last = 0
local delay = 60 * 10

    if ((os.time() - last) >= delay) then
        if (itemEx.actionid == 3602) then
            local teleport = doCreateTeleport(1387, {x=345, y=887, z=15, stackpos=1}, {x=315, y=809, z=15, stackpos=2})
            doItemSetAttribute(teleport, "aid", 101)
			doSummonCreature('Pythius the Rotten', {x=344, y=887, z=15, stackpos = 253})
            last = os.time()
        end
    else
        doPlayerSendTextMessage(cid, 25, "Once every hour...")
    end

		return FALSE
end

Funciona perfect, pero lo podi usar todas las veces que querai, tu delay no funciono O:
 
Last edited:
el last debe ir fuera de la funcion para que se mantenga 8)

Code:
local last = 0
local delay = 60 * 10

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if (itemEx.uid <= 65535 or itemEx.actionid > 0) and (not (itemEx.actionid == 3602)) and (itemEx.itemid == 1304 or itemEx.itemid == 354 or itemEx.itemid == 355 or itemEx.itemid == 9024 or itemEx.itemid == 9025) then
        doTransformItem(itemEx.uid, 383)
        doDecayItem(itemEx.uid)
    elseif itemEx.uid == 60001 then
        doTeleportThing(cid, {x=329, y=772, z=10})
        doSendMagicEffect({x=329, y=772, z=10}, 10)
    elseif (itemEx.actionid == 3602) then
        if ((os.time() - last) >= delay) then
            local teleport = doCreateTeleport(1387, {x=345, y=887, z=15, stackpos=1}, {x=315, y=809, z=15, stackpos=2})
            doItemSetAttribute(teleport, "aid", 101)
            doSummonCreature('Pythius the Rotten', {x=344, y=887, z=15, stackpos = 253})
            last = os.time()
        else
            doPlayerSendTextMessage(cid, 25, "Once every hour...")
        end
    else
        return false
    end
    return true
end
 
For everyone:

dibujokb.jpg


Can you get why I wanted delay time?
 
el last debe ir fuera de la funcion para que se mantenga 8)

Code:
local last = 0
local delay = 60 * 10

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if (itemEx.uid <= 65535 or itemEx.actionid > 0) and (not (itemEx.actionid == 3602)) and (itemEx.itemid == 1304 or itemEx.itemid == 354 or itemEx.itemid == 355 or itemEx.itemid == 9024 or itemEx.itemid == 9025) then
        doTransformItem(itemEx.uid, 383)
        doDecayItem(itemEx.uid)
    elseif itemEx.uid == 60001 then
        doTeleportThing(cid, {x=329, y=772, z=10})
        doSendMagicEffect({x=329, y=772, z=10}, 10)
    elseif (itemEx.actionid == 3602) then
        if ((os.time() - last) >= delay) then
            local teleport = doCreateTeleport(1387, {x=345, y=887, z=15, stackpos=1}, {x=315, y=809, z=15, stackpos=2})
            doItemSetAttribute(teleport, "aid", 101)
            doSummonCreature('Pythius the Rotten', {x=344, y=887, z=15, stackpos = 253})
            last = os.time()
        else
            doPlayerSendTextMessage(cid, 25, "Once every hour...")
        end
    else
        return false
    end
    return true
end

Perfecto, exelente, quedo funcionando muy bien.

Otra cosa, como se podria hacer para que cuando lo usen nuevamente, vea si tiene el monster summoneado, y si esta summoneado, no lo crea, porque o si no, quedara la embarra, lleno de Pythius xD
 
usa global storage :) y agrega una funcion dentro del monster :) osea.
cuando se sumonea gStorage = 1, y cuando lo matan gStorage= 0 :D en realidad no tengo tiempo para hacerlo pero si lo tuviese lo haria :), si nadie mas lo hace lo posteo mas ratito :D
 
usa global storage :) y agrega una funcion dentro del monster :) osea.
cuando se sumonea gStorage = 1, y cuando lo matan gStorage= 0 :D en realidad no tengo tiempo para hacerlo pero si lo tuviese lo haria :), si nadie mas lo hace lo posteo mas ratito :D

Estoy pensando...

Al tirar la palanca, al crear el teleport y summonear el monster, coloca el storage en 1.

Luego, si alguien muere dentro de la habitacion, y no muere el Pythius, entonces el storage aun quedara en 1... Por lo tanto, si el storage es igual a 1, no summonea al monster, pero crea el teleport, y si el storage es igual a 0 summonea el monster.
 
Back
Top