源码里添加一个命令战斗解卡功能 - 神奇石器发布网
石器时代发布网 - 神奇石器SF技术交流网 - 业务联系QQ:420004208

源码里添加一个命令战斗解卡功能

  • 内容
  • 相关

有时候我们在战斗中会卡住,这个时候需要使用一个强制退出战斗的命令。

1、首先打开char_talk.c

2、搜索if(messageeraseescape[0] == '/' && messageeraseescape[1] == 'F' && messageeraseescape[2] == 'M'){

3、往下拉看到#endif在下方加上如下代码:

  if(strstr( messageeraseescape, "/解卡") != NULL ){
	 int battleindex = CHAR_getWorkInt(index, CHAR_WORKBATTLEINDEX );
	 int floorid = CHAR_getInt(index, CHAR_FLOOR);

	 	if (floorid == 1042 || floorid == 2032 || floorid == 3032  || floorid == 4032
	 	 || floorid == 5032 || floorid == 6032 || floorid == 7032 || floorid == 8032 
	 	 || floorid == 9032){
	 		CHAR_talkToCli( index, -1, "此地图无法强制退出战斗!", CHAR_COLORRED);
	 		return;
	 	}
	
	if( CHAR_getWorkInt(index, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE ){
			CHAR_talkToCli( index, -1, "未战斗无法强制退出战斗!", CHAR_COLORRED);
	 		return;
	}
	
	if(BattleArray[battleindex].type == BATTLE_TYPE_P_vs_P)	{
		CHAR_talkToCli( index, -1, "PK中无法强制退出战斗!", CHAR_COLORRED);
		return;
	}

	CHAR_talkToCli(index, -1, "解卡成功!强迫退出战斗!", CHAR_COLORGREEN);
	CHAR_DischargeParty( index, 0);
	CHAR_setWorkInt(index, CHAR_WORKFMPKFLAG, -1);
	CHAR_setWorkInt(index, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );
	CHAR_setWorkInt(index, CHAR_WORKBATTLECOM1, BATTLE_COM_COMPELESCAPE );
	BATTLE_Exit(index, battleindex );
	CHAR_setWorkInt(index, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_NONE );
	lssproto_B_send( getfdFromCharaIndex( index ), "BU" );
	return;
}
battleexit.png


这样只要在战斗中输入/解卡即可强制退出战斗。

版权声明:若无特殊注明,本文皆为《sa60》原创,转载请保留文章出处。

本文链接:源码里添加一个命令战斗解卡功能 - https://www.sa60.com/post-148.html

本文标签:

源码里添加一个命令战斗解卡功能