📄 textpatch.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 + -