You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
272 lines
6.1 KiB
272 lines
6.1 KiB
#class paths kill
|
|
#class paths open
|
|
|
|
#NOP ############################################################################################
|
|
#NOP ### Portals variable, used by the speedwalking aliases (afind, rfind, vfind)
|
|
#NOP ############################################################################################
|
|
|
|
#var {portals}
|
|
{
|
|
{1}{{zone}{aylor}{name}{garbage}{vnum}{32418}{cmd}{get garbage from $portalbag;hold garbage;enter;hold wad;put garbage in $portalbag}}
|
|
{2}{{zone}{petstore}{name}{collar}{vnum}{995}{cmd}{get collar from $portalbag;hold collar;enter;hold wad;put collar in $portalbag}}
|
|
{3}{{zone}{amusement}{name}{amulet}{vnum}{29364}{cmd}{get amulet from $portalbag;hold amulet;enter;hold wad;put amulet in $portalbag}}
|
|
}
|
|
|
|
#NOP ###########################################################################
|
|
#NOP ### Adding/Clearing Portal List
|
|
#NOP ###########################################################################
|
|
|
|
#alias addportals
|
|
{
|
|
#foreach {$portals[]} {x}
|
|
{
|
|
#map dig {$portals[$x][cmd]} {$portals[$x][vnum]}
|
|
}
|
|
}
|
|
|
|
#alias clearportals
|
|
{
|
|
#foreach {$portals[]} {y}
|
|
{
|
|
#map unlink {$portals[$y][cmd]}
|
|
}
|
|
|
|
}
|
|
|
|
#alias lvladdportals
|
|
{
|
|
#foreach {$portals[]} {x}
|
|
{
|
|
#IF {$tier_level>=$portals[$x][lvl]}
|
|
{
|
|
#map dig {$portals[$x][cmd]} {$portals[$x][vnum]}
|
|
}
|
|
}
|
|
}
|
|
|
|
#alias lvlclearportals
|
|
{
|
|
#foreach {$portals[]} {y}
|
|
{
|
|
#IF {$tier_level>=$portals[$y][lvl]}
|
|
{
|
|
#map unlink {$portals[$y][cmd]}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
#NOP ###########################################################################
|
|
#NOP ### Advanced speedwalking aliases afind, rfind, vfind (area, room, vnum)
|
|
#NOP ###########################################################################
|
|
|
|
#ALIAS {afind}
|
|
{
|
|
#IF "%0"==""
|
|
{
|
|
#show <169>Syntax:<099> af <zone>
|
|
};
|
|
#else
|
|
{
|
|
#unvar path;
|
|
#if {"$GMCP[ROOM][INFO][zone]"=="%1"} {#show <169>Already at <099>%1.};
|
|
#else
|
|
{
|
|
#show <169>Area Find:<099> %1;
|
|
#var checkportal {};
|
|
#map get roomnote checkportal;
|
|
#if {"$checkportal"!="noportal"}
|
|
{
|
|
#var portalsused 1;
|
|
lvladdportals;
|
|
#map find {} {} {} {%1};
|
|
};
|
|
#ELSE
|
|
{
|
|
#map find {} {} {} {%1}
|
|
};
|
|
#if {$portalsused}
|
|
{
|
|
#var portalsused 0;
|
|
lvlclearportals
|
|
};
|
|
#path run;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
#ALIAS {vfind}
|
|
{
|
|
#IF "%0"==""
|
|
{
|
|
#show <169>Syntax:<099> vf <vnum>
|
|
};
|
|
#else
|
|
{
|
|
#unvar path;
|
|
#if {"$GMCP[ROOM][INFO][num]"=="%1"} {#show <169>Already at <099>%1.};
|
|
#else
|
|
{
|
|
#show <169>Vnum Find:<099> %1;
|
|
#var checkportal {};
|
|
#map get roomnote checkportal;
|
|
#if {"$checkportal"!="noportal"}
|
|
{
|
|
#var portalsused 1;
|
|
lvladdportals;
|
|
#map find {%1}
|
|
};
|
|
#else
|
|
{
|
|
#map find {%1}
|
|
};
|
|
#if {$portalsused}
|
|
{
|
|
#var portalsused 0;
|
|
lvlclearportals
|
|
};
|
|
#path run;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
#ALIAS {rfind}
|
|
{
|
|
#IF "%0"==""
|
|
{
|
|
#show <169>Syntax:<099> rf <roomname>
|
|
};
|
|
#else
|
|
{
|
|
#show <169>Room Find:<099> %0;
|
|
#var checkportal {};
|
|
#map get roomnote checkportal;
|
|
#if {"$checkportal"!="noportal"}
|
|
{
|
|
#var portalsused 1;
|
|
lvladdportals;
|
|
#map find {%0}
|
|
};
|
|
#else
|
|
{
|
|
#map find {%0}
|
|
};
|
|
#if {$portalsused}
|
|
{
|
|
#var portalsused 0;
|
|
lvlclearportals;
|
|
};
|
|
#path run;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
#NOP ###########################################################################
|
|
#NOP ### Mfind alias, will only find the path and show it to you, not run it
|
|
#NOP ###########################################################################
|
|
|
|
#ALIAS mfind
|
|
{
|
|
lvladdportals;
|
|
#map find %0;
|
|
#path show;
|
|
lvlclearportals
|
|
}
|
|
|
|
|
|
#NOP ###########################################################################
|
|
#NOP ### Hfind alias
|
|
#NOP ### This let's you use a very loose string to find a path to the closest
|
|
#NOP ### matching room in the current area.
|
|
#NOP ###########################################################################
|
|
|
|
#ALIAS hfind {#map find {%i%*%0%*} {} {} {$GMCP[ROOM][INFO][zone]};#path run}
|
|
|
|
|
|
|
|
#NOP ###########################################################################
|
|
#NOP ### Advanced runto alias "go"
|
|
#NOP ###########################################################################
|
|
|
|
#ALIAS {go}
|
|
{
|
|
#if {$GMCP[ROOM][INFO][num]==32418}
|
|
{
|
|
#if "%0"==""
|
|
{
|
|
#show Already at Recall
|
|
};
|
|
#else
|
|
{
|
|
rt %0
|
|
}
|
|
};
|
|
#elseif {$GMCP[ROOM][INFO][num]==26151}
|
|
{
|
|
#if "%0"==""
|
|
{
|
|
d
|
|
};
|
|
#else
|
|
{
|
|
d;
|
|
rt %0
|
|
}
|
|
};
|
|
#elseif {$GMCP[ROOM][INFO][num]==26152}
|
|
{
|
|
#if "%0"==""
|
|
{
|
|
#send {enter elevator};
|
|
d
|
|
};
|
|
#else
|
|
{
|
|
#send {enter elevator};
|
|
d;
|
|
rt %0
|
|
}
|
|
};
|
|
#elseif {"$GMCP[ROOM][INFO][zone]"=="aylor"}
|
|
{
|
|
#if "%0"==""
|
|
{
|
|
rt recall
|
|
};
|
|
#else
|
|
{
|
|
rt recall;
|
|
rt %0
|
|
}
|
|
|
|
};
|
|
#else
|
|
{
|
|
#if "%0"==""
|
|
{
|
|
vf 32418
|
|
};
|
|
#else
|
|
{
|
|
vf 32418;
|
|
rt %0
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
#NOP ###########################################################################
|
|
#NOP ### Abbreviated aliases for afind, hfind, mfind, rfind, vfind
|
|
#NOP ###########################################################################
|
|
|
|
#ALIAS af {afind}
|
|
#ALIAS hf {hfind}
|
|
#ALIAS mf {mfind}
|
|
#ALIAS rf {rfind}
|
|
#ALIAS vf {vfind}
|
|
|
|
#class paths close
|