📄 objnpc.~pas
字号:
unit ObjNpc;
interface
uses
Windows, Classes, SysUtils, StrUtils, ObjBase,Grobal2,SDK,IniFiles;
type
TUpgradeInfo = record //0x40
sUserName :String[14];//0x00
UserItem :TUserItem; //0x10
btDc :Byte; //0x28
btSc :Byte; //0x29
btMc :Byte; //0x2A
btDura :Byte; //0x2B
n2C :Integer;
dtTime :TDateTime; //0x30
dwGetBackTick:LongWord; //0x38
n3C :Integer;
end;
pTUpgradeInfo = ^TUpgradeInfo;
TItemPrice = Record
wIndex :Word;
nPrice :Integer;
end;
pTItemPrice = ^TItemPrice;
TGoods = record //0x1C
sItemName :String[14];
nCount :Integer;
dwRefillTime :LongWord;
dwRefillTick :LongWord;
end;
pTGoods = ^TGoods;
TQuestActionInfo = record //0x1C
nCmdCode :Integer; //0x00
sParam1 :String; //0x04
nParam1 :Integer; //0x08
sParam2 :String; //0x0C
nParam2 :Integer; //0x10
sParam3 :String; //0x14
nParam3 :Integer; //0x18
sParam4 :String;
nParam4 :Integer;
sParam5 :String;
nParam5 :Integer;
sParam6 :String;
nParam6 :Integer;
end;
pTQuestActionInfo = ^TQuestActionInfo;
TQuestConditionInfo = record //0x14
nCmdCode :Integer; //0x00
sParam1 :String; //0x04
nParam1 :Integer; //0x08
sParam2 :String; //0x0C
nParam2 :Integer; //0x10
sParam3 :String;
nParam3 :Integer;
sParam4 :String;
nParam4 :Integer;
sParam5 :String;
nParam5 :Integer;
sParam6 :String;
nParam6 :Integer;
end;
pTQuestConditionInfo = ^TQuestConditionInfo;
TSayingProcedure = record //0x14
ConditionList :TList; //0x00
ActionList :TList; //0x04
sSayMsg :String; //0x08
ElseActionList :TList; //0x0C
sElseSayMsg :String; //0x10
end;
pTSayingProcedure = ^TSayingProcedure;
TSayingRecord = record //0x08
sLabel :String;
ProcedureList :TList; //0x04
boExtJmp :boolean; //是否允许外部跳转
end;
pTSayingRecord = ^TSayingRecord;
TNormNpc = class(TAnimalObject) //0x564
n54C :Integer; //0x54C
m_nFlag :ShortInt; //0x550 //用于标识此NPC是否有效,用于重新加载NPC列表(-1 为无效)
m_ScriptList :TList; //0x554
m_sFilePath :String; //0x558 脚本文件所在目录
m_boIsHide :Boolean; //0x55C 此NPC是否是隐藏的,不显示在地图中
m_boIsQuest :Boolean; //0x55D NPC类型为地图任务型的,加载脚本时的脚本文件名为 角色名-地图号.txt
m_sPath :String; //0x560
mirrorname :string; //被镜像NPC 地图编号 名字
m_bocallboard :boolean;
// byistopnpc: byte;
private
procedure ScriptActionError(PlayObject:TPlayObject;sErrMsg:String;QuestActionInfo:pTQuestActionInfo;sCmd:String);
procedure ScriptConditionError(PlayObject:TPlayObject;QuestConditionInfo: pTQuestConditionInfo;sCmd:String);
procedure ExeAction(PlayObject:TPlayObject;sParam1,sParam2,sParam3:String;nParam1,nParam2,nParam3:Integer);
procedure ActionOfChangeLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMarry(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMaster(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfUnMarry(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfUnMaster(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGiveItem(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfoffline(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGetMarry(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGetMaster(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfClearSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfDelNoJobSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfDelSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfAddSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfADDYSSKILL(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfSkillLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangePkPoint(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeExp(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeCreditPoint(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeJob(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfRecallGroupMembers(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfClearNameList(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMapTing(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMission(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMobPlace(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo;nX,nY,nCount,nRange:Integer);
procedure ActionOfMobPlaceX(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfSetMemberType(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfSetMemberLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGameGold(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGamePoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfYSPOINT(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfJPPOINT(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfADDTASK(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfUpdateTask(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfEndTask(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfYSFENGHAO(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfADDYQ(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfBOOSFS(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfTAKEB(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGROUPMOVE(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfHasTask(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfAutoAddGameGold(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo;nPoint,nTime:integer);
procedure ActionOfAutoSubGameGold(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo;nPoint,nTime:integer);
procedure ActionOfWearColor(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangeHairStyle(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfLineMsg(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeNameColor(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfClearPassword(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfReNewLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeGender(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfKillSlave(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfKillMonExpRate(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfPowerRate(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangeMode(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangePerMission(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfKill(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfKick(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfBonusPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfRestReNewLevel(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfDelMarry(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfDelMaster(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearNeedItems(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearMakeItems(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfUpgradeItems(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfUpgradeItemsEx(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMonGenEx(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearMapMon(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSetMapMode(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfPkZone(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfRestBonusPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfuseBonusPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfUpdateTop(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfCLEARCURMAPMON(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMONSTORAGE(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfFEEDMON(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfcheckitembox(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfdelay(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfhcall(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfrecpos(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionSetArrow(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionClearArrow(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionFENGHAO(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionSETUSEITEMNAME(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionCLONESELF(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionUSESKILL(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionSETOFFLINE(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionSETTIMER(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionFUSHEN(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionCreateYS(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionclearYS(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionDECUSESTIME(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionREPAIRALL(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionCreateGroupLight(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionBODYEFFECT(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionRANDOMX(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfTakeCastleGold(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfHumanHP(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfHumanMP(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildBuildPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildAuraePoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildstabilityPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildFlourishPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfOpenMagicBox(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSetRankLevelName(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGmExecute(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildChiefItemCount(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfAddNameDateList(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfDelNameDateList(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMobFireBurn(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMessageBox(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSetScriptFlag(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfAutoGetExp(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfRecallmob(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfLoadVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSaveVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfCalcVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfQueryvalue(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfQueryNAME(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangeArp(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfbigbag(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangeweather(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangeflag(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfmagicfont(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfmagicfontcolor(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
function ConditionOfCheckGroupCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseDir(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseLevel(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseGender(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseMarry(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckLevelEx(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckSlaveCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCHECKSLAVENAME(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckBonusPoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckAccountIPList(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckNameIPList(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMarry(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMarryCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfHaveMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfPoseHaveMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseIsMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -