?? function.c
字號:
{ {"StoryTellerInit"} , NPC_StoryTellerInit , 0 }, { {"StoryTellerTalked"} , NPC_StoryTellerTalked , 0 }, /* NPCEnemy */ { {"NPCEnemyInit"} , NPC_NPCEnemyInit , 0 }, { {"NPCEnemyTalked"} , NPC_NPCEnemyTalked , 0 }, { {"NPCEnemyWatch"} , NPC_NPCEnemyWatch , 0 }, { {"NPCEnemyLoop"}, NPC_NPCEnemyLoop, 0 }, { {"NPCEnemyWindowTalked"}, NPC_NPCEnemyWindowTalked, 0 }, /* 失弁撲亦件楝 */ { {"ActionInit"} , NPC_ActionInit , 0 }, { {"ActionTalked"} , NPC_ActionTalked , 0 }, { {"ActionWatch"} , NPC_ActionWatch , 0 }, /* 它奴件玉它楝 */ { {"WindowmanInit"} , NPC_WindowmanInit , 0 }, { {"WindowmanTalked"} , NPC_WindowmanTalked , 0 }, { {"WindowmanLooked"}, NPC_WindowmanLooked, 0 }, { {"WindowmanWindowTalked"}, NPC_WindowmanWindowTalked, 0 }, /* 它奴件玉它甲□仿□ */ { {"WindowHealerInit"} , NPC_WindowHealerInit , 0 }, { {"WindowHealerTalked"} , NPC_WindowHealerTalked, 0 }, { {"WindowHealerLooked"} , NPC_WindowHealerLooked, 0 }, { {"WindowHealerWindowTalked"}, NPC_WindowHealerWindowTalked, 0 }, /* 失奶 丞盒 */ { {"ItemShopInit"} , NPC_ItemShopInit , 0 }, { {"ItemShopTalked"} , NPC_ItemShopTalked , 0 }, { {"ItemShopWindowTalked"}, NPC_ItemShopWindowTalked, 0 }, /* Sysinfo */ { {"SysinfoInit"}, NPC_SysinfoInit, 0 }, { {"SysinfoLoop"}, NPC_SysinfoLoop, 0 }, { {"SysinfoTalked"} , NPC_SysinfoTalked , 0 }, /* Duel仿件平件弘 憎NPC */ { {"DuelrankingInit"} , NPC_DuelrankingInit , 0 }, { {"DuelrankingLooked"}, NPC_DuelrankingLooked, 0 }, { {"DuelrankingWindowTalked"}, NPC_DuelrankingWindowTalked, 0 },#ifdef _DEATH_CONTEND { {"Duelrankingloop"}, NPC_Duelrankingloop, 0 },#endif /* 它奴件玉它矢永玄及 盒 */ { {"PetSkillShopInit"} , NPC_PetSkillShopInit , 0 }, { {"PetSkillShopTalked"} , NPC_PetSkillShopTalked, 0 }, { {"PetSkillShopLooked"} , NPC_PetSkillShopLooked, 0 }, { {"PetSkillShopWindowTalked"}, NPC_PetSkillShopWindowTalked, 0 }, /* 它奴件玉它矢永玄 中潸曰盒 */ { {"PetShopInit"} , NPC_PetShopInit, 0 }, { {"PetShopTalked"} , NPC_PetShopTalked, 0 }, { {"PetShopLooked"} , NPC_PetShopLooked, 0 }, { {"PetShopWindowTalked"}, NPC_PetShopWindowTalked,0 }, /* 棗 */ { {"SignBoardInit"} , NPC_SignBoardInit, 0 }, { {"SignBoardLooked"} , NPC_SignBoardLooked, 0 }, { {"SignBoardWindowTalked"}, NPC_SignBoardWindowTalked, 0 }, /*伐□皿穴件 */ { {"WarpManInit"}, NPC_WarpManInit, 0 }, { {"WarpManTalked"}, NPC_WarpManTalked, 0 }, { {"WarpManWatch"}, NPC_WarpManWatch, 0 }, { {"WarpManLoop"} , NPC_WarpManLoop, 0 }, { {"WarpManWindowTalked"}, NPC_WarpManWindowTalked,0 }, /*奶矛件玄楝 exchangeman) */ { {"ExChangeManInit"}, NPC_ExChangeManInit, 0 }, { {"ExChangeManTalked"}, NPC_ExChangeManTalked, 0 }, { {"ExChangeManWindowTalked"}, NPC_ExChangeManWindowTalked,0 }, /*正奶丞穴件 */ { {"TimeManInit"}, NPC_TimeManInit, 0 }, { {"TimeManTalked"}, NPC_TimeManTalked, 0 }, { {"TimeManWatch"} , NPC_TimeManWatch , 0 }, /* 示犯奴仿件必□斥 */ { {"BodyLanInit"}, NPC_BodyLanInit, 0 }, { {"BodyLanTalked"}, NPC_BodyLanTalked, 0 }, { {"BodyLanWatch"} , NPC_BodyLanWatch , 0 }, { {"BodyLanWindowTalked"} , NPC_BodyLanWindowTalked,0 }, /* 穴奶弁 */ { {"MicInit"}, NPC_MicInit, 0 }, { {"MicTalked"}, NPC_MicTalked, 0 }, /* 仿永平□穴件 */ { {"LuckyManInit"} , NPC_LuckyManInit , 0 }, { {"LuckyManTalked"} , NPC_LuckyManTalked, 0 }, { {"LuckyManWindowTalked"}, NPC_LuckyManWindowTalked, 0 }, /* 楝 */ { {"BusInit"} , NPC_BusInit , 0 }, { {"BusTalked"} , NPC_BusTalked , 0 }, { {"BusLoop"} , NPC_BusLoop , 0 }, /* 加美航空 */ // Arminius 7.7 Airplane { {"AirInit"} , NPC_AirInit , 0 }, { {"AirTalked"} , NPC_AirTalked , 0 }, { {"AirLoop"} , NPC_AirLoop , 0 }, /* 楝 */ { {"CharmInit"} , NPC_CharmInit , 0 }, { {"CharmTalked"} , NPC_CharmTalked, 0 }, { {"CharmWindowTalked"}, NPC_CharmWindowTalked, 0 }, { {"PoolItemShopInit"} , NPC_PoolItemShopInit , 0 }, { {"PoolItemShopLoop"} , NPC_PoolItemShopLoop , 0 }, { {"PoolItemShopTalked"} , NPC_PoolItemShopTalked , 0 }, { {"PoolItemShopWindowTalked"}, NPC_PoolItemShopWindowTalked, 0 }, { {"QuizInit"} , NPC_QuizInit , 0 }, { {"QuizTalked"} , NPC_QuizTalked, 0 }, { {"QuizWindowTalked"}, NPC_QuizWindowTalked, 0 }, /* 切之勻仁引氏 */ { {"CheckManInit"} , NPC_CheckManInit , 0 }, { {"CheckManTalked"} , NPC_CheckManTalked, 0 }, { {"CheckManWindowTalked"}, NPC_CheckManWindowTalked, 0 }, /* 元扎氏仃氏楝 */ { {"JankenInit"} , NPC_JankenInit , 0 }, { {"JankenTalked"} , NPC_JankenTalked, 0 }, { {"JankenWindowTalked"}, NPC_JankenWindowTalked, 0 }, /* 鱉戲諦 */ { {"TransmigrationInit"} , NPC_TransmigrationInit , 0 }, { {"TransmigrationTalked"} , NPC_TransmigrationTalked, 0 }, { {"TransmigrationWindowTalked"}, NPC_TransmigrationWindowTalked, 0 }, /* Family man */ { {"FamilymanInit"} , NPC_FamilymanInit , 0 }, { {"FamilymanTalked"} , NPC_FamilymanTalked, 0 }, { {"FamilymanLooked"}, NPC_FamilymanLooked,0 }, { {"FamilymanWindowTalked"}, NPC_FamilymanWindowTalked, 0 }, /* CoolFish: Family WarpMan 2001/6/6 */ { {"FMWarpManInit"}, NPC_FMWarpManInit, 0 }, { {"FMWarpManTalked"}, NPC_FMWarpManTalked, 0 }, { {"FMWarpManLoop"} , NPC_FMWarpManLoop, 0 }, { {"FMWarpManWindowTalked"}, NPC_FMWarpManWindowTalked, 0 }, /* CoolFish: Family PKMan 2001/7/4 */ { {"FMPKManInit"}, NPC_FMPKManInit, 0 }, { {"FMPKManTalked"}, NPC_FMPKManTalked, 0 }, { {"FMPKManWindowTalked"}, NPC_FMPKManWindowTalked, 0 }, /* CoolFish: Family PKCallMan 2001/7/13 */ { {"FMPKCallManInit"}, NPC_FMPKCallManInit, 0 }, { {"FMPKCallManTalked"}, NPC_FMPKCallManTalked, 0 }, { {"FMPKCallManWindowTalked"}, NPC_FMPKCallManWindowTalked, 0 }, /* Bank man */ { {"BankmanInit"} , NPC_BankmanInit , 0 }, { {"BankmanTalked"} , NPC_BankmanTalked, 0 }, { {"BankmanLooked"}, NPC_BankmanLooked,0 }, { {"BankmanWindowTalked"}, NPC_BankmanWindowTalked, 0 }, /* Arminius 7.13 scheduleman */ { {"SchedulemanInit"}, NPC_SchedulemanInit, 0}, { {"SchedulemanTalked"}, NPC_SchedulemanTalked, 0}, { {"SchedulemanWindowTalked"}, NPC_SchedulemanWindowTalked, 0}, { {"SchedulemanLoop"}, NPC_SchedulemanLoop, 0}, /* Arminius 7.24 manor scheduleman */ { {"ManorSmanInit"}, NPC_ManorSmanInit, 0}, { {"ManorSmanTalked"}, NPC_ManorSmanTalked, 0}, { {"ManorSmanWindowTalked"}, NPC_ManorSmanWindowTalked, 0}, { {"ManorSmanLoop"}, NPC_ManorSmanLoop, 0}, /* Rider man */ { {"RidermanInit"} , NPC_RidermanInit , 0 }, { {"RidermanTalked"} , NPC_RidermanTalked, 0 }, { {"RidermanLooked"}, NPC_RidermanLooked,0 }, { {"RidermanWindowTalked"}, NPC_RidermanWindowTalked, 0 }, /* FmLetter man */ { {"FmLetterInit"} , NPC_FmLetterInit , 0 }, { {"FmLetterTalked"} , NPC_FmLetterTalked, 0 }, { {"FmLetterLooked"}, NPC_FmLetterLooked,0 }, { {"FmLetterWindowTalked"}, NPC_FmLetterWindowTalked, 0 },#ifdef _SERVICE // Terry 2001/08/31 // 石器服務員 StoneServiceMan { {"StoneServiceManInit"}, NPC_StoneServiceManInit,0}, { {"StoneServiceManLoop"}, NPC_StoneServiceManLoop,0}, { {"StoneServiceManTalked"}, NPC_StoneServiceManTalked,0}, { {"StoneServiceManWindowTalked"}, NPC_StoneServiceManWindowTalked,0},#endif #ifdef _GAMBLE_BANK //銀行 { {"GambleBankInit"}, NPC_GambleBankInit, 0}, { {"GambleBankLoop"}, NPC_GambleBankLoop,0}, { {"GambleBankTalked"}, NPC_GambleBankTalked,0}, { {"GambleBankWindowTalked"}, NPC_GambleBankWindowTalked,0},#endif#ifdef _PET_LIMITLEVEL { {"ITEM_useOtherEditBase"}, ITEM_useOtherEditBase, 0},#endif#ifdef _ITEM_EDITBASES { {"ITEM_useFusionEditBase"}, ITEM_useFusionEditBase, 0},#endif#ifdef _GAMBLE_ROULETTE //賭場輪盤 { {"GambleRouletteInit"}, NPC_Gamble_RouletteInit, 0}, { {"GambleRouletteLoop"}, NPC_Gamble_RouletteLoop, 0}, { {"GambleRouletteTalked"}, NPC_Gamble_RouletteTalked, 0}, { {"GambleRouletteWindowTalked"}, NPC_Gamble_RouletteWindowTalked, 0}, { {"GambleMasterInit"}, NPC_Gamble_MasterInit, 0}, { {"GambleMasterLoop"}, NPC_Gamble_MasterLoop, 0}, { {"GambleMasterTalked"}, NPC_Gamble_MasterTalked, 0}, { {"GambleMasterWindowTalked"}, NPC_Gamble_MasterWindowTalked, 0},#endif#ifdef _TRANSER_MAN { {"TranserManInit"}, NPC_TranserManInit, 0 }, { {"TranserManTalked"}, NPC_TranserManTalked, 0 }, { {"TranserManLoop"} , NPC_TranserManLoop, 0 }, { {"TranserManWindowTalked"}, NPC_TranserManWindowTalked, 0 },#endif#ifdef _NPC_SELLSTH { {"SellsthManInit"}, NPC_SellsthManInit, 0 }, { {"SellsthManTalked"}, NPC_SellsthManTalked, 0 }, { {"SellsthManLoop"} , NPC_SellsthManLoop, 0 }, { {"SellsthManWindowTalked"}, NPC_SellsthManWindowTalked, 0 },#endif#ifdef _NPC_MAKEPAIR { {"MakePairManInit"}, NPC_MakePairManInit, 0 }, { {"MakePairManTalked"}, NPC_MakePairManTalked, 0 }, { {"MakePairManLoop"} , NPC_MakePairManLoop, 0 }, { {"MakePairManWindowTalked"}, NPC_MakePairManWindowTalked,0 },#endif#ifdef _NPC_FUSION { {"PetFusionManInit"}, NPC_PetFusionManInit, 0 }, { {"PetFusionManTalked"}, NPC_PetFusionManTalked, 0 }, { {"PetFusionManLoop"} , NPC_PetFusionManLoop, 0 }, { {"PetFusionManWindowTalked"}, NPC_PetFusionManWindowTalked,0 },#endif#ifdef _PAUCTION_MAN { {"PauctionManInit"}, NPC_PauctionManInit, 0 }, { {"PauctionManTalked"}, NPC_PauctionManTalked, 0 }, { {"PauctionManLoop"} , NPC_PauctionManLoop, 0 }, { {"PauctionManWindowTalked"}, NPC_PauctionManWindowTalked, 0 },#endif#ifdef _ITEM_NPCCHANGE { {"ItemchangeManInit"}, NPC_ItemchangeManInit, 0 }, { {"ItemchangeManTalked"}, NPC_ItemchangeManTalked, 0 }, { {"ItemchangeManLoop"} , NPC_ItemchangeManLoop, 0 }, { {"ItemchangeManWindowTalked"}, NPC_ItemchangeManWindowTalked, 0 },#endif#ifdef _CFREE_petskill { {"FreePetSkillInit"} , NPC_FreePetSkillShopInit, 0 }, { {"FreePetSkillTalked"} , NPC_FreePetSkillShopTalked, 0 }, { {"FreePetSkillWindowTalked"}, NPC_FreePetSkillShopWindowTalked, 0 },#endif#ifdef _PETRACE // 寵物競速 { {"PetRaceMasterInit"}, NPC_PetRaceMasterInit, 0}, { {"PetRaceMasterLoop"}, NPC_PetRaceMasterLoop, 0}, { {"PetRaceMasterTalked"}, NPC_PetRaceMasterTalked, 0}, { {"PetRaceMasterWindowTalked"}, NPC_PetRaceMasterWindowTalked, 0}, { {"PetRacePetInit"}, NPC_PetRacePetInit, 0}, { {"PetRacePetLoop"}, NPC_PetRacePetLoop, 0}, { {"PetRacePetTalked"}, NPC_PetRacePetTalked, 0},#endif#ifdef _NEW_WARPMAN { {"NewNpcManInit"}, NPC_NewNpcManInit, 0}, { {"NewNpcManLoop"}, NPC_NewNpcManLoop, 0}, { {"NewNpcManTalked"}, NPC_NewNpcManTalked, 0}, { {"NewNpcManWindowTalked"}, NPC_NewNpcManWindowTalked, 0},#endif#ifdef _MARKET_TRADE { {"MapTradeManInit"}, MapTradeManInit, 0}, { {"MapTradeManLoop"}, MapTradeManLoop, 0}, { {"MapTradeManTalked"}, MapTradeManTalked, 0}, { {"MapTradeManWindowTalked"}, MapTradeManWindowTalked, 0},#endif#ifdef _AUCTIONEER { {"AuctioneerInit"}, NPC_AuctioneerInit, 0}, { {"AuctioneerTalked"}, NPC_AuctioneerTalked, 0}, { {"AuctioneerWindowTalked"}, NPC_AuctioneerWindowTalked, 0}, { {"AuctioneerLoop"}, NPC_AuctioneerLoop, 0},#endif#ifdef _BLACK_MARKET { {"BlackMarketInit"}, NPC_BlackMarketInit, 0}, { {"BlackMarketTalked"}, NPC_BlackMarketTalked, 0}, { {"BlackMarketWindowTalked"}, NPC_BlackMarketWindowTalked, 0},#endif#ifdef _ALLDOMAN // (不可開) Syu ADD 排行榜NPC { {"AlldomanInit"} , NPC_AlldomanInit, 0 }, { {"AlldomanTalked"} , NPC_AlldomanTalked , 0 }, { {"AlldomanWindowTalked"}, NPC_AlldomanWindowTalked , 0},#endif#ifdef _NPC_WELFARE { {"WelfareInit"} , NPC_WelfareInit, 0 }, { {"WelfareTalked"} , NPC_WelfareTalked , 0 }, { {"WelfareWindowTalked"}, NPC_WelfareWindowTalked , 0},#endif#ifdef _NPC_WELFARE_2 // WON ADD 職業NPC-2 { {"WelfareInit2"} , NPC_WelfareInit2, 0 }, { {"WelfareTalked2"} , NPC_WelfareTalked2, 0 }, { {"WelfareWindowTalked2"}, NPC_WelfareWindowTalked2, 0},#endif #ifdef _NPC_VERYWELFARE { {"VeryWelfareInit"} , NPC_VeryWelfareInit, 0 }, { {"VeryWelfareTalked"} , NPC_VeryWelfareTalked , 0 }, { {"VeryWelfareWindowTalked"}, NPC_VeryWelfareWindowTalked , 0},#endif#ifdef _CONTRACT { {"ITEM_contract"}, ITEM_contract, 0},#endif#ifdef _TIME_TICKET { {"ITEM_timeticket"}, ITEM_timeticket, 0},#endif#ifdef _RACEMAN { {"RacemanInit"} ,NPC_RacemanInit, 0 }, { {"RacemanTalked"} ,NPC_RacemanTalked, 0 }, { {"RacemanWindowTalked"},NPC_RacemanWindowTalked ,0 },#endif#ifdef _ITEM_SETLOVER // 結婚物品 { {"ITEM_SetLoverUser"}, ITEM_SetLoverUser, 0 }, { {"ITEM_LoverWarp"}, ITEM_LoverWarp, 0 }, { {"ITEM_LoverUnmarry"}, ITEM_LoverUnmarry, 0 },#endif#ifdef _GM_ITEM // GM命令物品 { {"ITEM_GMFUNCTION"}, ITEM_GMFUNCTION, 0 },#endif};BOOL initFunctionTable( void ){ int i; { char* strings[arraysizeof(correspondStringAndFunctionTable)]; int stringnum=0; for( i=0 ; i<arraysizeof(correspondStringAndFunctionTable) ; i++ ) strings[stringnum++] = correspondStringAndFunctionTable[i].functionName.string; if( ! checkStringsUnique( strings, stringnum , 1 ) ){ fprint("Function Name Table is overlapped.\n" ); fprint("It is not allowed\n"); return FALSE; } } for(i = 0; i < arraysizeof(correspondStringAndFunctionTable) ; i ++ ){ correspondStringAndFunctionTable[i].hashcode = hashpjw( correspondStringAndFunctionTable[i]. functionName.string); } return TRUE;}void* getFunctionPointerFromName( char* funcname ){ int i; int hashcode; if( funcname == NULL || funcname[0] == '\0' ){ return NULL; } hashcode = hashpjw( funcname ); for( i=0 ; i<arraysizeof(correspondStringAndFunctionTable) ; i++ ) if( correspondStringAndFunctionTable[i].hashcode == hashcode ) if( strcmp( correspondStringAndFunctionTable[i].functionName.string,funcname ) == 0 ){ DebugFunctionName = correspondStringAndFunctionTable[i].functionName.string; return correspondStringAndFunctionTable[i].functionPointer; }#ifdef DEBUG print("No such Function: %s\n" ,funcname );#endif return NULL;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -