?? chatmagic.c.bak
字號(hào):
if( obj != 0 ){ CHAR_talkToCli( charaindex, -1, "有零件。", CHAR_COLORWHITE); return; } if( MAP_walkAbleFromPoint( ff, fx, fy, FALSE ) == FALSE ){ CHAR_talkToCli( charaindex, -1, "無(wú)法走了。", CHAR_COLORWHITE); return; } MAP_setObjData( ff, fx, fy, 3416, 100 );#if 1 { char *stringdata; RECT seekr , retr; seekr.x = fx; seekr.y = fy; seekr.width = 1; seekr.height = 1; stringdata = MAP_getdataFromRECT(ff,&seekr,&retr); if( stringdata ){ if( CHAR_getInt( charaindex , CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ int fd = getfdFromCharaIndex( charaindex ); lssproto_M_send(fd,ff, retr.x,retr.y, retr.x+retr.width,retr.y+retr.height, stringdata ); } } else { } }#endif#endif return ;}void CHAR_CHAT_Fukuwa( int charaindex, char* message ){ int dir, ff, fx, fy, objindex, vs_index, vs_fd, stringlen; OBJECT obj; char szBuffer[2048]; stringlen = strlen( message ); if( message[0] == '[' && message[stringlen-1] == ']' ){ CHAR_talkToCli( charaindex, -1, "語(yǔ)言沒(méi)有轉(zhuǎn)換。", CHAR_COLORWHITE); return ; } ff = CHAR_getInt( charaindex, CHAR_FLOOR ); fx = CHAR_getInt( charaindex, CHAR_X ); fy = CHAR_getInt( charaindex, CHAR_Y ); dir = CHAR_getInt( charaindex, CHAR_DIR ); fx += CHAR_getDX(dir); fy += CHAR_getDY(dir); stringlen = strlen( message ); snprintf( szBuffer, sizeof( szBuffer ), "P|%s", message ); for( obj=MAP_getTopObj( ff, fx, fy ); obj; obj=NEXT_OBJECT(obj) ){ objindex = GET_OBJINDEX(obj); if( OBJECT_getType(objindex) != OBJTYPE_CHARA )continue; vs_index = OBJECT_getIndex(objindex); vs_fd = getfdFromCharaIndex( vs_index ); CHAR_Talk( vs_fd, vs_index, szBuffer, CHAR_COLORWHITE, 3 ); break; }}void CHAR_CHAT_DEBUG_superman( int charaindex, char* message ){#define CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF 100000 int i; char hp[15]; char cdkey[CDKEYLEN]; char token[255]; int playernum = CHAR_getPlayerMaxNum(); easyGetTokenFromString( message , 1 , hp, sizeof(hp)); easyGetTokenFromString( message , 2 , cdkey, sizeof(cdkey)); if(strlen(cdkey)>0){ for(i=0;i<playernum;i++){ if(CHAR_CHECKINDEX(i) == FALSE) continue; if(!strcmp( CHAR_getChar( i, CHAR_CDKEY), cdkey)) { break; } } if (i>=playernum) { CHAR_talkToCli( charaindex, -1, "此賬號(hào)不在線~", CHAR_COLORYELLOW ); return; } CHAR_setInt(charaindex,CHAR_SKILLUPPOINT, 32); CHAR_Skillupsend(charaindex); CHAR_setInt( charaindex , CHAR_HP, CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF); CHAR_setInt( charaindex , CHAR_MP,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_MAXMP,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_STR,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_TOUGH,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_DEX , CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex,CHAR_LV, 200); CHAR_complianceParameter( charaindex ); CHAR_sendStatusString( charaindex , "P"); sprintf( token, "[GM]%s把你為超人狀態(tài)!", CHAR_getChar( charaindex, CHAR_NAME)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); sprintf( token, "玩家%s設(shè)置為超人狀態(tài)!", CHAR_getChar( i, CHAR_NAME)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt(charaindex,CHAR_SKILLUPPOINT, 32); CHAR_Skillupsend(charaindex); CHAR_setInt( charaindex , CHAR_HP, CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF); CHAR_setInt( charaindex , CHAR_MP,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_MAXMP,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_STR,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_TOUGH,CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex , CHAR_DEX , CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF ); CHAR_setInt( charaindex,CHAR_LV, 200); CHAR_complianceParameter( charaindex ); CHAR_sendStatusString( charaindex , "P"); CHAR_talkToCli( charaindex, -1,"設(shè)置超人狀態(tài)!", CHAR_COLORYELLOW ); }#undef CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF}void CHAR_CHAT_printcount( int charaindex, char* message ){ char msgbuf[512]; snprintf( msgbuf,sizeof( msgbuf), "你說(shuō)了 %d 次話,走了 %d 步路,死了 %d 次", CHAR_getInt( charaindex, CHAR_TALKCOUNT), CHAR_getInt( charaindex, CHAR_WALKCOUNT), CHAR_getInt( charaindex, CHAR_DEADCOUNT) ); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORWHITE);}void CHAR_CHAT_DEBUG_battlein( int charaindex, char* message ){ int fd = getfdFromCharaIndex( charaindex ); if( fd != -1) { lssproto_EN_recv( fd, CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y)); }}void CHAR_CHAT_DEBUG_battleout( int charaindex, char* message ){ BATTLE_WatchStop( charaindex );}void CHAR_CHAT_DEBUG_petmake( int charaindex, char* message ){ int ret; int enemynum; int enemyid; int i,j; int level=-1; char buf[10]; char cdkey[CDKEYLEN]; char token[255]; int playernum = CHAR_getPlayerMaxNum(); easyGetTokenFromString( message , 1 , buf, sizeof(buf)); enemyid=atoi(buf); easyGetTokenFromString( message , 2 , buf, sizeof(buf)); level=atoi(buf); easyGetTokenFromString( message , 3 , cdkey, sizeof(cdkey)); if(strlen(cdkey)>0){ for(j=0;j<playernum;j++){ if(CHAR_CHECKINDEX(j) == FALSE) continue; if(!strcmp( CHAR_getChar( j, CHAR_CDKEY), cdkey)) { break; } } if (j>=playernum) { CHAR_talkToCli( charaindex, -1, "此賬號(hào)不在線~", CHAR_COLORYELLOW ); return; } enemynum = ENEMY_getEnemyNum(); for( i = 0; i < enemynum; i ++ ) { if( ENEMY_getInt( i, ENEMY_ID) == enemyid) { break; } } if( i == enemynum )return; ret = ENEMY_createPetFromEnemyIndex( j, i); if( !CHAR_CHECKINDEX( ret))return; snprintf( token,sizeof( token), "寵物制作成功\!",ret); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); sprintf( token, "[GM]%s制作了只寵物給你!index[%d]", CHAR_getChar( charaindex, CHAR_NAME),ret); CHAR_talkToCli( j, -1, token, CHAR_COLORYELLOW ); sprintf( token, "給玩家%s的寵物制作成功!index[%d]", CHAR_getChar( j, CHAR_NAME),ret); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ if( CHAR_getCharPet( j, i ) == ret )break; } if( i == CHAR_MAXPETHAVE )i = 0; if( CHAR_CHECKINDEX( ret ) == TRUE ){ CHAR_setMaxExpFromLevel( ret, CHAR_getInt( ret, CHAR_LV )); } if( level != -1 ){ if( level > 200 ) level = 200; if( level < 0 ) level = 0; level = level - CHAR_getInt( ret, CHAR_LV ); if( level > 0 ){ int k; for( k = 1; k <= level; k ++ ){ //升級(jí) CHAR_PetLevelUp( ret ); CHAR_PetAddVariableAi( ret, AI_FIX_PETLEVELUP ); CHAR_setInt( ret, CHAR_LV, CHAR_getInt( ret, CHAR_LV) +1 ); } } } snprintf( token, sizeof( token ), "K%d", i ); CHAR_sendStatusString( j, token ); snprintf( token, sizeof( token ), "W%d", i ); CHAR_sendStatusString( j, token ); }else{ enemynum = ENEMY_getEnemyNum(); for( i = 0; i < enemynum; i ++ ) { if( ENEMY_getInt( i, ENEMY_ID) == enemyid) { break; } } if( i == enemynum )return; ret = ENEMY_createPetFromEnemyIndex(charaindex, i); if( !CHAR_CHECKINDEX( ret))return; snprintf( token,sizeof( token), "寵物制作成功\!index[%d]",ret); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ if( CHAR_getCharPet( charaindex, i ) == ret )break; } if( i == CHAR_MAXPETHAVE )i = 0; if( CHAR_CHECKINDEX( ret ) == TRUE ){ CHAR_setMaxExpFromLevel( ret, CHAR_getInt( ret, CHAR_LV )); } if( level != -1 ){ if( level > 200 ) level = 200; if( level < 0 ) level = 0; level = level - CHAR_getInt( ret, CHAR_LV ); if( level > 0 ){ int k; for( k = 1; k <= level; k ++ ){ //升級(jí) CHAR_PetLevelUp( ret ); CHAR_PetAddVariableAi( ret, AI_FIX_PETLEVELUP ); CHAR_setInt( ret, CHAR_LV, CHAR_getInt( ret, CHAR_LV) +1 ); } } } snprintf( token, sizeof( token ), "K%d", i ); CHAR_sendStatusString( charaindex, token ); snprintf( token, sizeof( token ), "W%d", i ); CHAR_sendStatusString( charaindex, token ); }}void CHAR_CHAT_DEBUG_deletepet( int charaindex, char* message ){ int i, pindex; char category[12]; int playernum = CHAR_getPlayerMaxNum(); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ) { pindex = CHAR_getCharPet( charaindex, i); if( CHAR_CHECKINDEX( pindex)) { CHAR_endCharOneArray( pindex ); CHAR_setCharPet( charaindex, i, -1); snprintf( category, sizeof( category), "K%d",i); CHAR_sendStatusString( charaindex, category ); snprintf( category, sizeof( category), "W%d",i); CHAR_sendStatusString( charaindex, category ); } } CHAR_talkToCli( charaindex, -1, "清除身上所有寵物。", CHAR_COLORWHITE);}#define MAXMESS_LISTNUM 8#define ALLRESET (MAXMESS_LISTNUM - 1)void CHAR_CHAT_DEBUG_reset( int charaindex, char* message ){ int i; char mess[MAXMESS_LISTNUM][256]={ "enemy", "encount", "magic", "warppoint", "petskill", "pettalk", "npc", "all"}; for( i=0; i<MAXMESS_LISTNUM; i++){ if( !strcmp( mess[i], message) ) break; } if( i >= MAXMESS_LISTNUM ){ CHAR_talkToCli( charaindex, -1, "指令錯(cuò)誤", CHAR_COLORRED);//CHAR_COLORYELLOW return; } switch( i){ case ALLRESET: case 0: if( !ENEMYTEMP_reinitEnemy() || !ENEMY_reinitEnemy() ){ CHAR_talkToCli( charaindex, -1, "重新讀取敵人基本資料失敗。", CHAR_COLORRED); return; } if( i != ALLRESET ) break; case 1: if( !GROUP_reinitGroup() || !ENCOUNT_reinitEncount() ){ CHAR_talkToCli( charaindex, -1, "重新讀取遭遇團(tuán)隊(duì)資料失敗。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 2: if( !MAGIC_reinitMagic() || !ATTMAGIC_reinitMagic() ) { CHAR_talkToCli( charaindex, -1, "重新讀取咒術(shù)資料失敗。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 3: MAPPOINT_resetMapWarpPoint( 1); if( !MAPPOINT_loadMapWarpPoint() ){ CHAR_talkToCli( charaindex, -1, "重新讀取跳躍點(diǎn)資料失敗。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 4: if( !PETSKILL_reinitPetskill() ) { CHAR_talkToCli( charaindex, -1, "重新讀取寵物技能資料失敗。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 5: LoadPetTalk(); if( i != ALLRESET ) break; break; case 6: CHAR_talkToCli( charaindex, -1, "未開(kāi)放", CHAR_COLORRED); return; if( i != ALLRESET ) break; break; } CHAR_talkToCli( charaindex, -1, "重新讀取游戲資料。", CHAR_COLORYELLOW);}void CHAR_CHAT_DEBUG_enemyrestart( int charaindex, char* message ){ if( ENEMYTEMP_reinitEnemy()) { CHAR_talkToCli( charaindex, -1, "再次讀取敵人基本資料。", CHAR_COLORWHITE); }else { CHAR_talkToCli( charaindex, -1, "再次讀取敵人基本資料失敗。", CHAR_COLORWHITE); } if( ENEMY_reinitEnemy()) { CHAR_talkToCli( charaindex, -1, "再次讀取敵人資料。", CHAR_COLORWHITE); }else { CHAR_talkToCli( charaindex, -1, "再次讀取敵人基本資料失敗。", CHAR_COLORWHITE); } if( GROUP_reinitGroup()) { CHAR_talkToCli( charaindex, -1, "再次讀取團(tuán)隊(duì)資料。", CHAR_COLORWHITE); }else { CHAR_talkToCli( charaindex, -1, "再次讀取團(tuán)隊(duì)資料失敗。", CHAR_COLORWHITE); } if( ENCOUNT_reinitEncount()) { CHAR_talkToCli( charaindex, -1, "再次讀取遭遇資料。", CHAR_COLORWHITE); } else { CHAR_talkToCli( charaindex, -1, "再次讀取遭遇資料失敗。", CHAR_COLORWHITE); } if( MAGIC_reinitMagic()) { CHAR_talkToCli( charaindex, -1, "再次讀取咒術(shù)資料。", CHAR_COLORWHITE); } else { CHAR_talkToCli( charaindex, -1, "再次讀取咒術(shù)資料失敗。", CHAR_COLORWHITE); }#ifdef __ATTACK_MAGIC if( ATTMAGIC_reinitMagic() ) CHAR_talkToCli( charaindex , -1 , "再次讀取咒術(shù)資料。" , CHAR_COLORWHITE ); else CHAR_talkToCli( charaindex , -1 , "再次讀取咒術(shù)資料失敗。" , CHAR_COLORWHITE );#endif if( PETSKILL_reinitPetskill()) { CHAR_talkToCli( charaindex, -1, "再次讀取寵物技能資料。", CHAR_COLORWHITE); } else { CHAR_talkToCli( charaindex, -1, "再次讀取寵物技能資料失敗。", CHAR_COLORWHITE); } LoadPetTalk(); // Arminius 8.15 pet talk CHAR_talkToCli( charaindex, -1, "再次讀取寵物講話資料。", CHAR_COLORWHITE);}void CHAR_CHAT_DEBUG_battlewatch( int charaindex, char* message ){ int fd = getfdFromCharaIndex( charaindex ); if( fd != -1) { lssproto_LB_recv( fd, CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y));
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -