#include #include #include "char.h" #include "readmap.h" #include "map_deal.h" #include "char_base.h" #include "enemy.h" #include "mylua/base.h" #include "lua.h" #include "lauxlib.h" #include "lualib.h" #include "lssproto_serv.h" #ifdef _ALLBLUES_LUA #ifdef _ALLBLUES_LUA_1_4 static CharBase EnemytempBaseInt[] = { {{"编号"}, E_T_TEMPNO} ,{{"初始值"}, E_T_INITNUM} ,{{"成长率"}, E_T_LVUPPOINT} ,{{"体力"}, E_T_BASEVITAL} ,{{"腕力"}, E_T_BASESTR} ,{{"耐力"}, E_T_BASETGH} ,{{"速度"}, E_T_BASEDEX} ,{{"智能"}, E_T_MODAI} ,{{"给"}, E_T_GET} ,{{"地"}, E_T_EARTHAT} ,{{"水"}, E_T_WATERAT} ,{{"火"}, E_T_FIREAT} ,{{"风"}, E_T_WINDAT} ,{{"毒抗"}, E_T_POISON} ,{{"麻抗"}, E_T_PARALYSIS} ,{{"睡抗"}, E_T_SLEEP} ,{{"石抗"}, E_T_STONE} ,{{"酒抗"}, E_T_DRUNK} ,{{"混抗"}, E_T_CONFUSION} ,{{"技能1"}, E_T_PETSKILL1} ,{{"技能2"}, E_T_PETSKILL2} ,{{"技能3"}, E_T_PETSKILL3} ,{{"技能4"}, E_T_PETSKILL4} ,{{"技能5"}, E_T_PETSKILL5} ,{{"技能6"}, E_T_PETSKILL6} ,{{"技能7"}, E_T_PETSKILL7} ,{{"罕见"}, E_T_RARE} ,{{"暴击率"}, E_T_CRITICAL} ,{{"反击率"}, E_T_COUNTER} ,{{"技能数"}, E_T_SLOT} ,{{"形象"}, E_T_IMGNUMBER} ,{{"等级限制"}, E_T_LIMITLEVEL} }; static CharBase EnemytempBaseChar[] = { {{"名字"}, E_T_NAME} }; static int getInt (lua_State *L) { const int array = luaL_checkint(L, 1); const int element = getCharBaseValue(L, 2, EnemytempBaseInt, arraysizeof(EnemytempBaseInt)); lua_pushinteger(L, ENEMYTEMP_getInt(array, element)); return 1; } static int getChar (lua_State *L) { const int array = luaL_checkint(L, 1); const int element = getCharBaseValue(L, 2, EnemytempBaseChar, arraysizeof(EnemytempBaseChar)); lua_pushstring(L, ENEMYTEMP_getChar(array, element)); return 1; } static int getEnemyTempArray(lua_State *L) { const int enemyid = luaL_checkint(L, 1); lua_pushinteger(L, ENEMYTEMP_getEnemyTempArray(enemyid)); return 1; } static int getEnemyTempArrayFromTempNo(lua_State *L) { const int array = luaL_checkint(L, 1); lua_pushinteger(L, ENEMYTEMP_getEnemyTempArrayFromTempNo(array)); return 1; } static int getEnemyTempArrayFromInitnum(lua_State *L) { const int array = luaL_checkint(L, 1); lua_pushinteger(L, ENEMYTEMP_getEnemyTempArrayFromInitnum(array)); return 1; } static int getEnemyTempNameFromEnemyID(lua_State *L) { const int enemyid = luaL_checkint(L, 1); int i; for( i = 0; i < ENEMY_getEnemyNum(); i ++ ) { if( ENEMY_getInt( i, ENEMY_ID) == enemyid) { break; } } if( i == ENEMY_getEnemyNum() ){ lua_pushstring(L, ""); return 1; } int tarray = ENEMYTEMP_getEnemyTempArray( i ); if( !ENEMYTEMP_CHECKINDEX( tarray)) { lua_pushstring(L, ""); }else{ lua_pushstring(L, ENEMYTEMP_getChar(tarray, E_T_NAME)); } return 1; } static int getEnemyTempIDFromEnemyID(lua_State *L) { const int enemyid = luaL_checkint(L, 1); int i; for( i = 0; i < ENEMY_getEnemyNum(); i ++ ) { if( ENEMY_getInt( i, ENEMY_ID) == enemyid) { break; } } if( i == ENEMY_getEnemyNum() ){ lua_pushinteger(L, -1); return 1; } lua_pushinteger(L, ENEMY_getInt( i, ENEMY_TEMPNO)); return 1; } static const luaL_Reg enemytemplib[] = { {"getInt", getInt}, {"getChar", getChar}, {"getEnemyTempArray", getEnemyTempArray}, {"getEnemyTempArrayFromTempNo", getEnemyTempArrayFromTempNo}, {"getEnemyTempArrayFromInitnum", getEnemyTempArrayFromInitnum}, {"getEnemyTempNameFromEnemyID", getEnemyTempNameFromEnemyID}, {"getEnemyTempIDFromEnemyID", getEnemyTempIDFromEnemyID}, {NULL, NULL} }; LUALIB_API int luaopen_Enemytemp (lua_State *L) { luaL_register(L, "enemytemp", enemytemplib); return 1; } #endif #endif