Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Luca Test script monster random-move
- void* x=0;
- void* y=0;
- void* spawn_x=0;
- void* spawn_y=0;
- #define WALK_LIMIT 150
- //KaSahto setzt die Events von selber..
- void onRandomWalk(void* monster)
- {
- int* mob_x=get(monster,x);
- int* mob_y=get(monster,y);
- int mob_spawn_x=*get(monster,spawn_x);
- int mob_spawn_y=*get(monster,spawn_y);
- char walk_x=rand();
- char walk_y=rand();
- int walk_dist=rand()%25+25;
- int dist=(int)walk_x*(int)walk_x+(int)walk_y*(int)walk_y+1; //+1 damit nie 0
- walk_x=((int)walk_x*walk_dist)/dist;
- walk_y=((int)walk_y*walk_dist)/dist;
- int new_x=*mob_x + walk_x;
- int new_y=*mob_y + walk_y;
- if (((new_x-WALK_LIMIT) > mob_spawn_x)||
- ((new_x+WALK_LIMIT) < mob_spawn_x))
- walk_x=-walk_x;
- if (((new_y-WALK_LIMIT) > mob_spawn_y)||
- ((new_y+WALK_LIMIT) < mob_spawn_y))
- walk_y=-walk_y;
- *mob_x+=walk_x;
- *mob_y+=walk_y;
- sendMove(monster, walk_x, walk_y, false);
- }
- const char* init(int state)
- {
- //wird von jeden neuen script-instance aufgerufen
- if ((x=getVariable("x")) == 0)
- return "x wurde nicht gefunden";
- if ((y=getVariable("y")) == 0)
- return "y wurde nicht gefunden";
- if ((x=getVariable("spawn_x")) == 0)
- return "spawn_x wurde nicht gefunden";
- if ((y=getVariable("spawn_y")) == 0)
- return "spawn_y wurde nicht gefunden";
- }
- void deinit()
- {
- //wird aufgerufen wenn script entladet wird..
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement