⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textpatch.cpp

📁 idbot08源码
💻 CPP
字号:
#pragma warning( disable : 4786 )
#include "external\D2Client.h"
#include "TextPatch.h"
#include "botfunc.h"
#include <map>

using namespace std;

static map<DWORD,string> _text_patch[MAX_TEXT_PATCH];


BOOL LoadTextPatchConfig()
{
	char filename[MAX_PATH];
	if(!server->GetIniFileName("TextPatch",filename,MAX_PATH))
		return FALSE;

	char sbuf[10000];
	int len=GetPrivateProfileSectionNames(sbuf,sizeof(sbuf),filename);

	char *p=sbuf;
	while(p-sbuf<len && *p)
	{
	
		int type;
		if(strcmp("Unique Name",p)==0) 
		{
			type=D2_TEXT_UNIQUE;
		}
		else if(strcmp("Magic Prefix",p)==0) 
		{
			type=D2_TEXT_MAGICPREFIX;
		}
		else if(strcmp("Magic Suffix",p)==0) 
		{
			type=D2_TEXT_MAGICSUFFIX;
		}
		else if(strcmp("Rare Prefix",p)==0) 
		{
			type=D2_TEXT_RAREPREFIX;
		}
		else if(strcmp("Rare Suffix",p)==0) 
		{
			type=D2_TEXT_RARESUFFIX;
		}
		else if(strcmp("Item Base Name",p)==0)
		{
			type=D2_TEXT_BASENAME;
		}
		else if(strcmp("Set Name",p)==0)
		{
			type=D2_TEXT_SET;
		}
		else if(strcmp("Properties",p)==0)
		{
			type=D2_TEXT_PROPERTIES;
		}
		else type=D2_TEXT_OTHER;

		char kbuf[32000];
		int klen=GetPrivateProfileSection(p,kbuf,sizeof(kbuf),filename);
		char *p1=kbuf;
		while(p1-kbuf<klen && *p1)
		{
			//D2Print(p1);
			char *p2=p1;
			while(*p2!='=') p2++;
			p2++;

			if(type==D2_TEXT_BASENAME)
			{
				_text_patch[type][Code2Number(p1)]=p2;
			}
			else _text_patch[type][atoi(p1)]=p2;

			while(p1-kbuf<klen && *p1)p1++;
			p1++;
		}
		

		while(p-sbuf<len && *p)p++;
		p++;
	}

	return TRUE;
}

string GetTextPatch(DWORD id,DWORD type)
{
	string str=_text_patch[type][id];
	//) return _text_patch[type][id];

	//char buf[20];
	if(str.empty())
	{
		if(!id) return "";

		char buf[20];
		if(type==D2_TEXT_BASENAME)
		{
			buf[0]=*((BYTE*)&id);
			buf[1]=*((BYTE*)&id+1);
			buf[2]=*((BYTE*)&id+2);
			buf[3]=0;
		}
		else if(type==D2_TEXT_PROPERTIES)
		{
			return "";
		}
		else sprintf(buf,"(%d)",id);
		return buf;
	}
	else return str;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -