ID:143218
 
Code:
mob
proc
startsaga()
if(sagas == 1)
sleep(10)
Deathcheck()
new /mob/monsters/zombie(locate(usr.x,usr.y-1,usr.z))
world << "Zombie the new begining."
if(src.dead == 1)
world << "Zombie has been Killed"
sagas = 2
usr << "uno"
Deathcheck()
world << "Zombie has been Killed"
startsaga()
if(sagas == 2)
spawn(10)
new /mob/monsters/goblin(locate(usr.x,usr.y-1,usr.z))
world << "Terror of the Goblin"


Problem description: its not realizing that the zombie is dead

Odd code, but show me your deathcheck proc...

Also here's a tip, a quicker and more pro way of doing
if(usr.cool==1)

Just do...
if(usr.cool)

If it has no "==[number])" it means its one.

For
if(usr.cool==0)

use
if(!usr.cool)

Exactly same but looks better.

-Poal
In response to Poal
Poal wrote:
Just do...
if(usr.cool)

If it has no "==[number])" it means its one.
-Poal

Slightly incorrect, if(Var) means it will happen if the value is true.

True value (in DM) = Everything EXCEPT 0, FALSE, null, "" <-- empty string

False = Well, read the exception above ;/


And you should at least mention that it is a boolean method
That's because putting Deathcheck() there doesn't mean "wait until the zombie dies." It just means it's calling Deathcheck()... for src.

Speaking of which: all these instances of usr should be src. The whole proc doesn't really make sense as a proc belonging to mob, either.

You're going to have to change mob/monsters/zombie/Deathcheck() to cause the "Zombie has been Killed" message and start the next event.
In response to Garthor
ok i figured out how to make it do that but it doesnt get up to the second if in the code and when i tab it i get an invalid expression error