summaryrefslogtreecommitdiff
path: root/src/emap/scriptdefines.h
diff options
context:
space:
mode:
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