int NPC_Lua_NLG_UpStateByThird(lua_State *_NLL) { CheckEx(_NLL, 2); CheckIndexNull(_NLL, 1); int TM_Index = (int)lua_tointeger(_NLL, 1); int TM_Flg = (int)lua_tointeger(_NLL, 2); BOOL TM_Ret = CHAR_send_P_StatusString(TM_Index, TM_Flg); LRetBool(_NLL, TM_Ret); }
int NPC_Lua_NLG_DischargeParty(lua_State *_NLL) { CheckEx(_NLL, 1); CheckIndexNull(_NLL, 1); int TM_index = (int)lua_tointeger(_NLL, 1); BOOL TM_Ret = CHAR_DischargeParty( TM_index, 0); LRetBool(_NLL, TM_Ret); }
int NPC_Lua_NLG_Warp(lua_State *_NLL) { CheckEx(_NLL, 4); CheckIndexNull(_NLL, 1); int TM_Index = (int)lua_tointeger(_NLL, 1); int TM_Floor = (int)lua_tointeger(_NLL, 2); int TM_X = (int)lua_tointeger(_NLL, 3); int TM_Y = (int)lua_tointeger(_NLL, 4); BOOL TM_Ret = CHAR_warpToSpecificPoint(TM_Index, TM_Floor, TM_X, TM_Y); LRetBool(_NLL, TM_Ret); }
////////////////////////////////////////////////////////////////////////////// //功能接口 int NPC_Lua_NLG_CheckInFront(lua_State *_NLL) { CheckEx(_NLL, 3); CheckIndexNull(_NLL, 1); CheckIndexNull(_NLL, 2); int TM_SurIndex = (int)lua_tointeger(_NLL, 1); int TM_DesIndex = (int)lua_tointeger(_NLL, 2); int TM_Distance = (int)lua_tointeger(_NLL, 3); BOOL TM_Ret = NPC_Util_charIsInFrontOfChar(TM_SurIndex, TM_DesIndex, TM_Distance); LRetBool(_NLL, TM_Ret); }
int NPC_Lua_NLG_DelItem(lua_State *_NLL) { CheckEx2(_NLL, 2, 3); CheckIndexNull(_NLL, 1); int TM_Index = (int)lua_tointeger(_NLL, 1); int TM_ItemID = (int)lua_tointeger(_NLL, 2); int TM_Num = 1; if(lua_gettop(_NLL) == 3) { TM_Num = (int)lua_tointeger(_NLL, 3); } BOOL TM_Ret = NPC_ActionDoPileDelItem(TM_Index, TM_ItemID, TM_Num); LRetBool(_NLL, TM_Ret); }
//設置數據的接口 int NPC_Lua_Item_SetData(lua_State *_NLL) { CheckEx(_NLL, 3); CheckItemIndexNull(_NLL, 1); int TM_Index = (int)lua_tointeger(_NLL, 1); int TM_Flg = (int)lua_tointeger(_NLL, 2); if(TM_Flg >= 0) { if(TM_Flg < LUA_DATALINE1) { TM_Flg -= LUA_DATALINE0; int TM_IntVal = (int)lua_tointeger(_NLL, 3); int TM_RetInt = API_ITEM_setInt(TM_Index, TM_Flg, TM_IntVal); LRetInt(_NLL, TM_RetInt); }else if(TM_Flg < LUA_DATALINE2) { TM_Flg -= LUA_DATALINE1; char *TM_CharPoint = (char *)lua_tostring(_NLL, 3); BOOL TM_RetBOOL = API_ITEM_setChar(TM_Index, TM_Flg, TM_CharPoint); LRetBool(_NLL, TM_RetBOOL); }else if(TM_Flg < LUA_DATALINE3) { TM_Flg -= LUA_DATALINE2; //if(TM_Flg == ITEM_WORKOBJINDEX || TM_Flg == ITEM_WORKCHARAINDEX) if(TM_Flg == 0 ) { LRetInt(_NLL, 0); } int TM_WorkIntVal = (int)lua_tointeger(_NLL, 3); int TM_RetInt = API_ITEM_setWorkInt(TM_Index, TM_Flg, TM_WorkIntVal); LRetInt(_NLL, TM_RetInt); }else { LRetErrNull(_NLL, "傳入的標誌是錯誤的。"); } } LRetErrNull(_NLL, "傳入的標誌是錯誤的。"); }