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.
|
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]
|
* 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]
|
* 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]
|
* Rev. 12408 Corrected more duplicates in mob drops. [L0ne_W0lf]
|
||||||
- Updated a few custom existing drops as well.
|
- Updated a few custom existing drops as well.
|
||||||
- Fixed Hode so it drops Slotted Town Sword
|
- 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. 12401 Fallen Bishop lost his card...he found it though. [L0ne_W0lf]
|
||||||
* Rev. 12400 Updated some monster stats that got missed. [L0ne_W0lf]
|
* Rev. 12400 Updated some monster stats that got missed. [L0ne_W0lf]
|
||||||
* Rev. 12399 Updated Cursed Abbey monster drops. [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]
|
* 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. 12386 Whoops. Incorrect ID in item_avail. :D [L0ne_W0lf]
|
||||||
* Rev. 12385 Whoops. Incorrect IDs in item_avail. [L0ne_W0lf]
|
* Rev. 12385 Whoops. Incorrect IDs in item_avail. [L0ne_W0lf]
|
||||||
* Rev. 12384 Added another item entry to 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_novending 6
|
||||||
cell_nochat 7
|
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
|
StatusPoint 9 1
|
||||||
BaseLevel 11 1
|
BaseLevel 11 1
|
||||||
SkillPoint 12 1
|
SkillPoint 12 1
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//= A reference manual for the eAthena scripting language.
|
//= A reference manual for the eAthena scripting language.
|
||||||
//= Commands are sorted depending on their functionality.
|
//= Commands are sorted depending on their functionality.
|
||||||
//===== Version ===========================================
|
//===== Version ===========================================
|
||||||
//= 3.17.20080312
|
//= 3.18.20080327
|
||||||
//=========================================================
|
//=========================================================
|
||||||
//= 1.0 - First release, filled will as much info as I could
|
//= 1.0 - First release, filled will as much info as I could
|
||||||
//= remember or figure out, most likely there are errors,
|
//= 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]
|
//= Woopth. Fixed spelling. ;P Should be a bit clearer now. [L0ne_W0lf]
|
||||||
//= 3.17.20080312
|
//= 3.17.20080312
|
||||||
//= Corrected cashshop description. (#FREEPOINTS->#KAFRAPOINTS) [L0ne_W0lf]
|
//= 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
|
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.
|
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.
|
Whew.
|
||||||
That's about all of them.
|
That's about all of them.
|
||||||
|
@ -11635,19 +11635,6 @@ BUILDIN_FUNC(distance)
|
|||||||
return 0;
|
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 mathematics commands
|
||||||
// [zBuffer] List of dynamic var commands --->
|
// [zBuffer] List of dynamic var commands --->
|
||||||
//FIXME: some other functions are using this private function
|
//FIXME: some other functions are using this private function
|
||||||
@ -12994,6 +12981,23 @@ BUILDIN_FUNC(openauction)
|
|||||||
return 0;
|
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.
|
/// Modifies flags of cells in the specified area.
|
||||||
///
|
///
|
||||||
/// setcell "<map name>",<x1>,<y1>,<x2>,<y2>,<type>,<flag>;
|
/// setcell "<map name>",<x1>,<y1>,<x2>,<y2>,<type>,<flag>;
|
||||||
@ -13303,7 +13307,6 @@ struct script_function buildin_func[] = {
|
|||||||
BUILDIN_DEF(sqrt,"i"),
|
BUILDIN_DEF(sqrt,"i"),
|
||||||
BUILDIN_DEF(pow,"ii"),
|
BUILDIN_DEF(pow,"ii"),
|
||||||
BUILDIN_DEF(distance,"iiii"),
|
BUILDIN_DEF(distance,"iiii"),
|
||||||
BUILDIN_DEF(checkcell,"siii"),
|
|
||||||
// <--- [zBuffer] List of mathematics commands
|
// <--- [zBuffer] List of mathematics commands
|
||||||
// [zBuffer] List of dynamic var commands --->
|
// [zBuffer] List of dynamic var commands --->
|
||||||
BUILDIN_DEF(getd,"*"),
|
BUILDIN_DEF(getd,"*"),
|
||||||
@ -13364,6 +13367,7 @@ struct script_function buildin_func[] = {
|
|||||||
BUILDIN_DEF(checkchatting,"*"),
|
BUILDIN_DEF(checkchatting,"*"),
|
||||||
BUILDIN_DEF(openmail,""),
|
BUILDIN_DEF(openmail,""),
|
||||||
BUILDIN_DEF(openauction,""),
|
BUILDIN_DEF(openauction,""),
|
||||||
|
BUILDIN_DEF(checkcell,"siii"),
|
||||||
BUILDIN_DEF(setcell,"siiiiii"),
|
BUILDIN_DEF(setcell,"siiiiii"),
|
||||||
{NULL,NULL,NULL},
|
{NULL,NULL,NULL},
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user