Home » Scripting with L2Walker

Scripting with L2Walker

L2Walker is a BOT which basically automates your movements and task in Lineage2. Below a tiny introduction to the script language including the basic functions.

What you have to remember?

To Get these scrips working properly make sure you use notepad and save the file as UNICODE. Make SURE THE EXENSION IS CAPATLIZED (not .sec, but .SEC) or else you cannot use the scripts in the ingame version of Walker.

Basic Functions

SET(L2WALKER,ENABLE|DISABLE)
starts/stops the Auto Function, same like pressing the Insert button
Example: SET(L2WALKER,ENABLE)


SET([
FIGHTSTART|FIGHTSTOP])
starts/stops fighting, same as using the End button
Example: SET(FIGHTSTART) // starts to fight


USESKILL(
SkillName[ID=Number],SELF|PLAYER|PARTY|NPC|PET,TargetName
)
Uses a skill
SELF | on the characater itself
PLAYER | on a player
PARTY | on a party member
NPC | on a NPC
PET | on a pet
TargetName | bum…
SkillName | bum…
Number | the ID of the skill
Example: USESKILL(Zealot[ID=420],SELF)


SET(RANGETYPE,RAND)

Sets pathing to “Rand” mode


SET(RANGETYPE,STARTPOS,radius)

Sets pathing to “Combat Begin Point Is Center Point” mode
Example: SET(RANGETYPE,STARTPOS,1500) // fights at a 1500 radious from the starting point


SET(RANGETYPE,DEFPOS,x,y,z,radius)

Sets pathing to “Center Point” mode
Example: SET(RANGETYPE,DEFPOS,43950,51153,-3022,2000) // Takes 43950,51153, -3022 as the center point, and the radius is 2000


SET(RANGETYPE,DEFRANGE)

Sets pathing to “Define Range” mode


SET(DEFRANGE,ADD,x,y,z)

Adds Range pathpoints
Example: SET(DEFRANGE,ADD,43950,51153,-3022)


SET(DEFRANGE,CLEAR)
Clears all rangepoints


SET(RANGETYPE,DEFPATH)

Sets pathing to “Define Pathpoint” mode


SET(DEFPATH,ADD,x,y,z,radius)

Adds Pathpoints
Example: SET(DEFPATH,ADD,43950,51153,-3022,1000)


SET(DEFPATH,CLEAR)

Clears all pathpoints


SET(
MON,ATTACK|NOATTACK|ATTACKONE,MonsterName[ID=Number];MonsterName1
[ID=Number])
Sets the monster parameters for attacking
ATTACK // attack it
NOATTACK // do not attack it
ATTACKONE // attacks only if its alone
MonsterName // The name of the mob
Number // Monster ID


SET(ITEM,
PICK|NOPICK
,ItemName[ID=Number];ItemName1[ID=Number])
Sets the pickup parameters
PICK // picks it up
NOPICK // does not pick it up


MOVETO(x,y,z)

Moves to x, y, z


NPCSEL(NpcName[ID=Number]) // ID is not mandatory

Chooses a NPC


NPCDLG(NpcName[ID=Number]) // ID is not mandatory

Opens up the dialog list of the NPC


DLGSEL(Dialog)

Chooses a dialog


GOHOME()

go to nearest village


SAY(something)

speaks in white chat


MSG(something)

L2Walker shows up a msg on the chat that only u can see


UseItem(ItemName[ID=Number])

Uses an item


ChangeWaitType(Number)

The character stands or sits down
Number = 0 sits down
Number = 1 stands up


StrInDlg(Dialogue)

Executes commands if specific text is found in a dialog
Example:
NPCSEL(NPC[ID=1234])
NPCDLG(NPC[ID=1234])
DLGSEL(Hello)
STRINDLG(Hi to you)
{
DLGSEL(Hi to you)
JMP(Quest)
}
JMP(bye)


StrNotInDlg(Dialogue)

The opposite of the above


CharStatus(
CHP|CMP|HP|MP|WEIGHT|LV|STAND,>=|>|==|!=|<|<=
,Number)
Checks various character info and executes commands if true
HP-MP-WEIGHT are percentages
CHP-CMP are actual values
LV is the level of your char
Stand is 1 if char is standing or 0 is its sitting
<= less than or equal
< less than
== equal
!= not equal
> greater than
>= greater than or equal


ItemCount(
ItemName[ID=Number],>=|>|==|!=|<|<=,Quantity
)
Checks how much of a specific item you have on your char
<= less than or equal
< less than
== equal
!= not equal
> greater than
>= greater than or equal


JMP(LabelName)

Searches for a line with LABEL(LabelName) and continues from there


CALL(LabelName)

Same as JMP but after it reads the return command it will go to next
command after the initial CALL
Example:
CALL(Label)
SAY(BYE)
EXIT()
LABEL(Label)
SAY(HI)
RETURN()


RETURN()

When u use a CALL command u must use this to return


LABEL(Name)

used for JMP or CALL


EXIT()

terminates the script, same as pressing the Exit button in Script Run


PAUSE()

pauses the script, same as pressing the Pause Button


DELAY(X)

waits for X milliseconds