summaryrefslogtreecommitdiff
path: root/src/emap/scriptdefines.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-08-21 23:22:55 +0300
committerAndrei Karas <akaras@inbox.ru>2015-08-21 23:22:55 +0300
commit4333293820d5c7de27e9e760dfeaadbc1686f2c3 (patch)
tree8b85e0447407cfe6cb58a935c3c27d3dc6c9ed09 /src/emap/scriptdefines.h
parent36fb4cda271bda394b7e5e3b5911c6d9858aa8f8 (diff)
downloadevol-hercules-4333293820d5c7de27e9e760dfeaadbc1686f2c3.tar.gz
evol-hercules-4333293820d5c7de27e9e760dfeaadbc1686f2c3.tar.bz2
evol-hercules-4333293820d5c7de27e9e760dfeaadbc1686f2c3.tar.xz
evol-hercules-4333293820d5c7de27e9e760dfeaadbc1686f2c3.zip
Add script function failedrefindex and some macro.
New function: failedrefindex index index - inventory item index Example: failedrefindex .@itemid;
Diffstat (limited to 'src/emap/scriptdefines.h')
-rw-r--r--src/emap/scriptdefines.h49
1 files changed, 41 insertions, 8 deletions
diff --git a/src/emap/scriptdefines.h b/src/emap/scriptdefines.h
index 2121763..d35f71c 100644
--- a/src/emap/scriptdefines.h
+++ b/src/emap/scriptdefines.h
@@ -7,49 +7,82 @@
#define getSessionDataReturn(def) \
if (!st->rid) \
{ \
+ ShowWarning("!st->rid\n"); \
+ script->reportsrc(st); \
script_pushint(st, def); \
- return true; \
+ return false; \
} \
TBL_PC *sd = script->rid2sd(st); \
if (!sd) \
{ \
+ ShowWarning("player not attached\n"); \
+ script->reportsrc(st); \
script_pushint(st, def); \
- return true; \
+ return false; \
} \
struct SessionExt *data = session_get(sd->fd)
#define getSessionData(data) \
if (!st->rid) \
- return true; \
+ { \
+ ShowWarning("!st->rid\n"); \
+ script->reportsrc(st); \
+ return false; \
+ } \
TBL_PC *sd = script->rid2sd(st); \
if (!sd) \
- return true; \
+ { \
+ ShowWarning("player not attached\n"); \
+ script->reportsrc(st); \
+ return false; \
+ } \
struct SessionExt *data = session_get(sd->fd)
#define getMapData(m) \
struct MapdExt *mapData = mapd_get(m); \
if (!mapData) \
- return true;
+ { \
+ ShowWarning("cant get map data\n"); \
+ script->reportsrc(st); \
+ return false; \
+ }
#define getMapDataReturn(m, def) \
struct MapdExt *mapData = mapd_get(m); \
if (!mapData) \
{ \
+ ShowWarning("cant get map data\n"); \
+ script->reportsrc(st); \
script_pushint(st, def); \
- return true; \
+ return false; \
}
#define getSD() \
TBL_PC *sd = script->rid2sd(st); \
if (!sd) \
- return true
+ { \
+ ShowWarning("player not attached\n"); \
+ script->reportsrc(st); \
+ return false; \
+ }
#define getSDReturn(def) \
TBL_PC *sd = script->rid2sd(st); \
if (!sd) \
{ \
+ ShowWarning("player not attached\n"); \
+ script->reportsrc(st); \
script_pushint(st, def); \
- return true; \
+ return false; \
+ }
+
+#define getInventoryIndex(idx) \
+ const int n = script_getnum(st, idx); \
+ if (n < 0 || n >= MAX_INVENTORY) \
+ { \
+ ShowWarning("Wrong inventory index\n"); \
+ script->reportsrc(st); \
+ return false; \
}
#endif // EVOL_MAP_SCRIPTDEFINES