You can copy the text, and store in lcoal TXT file
================================================================================================================ Script Command Manual ================================================================================================================ [1] Each line in the script contains one script command at most. The command name is before "()", and the parameters are in the "()". [2] The script command is case-insensitive. [3] Judgement-command(condition-command): if the condition in the judgment-command is true, BOT will execute next command or the commands in "{ }", otherwise BOT will skill executing next command or the commands in "{ }". For example: ItemCount(Scroll of Escape[Id=736],<,1) { Msg(No scroll) Jmp(Return town by foot) } UseItem(Scroll of Escape) Delay(5000) Or ItemCount(Scroll of Escape[Id=736],>=,1) Jmp(Return town by scroll) Msg(No scroll, return town by foot) Note: 1. In the following specification, "jack" is a virtual player name. 2. If you find mistake in this specification or script itself, please write to Customer Service Email. ================================================================================================================ Script Command List ================================================================================================================ The format is like this: Command: Command Parameters, command description, explanation of the paramaters, examples, other specifications of this command. ================================================================================================================ UseSkill: UseSkill(PlayerName, SkillName[Id=XXX]), for example: UseSkill(jack,Attack Aura[Id=77]), if the player name is "self", then means use to the player himself. CharSel: CharSel(player name), select a player, for exmaple: CharSel(jack) MonSel: MonSel(Monster Name[Id=XXX]), select the nearest monster of the specified kind, for example: MonSel(Rabbit[Id=20002]) UseSkill2: UseSkill2(Skill Name[Id=XXX), use specified skill to selected obj CanUseSkill: CanUseSkill(Skill Name[Id=xxx]), judge is skill can be launched, judge mp and skill cool-time UseItem: UseItem(Item Name[Id=XXX]), for example UseItem(Scroll of Escape[Id=736]). BuyItem: BuyItem(Item1 Name[Id=XXX],Count), BuyItem(Item1 Name[Id=XXX],Count; Item2 Name[Id=XXX],Count); for example: BuyItem(Scroll of Escape[Id=736],1) SellItem: SellItem(Item1 Name[Id=XXX],Count), SellItem(Item1 Name[Id=XXX],Count; Item2 Name[Id=XXX],Count); for example: SellItem(Scroll of Escape[Id=736],1); SellItem(*) is sell all items which setting as "Sell" in current config SaveItem: SaveItem(Item1 Name[Id=XXX],Count), SaveItem(Item1 Name[Id=XXX],Count; Item2 Name[Id=XXX]),Count); Deposit Items in the warehouse; for example SaveItem(Scroll of Escape[Id=736],1), SaveItem(*) is deposit all items which setting as "Warehouse" in current config LoadItem: LoadItem(Item1 Name[Id=XXX],Count), LoadItem(Item1 Name[Id=XXX],Count; Item2 Name[Id=XXX], Count) Withdraw items from warehouse; for example LoadItem(dagger[Id=1],1) Msg: Msg(info), for example Msg(return town after dead!), the info does not send to game server. Set(FightStart): active BOT Set(FightStop): inactive BOT Set(BeatBackOpen): auto fight back monsters' attack when BOT is inactive(default) Set(BeatBackClose): do not auto fight back monsters' attack when BOT is inactive Delay: Delay(N), the script execution pause for N ms, for example: Delay(1000) Label: Label(XXX), XXX is label name, for example: LABEL(detect range), there are match case some commands after label. Jmp: Jmp(XXX), jump to the command with the certain label, for example Jmp(detect range), use it to control the scripts execute flow Call: Call(XXX), XXX is the label name, for example: Call(begin attack), the difference between "Jmp" and "Call" is that: "Call" will return to execute the next command after execute the block of commands with the certain label. MoveTo(X,Y,Z): MoveTo(X,Y,Z), make the character MoveTo the location(X,Y,Z) NpcSel: NpcSel(NPC Name[Id=XXX]), Select the NPC, for example NpcSel(Jackson[Id=7002]) NpcDlg: NpcDlg(NPC Name[Id=XXX]), chat with this NPC, for example: NpcDlg(Jackson[Id=7002]) DlgSel: DlgSel(str) select "str" in the dialog, for example: DlgSel(Sell Item) DlgSel2: NPC Dialog Command DlgSel2(XXX,SeqNo) If several dialog options all contain string XXX, the SeqNo marks which item to choose. SeqNo=0 means the first item, SeqNo=1 means the second, and so on DlgHtml: DlgHtml(str) have dlg with NPC, for example: DlgHtml(menu=123?task=1) DlgLink: DlgLink(str) have dlg with NPC, for example: DlgLink(menu=123?task=1) CharStatus: CharStatus(Item,Cond,Value) Condition command, detect the status of character, Item: CHP(current hp value), CMP(current mp value), CCP(current cp value), HP(hp percent), MP(mp percent), CP(cp percent), WEIGHT(load percent), SG(SG percent), LV, SP, RACE(Human:0, Elf:1, Dark Elf:2, Orc:3, Dwarf:4), STAND Cond: >=, >, ==, !=, <, <= for example: CharStatus(Weight,>=,45), detect whether weight is over 45% or not PosOutRange: PosOutRange(X, Y, Z, Radius) Condition command,detect whether char is out of rangeor not, for example: PosOutRange(-96716,255766,-3443,3000) dectect wether char is out of the circle which center is (-96716,255766,-3443) and the radius is 3000. PosInRange: PosInRange(X, Y, Z, Radius) Condition command, detect whether char is in the range or not, for example: PosInRange(-96716,255766,-3443,3000) PosOutRange2: PosOutRange2(X,Y,Z,Step) Condition command, detect wether char is out of range or not, for example: PosOutRange(-96716,255766,-3443,50) dectect wether char is out of the circle which center is (-96716,255766,-3443) and the radius is 50 step. Note: 1 step=36 PosInRange2: PosInRange2(X,Y,Z,Step) Condition command, detect wether char is in the range or not, for example: PosInRange2(-96716,255766,-3443,50) GoHome: GoHome() return town after dead Say: Say(XXX), say XXX in normal channel Shout: Shout(XXX), shout XXX PartySay: PartySay(XXX), say XXX in party channel PrivateSay: PrivateSay(Player Name, XXX), say XXX in private channel Exit: Exit(), exit the execution of the scrpt Pause: Pause(), pause the execution of the script StrInDlg: StrInDlg(XXX) Condition command, detect whether XXX is in the NPC dialog or not for example: StrInDlg(fungus) StrOutDlg: StrOutDlg(XXX) Condition command, detect whether XXX is not in the NPC dialog for example: StrOutDlg(fungus) ChangeWaitType: ChangeWaitType(X) X=0:sit down, X=1 stand up ForceAttack: ForceAttack(NPC Name[Id=XXX]), Attack NPC Set(FishStart): begin to fish Set(FishStop): stop fishing Set(RangeType,Rand): Set combat range to random(no limit range) Set(RangeType,StartPos,radii): make the current pos as center of combat range and radius is radii Set(RangeType,DefPos,x,y,z,radii): make the (x,y,z) as center of combat range and radius is radii Set(RangeType,DefRange): set combat range to custom polygon range Set(RangeType,DefPath): set combat range to certain path. Set(DefRange,Clear): clear the pos of the polygon. Set(DefRange,Add,x,y,z): add the pos (x,y,z) to polygon Set(DefPath,Clear): clear the pos of default path,Set(DefPath,Clear) Set(DefPath,Add,x,y,z,radii): add the pos(x,y,z) to default path Set(Item,Ops,Item1[Id=XXX];Item2[Id=XXX]): Setting for certain items, ops: Pick|NoPick|Save|NoSave|Sell|NoSell|Delete|NoDelete Set(Item,Ops,*): setting for all items Set(Mon,Ops,Mon1[Id=XXX];Mon2[Id=XXX]): Setting for certain monsters, ops:Attack|NoAttack|AttackOne|Dodge Set(Mon,Ops,*): setting for all mons SellSeed(Fruit Name[Id=XXX],Count,CityId): Sell fruits, City Id: Gludio Castle(1), Dion Castle(2), Giran Castle(3), Oren Castle(4), Aden Castle(5), Innadril Castle(6), Goddard(7) BuySeed: Buy seeds, BuySeed(Seed Name[Id=XXX],Count) LoadConfig: LoadConfig(Config file), for example LoadConfig(defaults), load "defaults.ini" IsMember: IsMember(Player Name) Condition command, detect whether XXX is party member !IsMember: !IsMember(Player Name) Condition command, detect whether XXX is not party member RequestJoinParty: RequestJoinParty(object,type) Request object to join party, Type: Item-Distribution-Method, 0 certain, 1 random, 2 rand include swap, 3 as party member sequence, 4: sequence include swap for example: RequestJoinParty(jack,0) RequestOutParty: RequestOutParty(object) drive object out of party, for example: RequestOutParty(jack) QuitParty: QuitParty() quit party QueryPlayerStatus: QueryPlayerStatus(object name,item,cond,value) condition command, item:HP,CHP,MP,CMP,CP,CCP,Exp cond:>=, >, ==, !=, <, <= MemberStatus: MemberStatus(object name,status name[Id=XXX]) condition command, detect whether object has certain status, for example: MemberStatus(jack,Attack Aura[Id=77]) !MemberStatus: !MemberStatus(object name,status name[Id=XXX]) condition command, detect whether object doesn't have certain status for example: !MemberStatus(jack,Attack Aura[Id=77]) ReLogin: ReLogin(interval) interval: logout and will login afer "interval" seconds, if the interval is 0, that means logout and will not login any more. DisFromNpc: DisFromNpc(NPC Name[Id=XXX], Cond, Steps) Condition command, cond: >=, >, ==, !=, <, <= detect whether the distance from npc meet the requirement DisFromPlayer: DisFromPlayer(Player Name, Cond, Steps) Condition command, cond: >=, >, ==, !=, <, <= detect whether the distance from player meet the requirement MonInRange: MonInRange(Mon Name[Id=XXX],x,y,z,r,cond,Count) Condition command, cond: >=, >, ==, !=, <, <= detect the Count of certain mon in the center of (x,y,z) and radius is r. MonInRange(*,x,y,z,r,cond,Count) detect the total mon Count in the center of (x,y,z) and radius is r. MoveToPlayer: MoveToPlayer(player name) MoveToNPC: NPCMoveToNPC(NPC name[Id=XXX]) ItemCount: ItemCount(ItemName[Id=XXX],cond, Count) Condition command, cond: >=, >, ==, !=, <, <= Crystalize Item: CrystalItem(Name1[Id=XXX],Count;Name2[Id=XXX],Count) for example: CrystalItem(Sword of Damascus[Id=79],1) NPCInRange: Judge if the specified NPC in range: NPCInRange(NPCName[ID=XXX],x,y,z,radius) if x=y=z=0, then make player's current position as radius center NPCInBattleRange: Judge if the specified NPC in fight-range NPCInBattleRange(NPCName[ID=XXX]) NPCSelInRange: Select the NPC in fight-range NPCSelInRange(NPCName[ID=XXX]) MoveToNPCInRange: Move to the NPC in fight-range MoveToNPCInRange(NPCName[ID=XXX]) IsEquipped: Judge whether i'm equipping the item IsEquipped(ItemName[ID=XXX]) HasPet: Judge whether i'm having a pet/summoner with me HasPet() RecyclePet: Recycle Pet RecyclePet() UseSkill3: Use Sudden skill for selected object without wait UseSkill3(SkillName[Id=xxx]) UseSkill3(RunFastly[Id=902]) Action: Social Actions Action(ActionId) ActionId:sayHi-0 Win-1 Attack-2 Nod-3 SayNo-4 Salute-5 Think-6 Wait-7 Smile-8 clap-9 dance-10 grief-11 seduction-12 shy-13 對拜-14 擊掌-15 dual-dance-16 ask-marriage-17 挑撥-18 showing-19 ForceSkill Force use skill command ForceSkill(Target Player Name, SkillName[Id=XXX]) ExchangeItem Exchange item with NPC (SpecialItemMerchant, Exchange Justice book, courage book, etc ExchangeItem(Name1[Id=XXX],Cnt1;Name22[Id=XXX],Cnt2) SetLoginInfo Set Auto Login Game Server Parameters: ServerId and CharId SetLoginInfo(ServerID=XXX,CharID=XXX) It can be used together with Relogin() (this command must be executed before command 'Relogin'), for example: SetLoginInfo(2,0) // Auto Relogin Char 1 in server 2 Relogin(10) // After 10 seconds, auto login ForceSkill2 Force use skill on selected object ForceSkill2(SkillName[Id=xxx]) CharInRange Judge whether specified player in botting-range CharInRange(PlayerName) * represents any player CallScriptFile Load other script file CallScriptFile(ScriptFileName) Action2 Multi-purpose command Action2(ActionId,Tag1,Tag2) Action2(1,2,3) Social actions, pet relative control commands can all be executed by this command. For more info about ActionId, Tag1, Tag2, can obtain by script recording We suggest you record some social actions and pet commands, this will help you to understand the meaning of this command NotObtainEXP Judge Command. To judge if NOT obtain EXP during certain period NotObtainEXP(seconds) NotObtainMoney Judge Command. To judge if NOT obtain money during certain period NotObtainMoney(seconds) PlaySound Play sound command. PlaySound(Wave File Name) WaveFile must under 'snd' folder SendMail Send Main command. SendMail(ReceiverName,Title,Content,ItemName1[Id=XXX],Cnt1;ItemName2[Id=XXX],Cnt2) Click Question Mark to open the task dialogue window ClickQuestionMark() Big playground get gift script command. GotAmusementItem(Name[Id=XXX]) When the item names are same, it will need ID to identify the item Apple for Compensation Item RequestCompensation() After kill a certain amount of monsters, you can apple for a compensation item from Game System Force refresh my skill list RefreshSkillList() Force refresh item list in my package RefreshItemList() Auto accept master/tutor relationship: AcceptMaster(player1;player2;player3) auto accept master/tutor, if the char set to *, it will accept any one as his master/tutor set auto accept union-team invitation, if the char set to *, it will accept any invitation AcceptUnionTeam(player1;player2;player3) requestCreateUnionTeam to player1 new script command: RequestJoinUnionTeam(player1) Judge the PK and Karma value of myself. MyProperty(Item,Condition,Value) For example: MyProperty(Karma,>,0) or MyProperty(PK,>,0) Judge whether there is/are Red Name Player(s) in your bot region. RedCharInRange() Judge how many team members there are in your bot region. TeamMemberInRange(Condition, Value) Condition: >,<,=,
say in the Ally channel Allysay(XXXXX) say in the Pledge channle Pledgesay(XXX) Task accepted or not: TaskAccepted(TaskID) condition judge command, to judge whether I have accepted the task with the sepcified TaskID Task monsters killed: TaskNPCKilled(NPCID,cond,count) condition judge command, to judge whether I have killed enough monster. For example: TaskNPCKilled(20051,>,100)
FinishAwake() Finish the last step of the conversation after awake LearnSkill(SkillId, SkillLevel) Learn skill from NPC after awake RequestNewCoin() Request New Zone Coin this command support script record CoinBuy(ItemId, ItemAmount) Request Buy Coin Item this command support script record RequestTeleport(Region-ID) Teleport to specified location. you can check the correspondent region id when recording script DropItem(ItemId, Count) Drop Item UpgradeCareer(CareerId) Upgrade Career , this command support Script-Recording RequestApplyItemPacket() request appliable items (support srcipt-recording) ApplyItemCountPacket(Apply_Count) apply item count (support srcipt-recording) RequestGift() request gift (support srcipt-recording) RedCharNear(step) Judge whether there is any red name player(s) in x steps around myself SelNearRedChar(step) Select a red name player in x steps around myself use this command with "ForceSkill2(skillName[ID=xxx])", can realize the attack read name player feature request hunting area list: RequestHuntingList() request entering hunting area: EnterHuntingZone(HuntingAreaId) Request Change Character's Attribute: RequestChangeAttribute(AttributeId) Select Enhance Scroll: SelectEnhanceScroll(XX[ScrollId=xxx]) Select Enhanced Item: SelectEnhanceItem(XX[ItemId=xxx],EnhanceLevel) Enhance Item to specified Level, delay xxx ms to continue if fails: ItemEnhance(delay_ms,EnhanceLevel)