Added proper script constants and documentation for the 'checkcell' command. (topic:183035)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12443 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
ac90e8170e
commit
ea403a9f9a
@ -43,21 +43,23 @@
|
||||
2385 Recuvative_Armor Should trigger HP/SP return with magical kills as well.
|
||||
|
||||
=======================
|
||||
2008/07/23
|
||||
2008/03/27
|
||||
* Added constants for the cell checking script function [ultramage]
|
||||
2008/03/23
|
||||
* Rev. 12426 Corrected Bishop and Gopinich exp rewards. [L0ne_W0lf]
|
||||
2008/07/20
|
||||
2008/03/20
|
||||
* Rev. 12420 Updated special effect rates on 11.3 gear. [L0ne_W0lf]
|
||||
2008/07/20
|
||||
2008/03/20
|
||||
* Rev. 12408 Corrected more duplicates in mob drops. [L0ne_W0lf]
|
||||
- Updated a few custom existing drops as well.
|
||||
- Fixed Hode so it drops Slotted Town Sword
|
||||
2008/07/19
|
||||
2008/03/19
|
||||
* Rev. 12401 Fallen Bishop lost his card...he found it though. [L0ne_W0lf]
|
||||
* Rev. 12400 Updated some monster stats that got missed. [L0ne_W0lf]
|
||||
* Rev. 12399 Updated Cursed Abbey monster drops. [L0ne_W0lf]
|
||||
2008/07/18
|
||||
2008/03/18
|
||||
* Rev. 12397 Moscovia mobs will now do more damage. [L0ne_W0lf]
|
||||
2008/07/17
|
||||
2008/03/17
|
||||
* Rev. 12386 Whoops. Incorrect ID in item_avail. :D [L0ne_W0lf]
|
||||
* Rev. 12385 Whoops. Incorrect IDs in item_avail. [L0ne_W0lf]
|
||||
* Rev. 12384 Added another item entry to item_avail. [L0ne_W0lf]
|
||||
|
15
db/const.txt
15
db/const.txt
@ -233,6 +233,21 @@ cell_landprotector 5
|
||||
cell_novending 6
|
||||
cell_nochat 7
|
||||
|
||||
//cell_gettype 0
|
||||
cell_chkwall 1
|
||||
cell_chkwater 2
|
||||
cell_chkcliff 3
|
||||
cell_chkpass 4
|
||||
cell_chkreach 5
|
||||
cell_chknopass 6
|
||||
cell_chknoreach 7
|
||||
//cell_chkstack 8
|
||||
cell_chknpc 9
|
||||
cell_chkbasilica 10
|
||||
cell_chklandprotector 11
|
||||
cell_chknovending 12
|
||||
cell_chknochat 13
|
||||
|
||||
StatusPoint 9 1
|
||||
BaseLevel 11 1
|
||||
SkillPoint 12 1
|
||||
|
@ -4,7 +4,7 @@
|
||||
//= A reference manual for the eAthena scripting language.
|
||||
//= Commands are sorted depending on their functionality.
|
||||
//===== Version ===========================================
|
||||
//= 3.17.20080312
|
||||
//= 3.18.20080327
|
||||
//=========================================================
|
||||
//= 1.0 - First release, filled will as much info as I could
|
||||
//= remember or figure out, most likely there are errors,
|
||||
@ -106,6 +106,8 @@
|
||||
//= Woopth. Fixed spelling. ;P Should be a bit clearer now. [L0ne_W0lf]
|
||||
//= 3.17.20080312
|
||||
//= Corrected cashshop description. (#FREEPOINTS->#KAFRAPOINTS) [L0ne_W0lf]
|
||||
//= 3.18.20080327
|
||||
//= Added documentation for the 'checkcell' command [ultramage]
|
||||
//=========================================================
|
||||
|
||||
This document is a reference manual for all the scripting commands and functions
|
||||
@ -6176,5 +6178,42 @@ to proceed until all barricades are destroyed. This script would place and
|
||||
remove a nonwalkable row of cells after the barricade mobs.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*checkcell ("<map name>",<x>,<y>,<type>);
|
||||
|
||||
This command will return 1 or 0, depending on whether the specified cell has
|
||||
the 'type' flag set or not. There are various types to check, all mimicking
|
||||
the server's cell_chk enumeration. The types can be found in db/const.txt.
|
||||
|
||||
The meaning of the individual types can be confusing, so here's an overview:
|
||||
- cell_chkwall/water/cliff
|
||||
these check directly for the 'terrain component' of the specified cell
|
||||
- cell_chkpass/reach/nopass/noreach
|
||||
passable = not wall & not cliff, reachable = passable wrt. no-stacking mod
|
||||
- cell_chknpc/basilica/landprotector/novending/nochat
|
||||
these check for specific dynamic flags (their name indicates what they do)
|
||||
|
||||
Example:
|
||||
|
||||
mes "Pick a destination map.";
|
||||
input .@map$;
|
||||
mes "Alright, now give me the coordinates.";
|
||||
input .@x;
|
||||
input .@y;
|
||||
if( !checkcell(.@map$,.@x,.@y,cell_chkpass) )
|
||||
{
|
||||
mes "Can't warp you there, sorry!";
|
||||
close;
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "Ok, get ready...";
|
||||
close2;
|
||||
warp .@map$, .@x, .@y;
|
||||
end;
|
||||
}
|
||||
|
||||
---------------------------------------
|
||||
|
||||
Whew.
|
||||
That's about all of them.
|
||||
|
@ -11635,19 +11635,6 @@ BUILDIN_FUNC(distance)
|
||||
return 0;
|
||||
}
|
||||
|
||||
BUILDIN_FUNC(checkcell)
|
||||
{
|
||||
int m;
|
||||
const char *map = script_getstr(st, 2);
|
||||
m = mapindex_name2id(map);
|
||||
if(m){
|
||||
script_pushint(st,map_getcell(m, script_getnum(st,3), script_getnum(st,4),(cell_chk)script_getnum(st,5)));
|
||||
} else {
|
||||
script_pushint(st,0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// <--- [zBuffer] List of mathematics commands
|
||||
// [zBuffer] List of dynamic var commands --->
|
||||
//FIXME: some other functions are using this private function
|
||||
@ -12994,6 +12981,23 @@ BUILDIN_FUNC(openauction)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// Retrieves the value of the specified flag of the specified cell.
|
||||
///
|
||||
/// checkcell("<map name>",<x>,<y>,<type>) -> <bool>
|
||||
///
|
||||
/// @see cell_chk* constants in const.txt for the types
|
||||
BUILDIN_FUNC(checkcell)
|
||||
{
|
||||
int m = map_mapname2mapid(script_getstr(st,2));
|
||||
int x = script_getnum(st,3);
|
||||
int y = script_getnum(st,4);
|
||||
cell_chk type = (cell_chk)script_getnum(st,5);
|
||||
|
||||
script_pushint(st, map_getcell(m, x, y, type));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// Modifies flags of cells in the specified area.
|
||||
///
|
||||
/// setcell "<map name>",<x1>,<y1>,<x2>,<y2>,<type>,<flag>;
|
||||
@ -13303,7 +13307,6 @@ struct script_function buildin_func[] = {
|
||||
BUILDIN_DEF(sqrt,"i"),
|
||||
BUILDIN_DEF(pow,"ii"),
|
||||
BUILDIN_DEF(distance,"iiii"),
|
||||
BUILDIN_DEF(checkcell,"siii"),
|
||||
// <--- [zBuffer] List of mathematics commands
|
||||
// [zBuffer] List of dynamic var commands --->
|
||||
BUILDIN_DEF(getd,"*"),
|
||||
@ -13364,6 +13367,7 @@ struct script_function buildin_func[] = {
|
||||
BUILDIN_DEF(checkchatting,"*"),
|
||||
BUILDIN_DEF(openmail,""),
|
||||
BUILDIN_DEF(openauction,""),
|
||||
BUILDIN_DEF(checkcell,"siii"),
|
||||
BUILDIN_DEF(setcell,"siiiiii"),
|
||||
{NULL,NULL,NULL},
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user