📄 common.pas
字号:
end;//------------------------------------------------------------------------------// 僗僉儖僨乕僞type TSkill = class Lv :word; Card :boolean; Plag :boolean; //Up :byte; Tick :cardinal; //帪娫惂尷桳傝偺僗僉儖偺儕儈僢僩 EffectLV :word; //帪娫惂尷桳傝偺僗僉儖偺岠壥LV Effect1 :integer; //帪娫惂尷桳傝偺僗僉儖偺岠壥僨乕僞1 Data :TSkillDB;end;//------------------------------------------------------------------------------type TeNPC = class ID :Cardinal; //ID JID :Word; //(Chara)僕儑僽 (Mob)僗僾儔僀僩 CID :Cardinal; Name :string; //柤慜 Sit :Byte; Data :Pointer; Data2 :Pointer; ASpeed :Word; ADelay :Word; aMotion :Word; dMotion :Word; Speed :Word; //堏摦懍搙[msec/1儅僗] Item :TItemList; Stat1 :Word; //忬懺曄壔1 Stat2 :Word; //忬懺曄壔2 Option :Word; //僆僾僔儑儞(僇乕僩丄傌偙丄戦側偳) BodyTick :Cardinal; //忬懺曄壔1Tick HealthTick :Array[0..4] of Cardinal; //忬懺曄壔2Tick Effect :Array[0..11] of Cardinal; //忬懺曄壔3Tick HPDelay :Array[0..3] of Cardinal; SPDelay :Array[0..3] of Cardinal; HPTick :Cardinal; SPTick :Cardinal; HPRTick :Cardinal; SPRTick :Cardinal; Hair :Word; //(Chara)敮宆 Weapon :Word; //(Chara)晲婍偺尒偨栚 Shield :Word; //(Chara)弬偺尒偨栚 Head1 :Word; //(Chara)摢憰旛-忋抜偺尒偨栚 Head2 :Word; //(Chara)摢憰旛-拞抜偺尒偨栚 Head3 :Word; //(Chara)摢憰旛-壓抜偺尒偨栚 HairColor :Word; //(Chara)敮偺怓 ClothesColor :Word; //(Chara)暈偺怓 HeadDir :Word; //(Chara)摢偺岦偒 GuildID :Word; //(Chara)強懏僊儖僪偺ID __0 :Word; //晄柧1 __1 :Word; //晄柧2 Manner :Word; //(Chara)儅僫乕億僀儞僩 Karma :Word; //(Chara)僇儖儅億僀儞僩 __2 :Byte; //晄柧3 Gender :Byte; //(Chara)惈暿 Map :string; //崱嫃傞儅僢僾 Point :TPoint; //崱嫃傞嵗昗(嵍壓偑(0,0)) Dir :Byte; //岦偒 MData :Pointer; tmpMap :string; NextFlag :boolean; NextPoint :TPoint; tgtPoint :TPoint; //堏摦栚昗嵗昗 ppos :Integer; //path傪偳傟偩偗恑傫偩偐 pcnt :Integer; //path偺宱楬挿 path :Array[0..255] of byte; //僉儍儔偺宱楬(岦偒偱婰榐偝傟偰傑偡) MoveTick :Cardinal; //嵟屻偵1儅僗恑傫偩偲偒偺Tick BaseLV :Word; JobLV :Word; BaseEXP :Cardinal; JobEXP :Cardinal; HP :Integer; //HP MAXHP :Word; //嵟戝HP SP :Integer; //SP MAXSP :Word; //嵟戝SP Param :Array[0..5] of Byte; WeaponType :Array[0..1] of Word; //塃庤嵍庤偦傟偧傟偺晲婍偺僞僀僾 WeaponLv :Array[0..1] of Word; //偦傟偧傟偺晲婍儗儀儖 ArmsFix :Array[0..1] of Word; //塃庤嵍庤廋楙 BaseATK :Word; ATK :Array[0..1] of Word; RefineATK :Array[0..1] of Word; SkillATK :Word; Scale :Byte; Race :Byte; Element :Byte; ATarget :Cardinal; //峌寕懳徾偺ID AData :Pointer; //(Chara)峌寕懳徾偺TMob (Mob)峌寕懳徾偺TChara ATick :Cardinal; //嵟屻偵峌寕偟偨偲偒偺Tick AMode :Byte; DmgTick :Cardinal; //僲僢僋僶僢僋偑夝彍偝傟傞偲偒偺Tick MMode :Byte; MSkill :Word; MUseLV :Word; MTarget :Cardinal; MTargetType :Byte; //AData偺庬椶丅0=to Mob, 1=to Player MPoint :rPoint; MTick :Cardinal; ESkill :Array[0..100] of Word; ESkillLv :Array[0..100] of Word; DmgFixR :Array[0..1] of Array[0..9] of Integer; //庬懓曗惓% 0:峌寕 1:杊屼 DmgFixE :Array[0..1] of Array[0..9] of Integer; //懏惈曗惓% 0:峌寕 1:杊屼 DmgFixS :Array[0..1] of Array[0..2] of Integer; //僒僀僘曗惓% StatePerS1 :Array[0..1] of Array[0..4] of Integer; //曄壔妋棪% StatePerS2 :Array[0..1] of Array[0..4] of Integer; DrainFix :array[0..1] of Integer; //媧廂検 0:HP 1:SP DrainPer :array[0..1] of Integer; //媧廂妋棪 0:HP 1:SP DAPer :Integer; //DA敪摦妋棪 DAFix :Integer; //DA敪摦帪偺2敪崌寁峌寕椡% Arrow :Word; //憰旛拞偺栴偺ID MATK :Integer; DEF1 :integer; //杊屼椡% DEF3 :Integer; //僨傿償傽僀儞僾儘僥僋僔儑儞 MDEF2 :Integer; HIT :Integer; FLEE :Integer; Critical :Word; Lucky :Word; Range :Word; ViewRange :Word; WElement :Array[0..1] of byte; //晲婍懏惈 ATKSplash :Boolean; //9儅僗峌寕end;//------------------------------------------------------------------------------//僉儍儔僋僞乕僨乕僞type TChara = class //edited by The Harbinger -- darkWeiss version //惂屼曄悢 ID :cardinal; Socket :TCustomWinSocket; PData :Pointer; IP :string; Login :byte; //0=僆僼儔僀儞 1=儘乕僪拞 2=僆儞儔僀儞 //chara.txt傛傝儘乕僪丄僙乕僽偡傞僨乕僞 //1峴栚 CID :cardinal; Name :string; Gender :byte; JID :Word; BaseLV :word; BaseEXP :cardinal; StatusPoint :word; JobLV :word; JobEXP :cardinal; SkillPoint :word; PLv :word; Plag :word; Zeny :cardinal; Stat1 :cardinal; //忬懺侾 Stat2 :cardinal; //忬懺俀 Option :cardinal; Optionkeep :cardinal; Hidden :boolean; Paradise :boolean; Karma :cardinal; Manner :cardinal; HP :integer; MAXHP :word; SP :integer; MAXSP :word;{捛壛} MAXHPPer :Word; MAXSPPer :Word;{捛壛僐僐傑偱} Speed :word; Hair :word; _2 :word; _3 :word; Weapon :word; Shield :word; Head1 :word; Head2 :word; Head3 :word; HairColor :word; ClothesColor :word; ParamBase :array[0..5] of word; { STR :byte; AGI :byte; VIT :byte; INT :byte; DEX :byte; LUK :byte; } CharaNumber :byte; _4 :word; Map :string; Point :TPoint; SaveMap :string; SavePoint :TPoint; MemoMap :array[0..2] of string; MemoPoint :array[0..2] of TPoint; //2峴栚 Skill :array[0..335] of TSkill; //3峴栚 Item :array[1..100] of TItem; //4峴栚 Cart :TItemList; //5峴栚 Flag :TStringList; // DefaultSpeed :word; EquipJob :Int64; BaseNextEXP :cardinal; JobNextEXP :cardinal; Weight :cardinal; MaxWeight :cardinal; Bonus :array[0..5] of word; Param :array[0..5] of word; ParamUp :array[0..5] of word; WeaponType :array[0..1] of word; //塃庤嵍庤偦傟偧傟偺晲婍偺僞僀僾{捛壛} WeaponLv :array[0..1] of word; //偦傟偧傟偺晲婍儗儀儖{捛壛僐僐傑偱} ArmsFix :array[0..1] of word; //塃庤嵍庤廋楙 ATK :array[0..1] of array[0..5] of word; //昞帵峌寕椡 ATKFix :array[0..1] of array[0..2] of integer; //揋僒僀僘偵傛傞晲婍曗惓{曄峏} AttPower :Word; //僇乕僪摍偵傛傞壛嶼峌寕椡 DamageFixR :array[0..1] of array[0..9] of Integer; //庬懓曗惓% 0:峌寕 1:杊屼 DamageFixE :array[0..1] of array[0..9] of Integer; //懏惈曗惓% 0:峌寕 1:杊屼 DamageFixS :array[0..2] of Integer; //僒僀僘曗惓%{曄峏僐僐傑偱} DAPer :integer; //DA敪摦妋棪 DAFix :integer; //DA敪摦帪偺2敪崌寁峌寕椡% Arrow :word; //憰旛拞偺栴偺ID MATK1 :integer; MATK2 :integer; MATKFix :integer; DEF1 :integer; //杊屼椡% DEF2 :integer; //杊屼椡- DEF3 :integer; //僨傿償傽僀儞僾儘僥僋僔儑儞 MDEF1 :integer; MDEF2 :integer; HIT :integer; FLEE1 :integer; FLEE2 :integer; Critical :word; Lucky :word; ASpeed :word; ADelay :word; aMotion :word; dMotion :word; MCastTimeFix :byte; //塺彞帪娫曗惓% HPDelay :array[0..3] of cardinal; SPDelay :array[0..3] of cardinal;{捛壛} HPDelayFix :Integer; SPDelayFix :Integer;{捛壛僐僐傑偱} Range :word; WElement :array[0..1] of byte; //晲婍懏惈 HPR :word; //HP夞暅僗僉儖偺夞暅抣 SPR :word; //SP夞暅僗僉儖偺夞暅抣{曄峏} DrainFix :array[0..1] of Integer; //媧廂検 0:HP 1:SP DrainPer :array[0..1] of Integer; //媧廂妋棪 0:HP 1:SP SplashAttack :boolean; //9儅僗峌寕 NoJamstone :boolean; //# 僗僥曄梡 SFixPer1 :array[0..1] of array[0..4] of Integer; //曄壔妋棪% SFixPer2 :array[0..1] of array[0..4] of Integer; BodyTick :Integer; //忬懺侾梡Tick HealthTick :array[0..4] of Integer; //忬懺俀梡Tick{曄峏僐僐傑偱} //張棟梡曄悢 ver2 :word; tmpMap :string; tgtPoint :TPoint; //堏摦愭 HPTick :cardinal; SPTick :cardinal; HPRTick :cardinal; SPRTick :cardinal; SkillTick :cardinal; //師偵僗僉儖偑愗傟傞偲偒偺Tick SkillTickID :word; //師偵偳偺僗僉儖偑愗傟傞偐 MData :Pointer; ppos :integer; pcnt :integer; path :array[0..999] of byte; //僉儍儔偺宱楬(岦偒偱婰榐偝傟偰傑偡) NextFlag :boolean; NextPoint :TPoint; MoveTick :cardinal; PartyName :string; //偙傟傜偼偦偺偆偪僨乕僞僼傽僀儖偐傜撉傓傛偆偵偡傞偙偲 GuildName :string; GuildID :word; ClassName :string;{惛楤NPC婡擻捛壛} EqLock :Boolean; //惛楤梡憰旛儘僢僋{惛楤NPC婡擻捛壛僐僐傑偱}{僠儍僢僩儖乕儉婡擻捛壛} ChatRoomID :cardinal; //僠儍僢僩儖乕儉ID{僠儍僢僩儖乕儉婡擻捛壛僐僐傑偱}{業揦僗僉儖捛壛} VenderID :cardinal; //業揦奐愝ID{業揦僗僉儖捛壛僐僐傑偱}{庢堷婡擻捛壛} DealingID :cardinal; //庢堷拞ID PreDealID :cardinal; //庢堷婓朷ID{庢堷婡擻捛壛僐僐傑偱}{僊儖僪婡擻捛壛} GuildInv :cardinal; //僊儖僪姪桿懳徾僉儍儔 GuildPos :byte; //僊儖僪怑埵僀儞僨僢僋僗{僊儖僪婡擻捛壛僐僐傑偱} Dir :byte; HeadDir :word; Sit :byte; //0:堏摦 1:巰朣 2:嵗傝 3:棫偪 AMode :byte; //0=峌寕拞偱側偄 1=1夞峌寕 2=峌寕偟懕偗傞 3=NPC偲夛榖拞 4=憅屔僆乕僾儞拞 //5=僩儗乕僪拞 ATarget :cardinal; //峌寕懳徾偺ID AData :Pointer; //峌寕懳徾偺TNPC宆僨乕僞 ATick :cardinal; //嵟屻偵峌寕偟偨偲偒偺Tick ScriptStep :integer; //NPC僩乕僋偺僗僥僢僾 DmgTick :cardinal; //僲僢僋僶僢僋 TargetedTick :cardinal; //壗旵偵埻傑傟偰傞偐偺僠僃僢僋偺嵟廔妋擣帪偺Tick TargetedFix :integer; //揋偵埻傑傟偰偺夞旔棪尭彮(1/10%) MMode :byte; MSkill :word; MUseLV :word; MTarget :cardinal; MTargetType :byte; //AData偺庬椶丅0=to Mob, 1=to Player MPoint :rPoint; MTick :cardinal; FieldTick1 :cardinal; FieldTick2 :cardinal; FieldCount :word; FSkill :word; TalkNPCID :cardinal; UseItemID :word;{捛壛} ItemSkill :Boolean; Auto :Word; // 0:柍偟 1:峌寕 2:僗僉儖 4:儖乕僩 8:堏摦 16:捛愓 A_Skill :Word; A_Lv :Word; ActTick :Cardinal;{捛壛僐僐傑偱}{僉儏乕儁僢僩} PetData :Pointer;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -