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

📄 objnpc.~pas

📁 继续更新AFT源代码 现在解决了无法登陆游戏的问题 用0504的dbserver就可以登陆了 去掉了绿字广告 降低内存占用HOO 去掉了大量的验证问题
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
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 + -