Quote:
Originally Posted by Kamaeru
You can basically add a class that you join via your baddy that contains a function which runs a timer each time the baddy dies. Or just add the timer in the script, but if you do what I'm saying you can add other functions for like making the baddy drop gralats or items when it dies.
This is the old function they used on Graal2001:
NPC Code:
function domonsterdeath() {
setTimer(45);
if (strlen(#a)>0) {
player.clientr.monsterskilled++;
if (strlen(#p(0))>0) {
setstring clientr.mkills#p(0),#v(strtofloat(#s(clientr.mkill s#p(0)))+1);
setstring clientr.kills#p(0),#v(strtofloat(#s(clientr.kills# p(0)))+1);
}
}
} // you was missing a bracket might be intentional if you posting a code snibblet
So however your baddy death is handled, lets just assume it's really basic and you play the death animation and then do:
NPC Code:
hide();
doMonsterDeath();
and then the timeout part of your code would make it initialize again, so if your initialization is on creation of the NPC then just put onCreated(); in the onTimeout function
sorry for mixing up gs1 and gs2
|
NPC Code:
function domonsterdeath() {
setTimer(45);
if (player.account != NULL) { //Not sure how your class knows the player account (I just converted your code to GS2)
player.clientr.monsterskilled++;
if (params[0] > 0) {
clientr.("mkills"@params[0])++;
clientr.("kills"@params[0])++;
}
}
}
although I kinda think its weird you have 2 flags that do the same exact thing.
Regarding a NPC DataBase Spawner you could do.
NPC Code:
temp.entities = {"npc_class1", "npc_class2"};
temp.random_entity_index = int(random(0, temp.entities.size()));
temp.entity_id = this.entities[temp.random_entity_index];
temp.obj = putNPC2(0, 0, "join( \"" @ temp.entity_id @ "\");");
temp.obj.generated = true; //Tell the class its Generated
temp.obj.warpto(temp.lvl, temp.x, temp.y); //Warp the NPC where you want
you could easily check the map when they spawn to make sure you maintain a max amount that are spawned on your map. It could get ugly if you don't you will end up with thousands of NPCs.