summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-04-23 02:22:27 -0300
committerJesusaves <cpntb1@ymail.com>2020-04-23 02:22:27 -0300
commit15a55210afdb296f24feced7efaeea682cb5da97 (patch)
tree7e07a1b0e256c3d8ebaaaa3b3142c056a1f475a0
parent01300364ec077462bb499aa7058c3fb15cf28896 (diff)
downloadserverdata-15a55210afdb296f24feced7efaeea682cb5da97.tar.gz
serverdata-15a55210afdb296f24feced7efaeea682cb5da97.tar.bz2
serverdata-15a55210afdb296f24feced7efaeea682cb5da97.tar.xz
serverdata-15a55210afdb296f24feced7efaeea682cb5da97.zip
Maze Configuration: Split maze effective generation in two (for debugs)
-rw-r--r--npc/maze0/config.txt65
1 files changed, 38 insertions, 27 deletions
diff --git a/npc/maze0/config.txt b/npc/maze0/config.txt
index 305c95603..8ff918f3f 100644
--- a/npc/maze0/config.txt
+++ b/npc/maze0/config.txt
@@ -385,11 +385,6 @@ function script MazeFix {
/////////////////////////////////////////////////////////////////////////////////
// GenerateMaze(width, height) → Returns instance ID
function script GenerateMaze {
- // Create the Maze instance or die trying
- .@inst = instance_create("Maze "+getcharid(0), getcharid(3), IOT_CHAR);
- if (.@inst < 0) end;
- MAZE_ID=.@inst;
-
// Save maze configuration
MAZE_MX=getarg(0);
MAZE_MY=getarg(1);
@@ -562,27 +557,7 @@ function script GenerateMaze {
freeloop(false);
debugmes "[STATUS] Finished";
- // Attach instance maps
- instance_attachmap("maze0", .@inst, false, "mz0@"+getcharid(0));
- instance_attachmap("maze1", .@inst, false, "mz1@"+getcharid(0));
- instance_attachmap("maze2", .@inst, false, "mz2@"+getcharid(0));
- instance_attachmap("maze3", .@inst, false, "mz3@"+getcharid(0));
- instance_attachmap("maze4", .@inst, false, "mz4@"+getcharid(0));
- instance_attachmap("maze5", .@inst, false, "mz5@"+getcharid(0));
- instance_attachmap("maze6", .@inst, false, "mz6@"+getcharid(0));
- instance_attachmap("maze7", .@inst, false, "mz7@"+getcharid(0));
- instance_attachmap("maze8", .@inst, false, "mz8@"+getcharid(0));
- instance_attachmap("maze9", .@inst, false, "mz9@"+getcharid(0));
- instance_attachmap("maze10", .@inst, false, "mz10@"+getcharid(0));
- instance_attachmap("maze11", .@inst, false, "mz11@"+getcharid(0));
- instance_attachmap("maze12", .@inst, false, "mz12@"+getcharid(0));
- instance_attachmap("maze13", .@inst, false, "mz13@"+getcharid(0));
- instance_attachmap("maze14", .@inst, false, "mz14@"+getcharid(0));
- instance_attachmap("maze15", .@inst, false, "mz15@"+getcharid(0));
- // Instance lasts one hour
- instance_set_timeout(3600, 3600, .@inst);
- instance_init(.@inst);
- return .@inst;
+ return true;
}
/////////////////////////////////////////////////////////////////////////////////
@@ -630,8 +605,43 @@ function script WarpToMaze {
}
/////////////////////////////////////////////////////////////////////////////////
-// InitMaze(maze_x, maze_y)
+// CreateMaze()
+function script CreateMaze {
+ // Create the Maze instance or die trying
+ .@inst = instance_create("Maze "+getcharid(0), getcharid(3), IOT_CHAR);
+ if (.@inst < 0) end;
+ MAZE_ID=.@inst;
+ // Attach instance maps
+ instance_attachmap("maze0", .@inst, false, "mz0@"+getcharid(0));
+ instance_attachmap("maze1", .@inst, false, "mz1@"+getcharid(0));
+ instance_attachmap("maze2", .@inst, false, "mz2@"+getcharid(0));
+ instance_attachmap("maze3", .@inst, false, "mz3@"+getcharid(0));
+ instance_attachmap("maze4", .@inst, false, "mz4@"+getcharid(0));
+ instance_attachmap("maze5", .@inst, false, "mz5@"+getcharid(0));
+ instance_attachmap("maze6", .@inst, false, "mz6@"+getcharid(0));
+ instance_attachmap("maze7", .@inst, false, "mz7@"+getcharid(0));
+ instance_attachmap("maze8", .@inst, false, "mz8@"+getcharid(0));
+ instance_attachmap("maze9", .@inst, false, "mz9@"+getcharid(0));
+ instance_attachmap("maze10", .@inst, false, "mz10@"+getcharid(0));
+ instance_attachmap("maze11", .@inst, false, "mz11@"+getcharid(0));
+ instance_attachmap("maze12", .@inst, false, "mz12@"+getcharid(0));
+ instance_attachmap("maze13", .@inst, false, "mz13@"+getcharid(0));
+ instance_attachmap("maze14", .@inst, false, "mz14@"+getcharid(0));
+ instance_attachmap("maze15", .@inst, false, "mz15@"+getcharid(0));
+ // Instance lasts one hour
+ instance_set_timeout(3600, 3600, .@inst);
+ instance_init(.@inst);
+
+ debugmes "Maze instance created: %s", MAZE_ID;
+ return .@inst;
+}
+
+// InitMaze(maze_x, maze_y, {renew=True})
function script InitMaze {
+ // Should we renew the instance?
+ if (getarg(2, true))
+ instance_set_timeout(3600, 3600, MAZE_ID);
+
MAZE_X=getarg(0);
MAZE_Y=getarg(1);
.@id=getd(MazeVar(MAZE_X, MAZE_Y, "_ID"));
@@ -716,6 +726,7 @@ maze0,30,30,0 script #MazeMaster NPC_MONA,{
*/
//GenerateMaze(7, 7, 0);
GenerateMaze(5, 5);
+ CreateMaze();
InitMaze(0, 0);
end;
}