Created
July 31, 2014 05:46
-
-
Save bato3/bbb045517b3111e8f1dd to your computer and use it in GitHub Desktop.
Lineage II walker syntax
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/************************************************************************************* | |
* l2s.php | |
* -------- | |
* Author: Wojciech Bajon (wojciech.bajon g;)mail.com) | |
* Copyright: (c) 2010 Wojciech Bajon | |
* Release Version: 0.1 | |
* Date Started: 2010/07/22 | |
* | |
* L2.net script language file for GeSHi. | |
* | |
* CHANGES | |
* ------- | |
* 2010/07/22 (0.1) | |
* - First Release | |
* | |
* TODO | |
* ------------------------- | |
* INCLUDE css hack fix: GESHI_BEFORE => '<span class="includ">INCLUDE</span> ', | |
* variables in variables in string: "string <&MYAL2.A.<&DEF_TEST&>&> " | |
* INCLUDE "string" | |
* | |
* | |
************************************************************************************* | |
* | |
* On Apache licence | |
* | |
************************************************************************************/ | |
$L2S_GESHI_VARIABLES_LIST = 'ZERO|ONE|TWO|FALSE|TRUE|NULL|PI|E' | |
.'|RANDI|RANDD' | |
.'|CMD|GUI|HTML|GDI|ASTERISK|ERROR|EXCLAMATION|HAND|INFORMATION' | |
.'|NONE|QUESTION|STOP|WARNING' | |
.'|TOWN|CLANHALL|CASTLE|SIEGEHQ|FORTRESS' | |
.'|CHAR_NAME|CHAR_ID|CHAR_KARMA|CHAR_TITLE|CHAR_SP|CHAR_XP' | |
.'|CHAR_LEVEL|CHAR_SEX|CHAR_RACE|CHAR_CLASS' | |
.'|CHAR_X|CHAR_Y|CHAR_Z|CHAR_DESTX|CHAR_DESTY|CHAR_DESTZ' | |
.'|CHAR_MAX_HP|CHAR_MAX_MP|CHAR_MAX_CP|CHAR_CUR_HP|CHAR_CUR_MP' | |
.'|CHAR_CUR_CP|CHAR_CUR_LOAD|CHAR_MAX_LOAD|CHAR_RUN|CHAR_RUN_SPEED' | |
.'|CHAR_WALK_SPEED|CHAR_ATTACK_SPEED|CHAR_ATTACK_SPEED_MULT' | |
.'|CHAR_CAST_SPEED|CHAR_EVAL|CHAR_PARTY_COUNT|CHAR_PATK|CHAR_MATK' | |
.'|CHAR_PDEF|CHAR_MDEF|CHAR_ACCURACY|CHAR_EVASION|CHAR_CRITICAL' | |
.'|CHAR_STR|CHAR_DEX|CHAR_CON|CHAR_INT|CHAR_WIT|CHAR_MEN' | |
.'|CHAR_CUBIC_COUNT|CHAR_PVP_COUNT|CHAR_PK_COUNT|CHAR_RUNNING' | |
.'|CHAR_SITTING|CHAR_LOOKS_DEAD' | |
.'|TARGET_NAME|TARGET_KARMA|TARGET_TITLE|TARGET_CLAN|TARGET_ALLY' | |
.'|TARGET_X|TARGET_Y|TARGET_Z|TARGET_DESTX|TARGET_DESTY' | |
.'|TARGET_DESTZ|TARGET_MAX_HP|TARGET_MAX_MP|TARGET_MAX_MP' | |
.'|TARGET_CUR_HP|TARGET_CUR_MP|TARGET_CUR_CP|TARGET_SPOILED' | |
.'|TARGET_RUN_SPEED|TARGET_WALK_SPEED|TARGET_ATTACK_SPEED' | |
.'|TARGET_CAST_SPEED|TARGET_ID|TARGET_TARGETID|TARGET_TYPEID' | |
.'|TARGET_TYPE|TARGET_RUNNING|TARGET_SITTING|TARGET_LOOKS_DEAD' | |
.'|WALKING|RUNNING|SITTING|STANDING' | |
.'|START_FAKEDEATH|STOP_FAKEDEATH' | |
.'|ALIVE|DEAD' | |
.'|NEAREST_ITEM_DISTANCE|NEAREST_NPC_DISTANCE' | |
.'|NEAREST_PLAYER_DISTANCE|NEAREST_ITEM_ID|NEAREST_NPC_ID' | |
.'|NEAREST_PLAYER_ID' | |
.'|COUNT_NPC_TARGETME|COUNT_PLAYER_TARGETME' | |
.'|CHANNEL_ALL|CHANNEL_SHOUT|CHANNEL_PRIVATE|CHANNEL_PARTY' | |
.'|CHANNEL_CLAN|CHANNEL_GM|CHANNEL_PETITION|CHANNEL_PETITIONREPLY' | |
.'|CHANNEL_TRADE|CHANNEL_ALLY|CHANNEL_ANNOUNCEMENT|CHANNEL_BOAT' | |
.'|CHANNEL_PARTYROOM|CHANNEL_PARTYCOMMANDER|CHANNEL_HERO' | |
.'|TYPE_ERROR|TYPE_NONE|TYPE_SELF|TYPE_PLAYER|TYPE_NPC' | |
.'|SHORTCUT_ITEM|SHORTCUT_SKILL|SHORTCUT_ACTION|SHORTCUT_MACRO' | |
.'|SHORTCUT_RECIPE' | |
.'|TICKS_PER_MS|TICKS_PER_S|TICKS_PER_M|TICKS_PER_H|TICKS_PER_D' | |
.'|SCRIPTEVENT_CHAT|SCRIPTEVENT_SELFDIE|SCRIPTEVENT_SELFREZ' | |
.'|SCRIPTEVENT_SELFENTERCOMBAT|SCRIPTEVENT_SELFLEAVECOMBAT|' | |
.'SCRIPTEVENT_SELFSTOPMOVE|SCRIPTEVENT_SELFTARGETED|' | |
.'SCRIPTEVENT_SELFUNTARGETED|SCRIPTEVENT_TARGETDIE|' | |
.'SCRIPTEVENT_CHATTOBOT|SCRIPTEVENT_UDPRECEIVE|' | |
.'SCRIPTEVENT_SKILLUSED|SCRIPTEVENT_SKILLLAUNCHED|' | |
.'SCRIPTEVENT_SKILLCANCELED|SCRIPTEVENT_OTHERSKILLUSED|' | |
.'SCRIPTEVENT_OTHERSKILLLAUNCHED|SCRIPTEVENT_OTHERSKILLCANCELED|' | |
.'SCRIPTEVENT_JOINPARTY|SCRIPTEVENT_LEAVEPARTY|' | |
.'SCRIPTEVENT_UDPRECEIVEBB|SCRIPTEVENT_SERVERPACKET|' | |
.'SCRIPTEVENT_SERVERPACKETEX|' | |
.'SYSTEM_THREADCOUNT|SYSTEM_CURRENTFILE|SYSTEM_HANDLECOUNT|' | |
.'SYSTEM_MEMORYUSAGE|SYSTEM_MEMORYALLOCATED|SYSTEM_STACKHEIGHT|' | |
.'SYSTEM_VERSION|SYSTEM_CHRONICLE|' | |
.'ENV_MACHINENAME|ENV_USERNAME'; | |
$language_data = array ( | |
'LANG_NAME' => 'L2S', | |
'COMMENT_SINGLE' => array(1 => '//'), | |
'COMMENT_MULTI' => array('/*' => '*/', '/**'=>'*/'), | |
'CASE_KEYWORDS' => GESHI_CAPS_UPPER, | |
'QUOTEMARKS' => array( '"'), | |
'ESCAPE_CHAR' => '\\', | |
'ESCAPE_REGEXP' => array( | |
1 => "/<&(".$L2S_GESHI_VARIABLES_LIST.")&>/", | |
2 => "/<&[^&]+&>/", | |
3 => '/#[id]\d+(\.\d+)?/', | |
4 => '#(/attack|/invite\s*[a-zA-Z_\-\d]*|/leave|' | |
.'/dismiss\s*[a-zA-Z_\-\d]*|/changepartyleader\s*[a-zA-Z_\-\d]*|' | |
.'/socialhello|/socialvictory|/socialcharge|/socialno|/socialyes|' | |
.'/socialbow|/socialunaware|/socialwaiting|/sociallaugh|' | |
.'/socialapplause|/socialdance|/socialsad|/charm|/nsociallevelup|' | |
.'/nsocialhero|/nsocialflame|/sit|/stand|/walk|/run|/buttonsit|' | |
.'/buttonwalk|/unstuck|/loc|/mount|/dismount|/time|/partyinfo|' | |
.'/attacklist|/warlist|/friendlist|/friendinvite\s*[a-zA-Z_\-\d]*|' | |
.'/frienddel\s*[a-zA-Z_\-\d]*|/block\s*[a-zA-Z_\-\d]*|' | |
.'/unblock\s*[a-zA-Z_\-\d]*|/blocklist|/evaluate|/gmlist|' | |
.'/skill\s*[a-zA-Z_\-\d]*|/script|/flush|/cls|/hidedead|' | |
.'/hideaccept|/restart|/logout|/playerloc\s*[a-zA-Z_\-\d]*|' | |
.'/assist|/assist\s*[a-zA-Z_\-\d]*|/spause|/sresume|/sstop|' | |
.'/getskills|/target\s*[a-zA-Z_\-\d]*|/generalmanufacture|' | |
.'/vendor|/buy|/godmode|/nick\s*[a-zA-Z_\-\d]*|/forcelogout|' | |
.'/instancezone|/allblock|/allunblock|/allyinfo|/siegestatus|' | |
.'/withdraw|/clanwarstart\s*[a-zA-Z_\-\d]*|' | |
.'/clanwarstop\s*[a-zA-Z_\-\d]*|/duel\s*[a-zA-Z_\-\d]*|' | |
.'/partyduel\s*[a-zA-Z_\-\d]*|/mybirthday)#', | |
), | |
'KEYWORDS' => array( | |
1 => array( | |
'INT', 'DOUBLE', 'STRING', 'FILEWRITER', 'FILEREADER', 'ARRAYLIST', | |
'SORTEDLIST', 'STACK', 'QUEUE', 'BYTEBUFFER', 'WINDOW', | |
), | |
2 => array( 'PRIVATE', 'PROTECTED', 'PUBLIC'), | |
3 => array( | |
'BREAK', 'CASE', 'CLASS', 'DEFINE', 'DO', 'ELSE', 'ENDIF', 'END_SCRIPT', 'FOR', 'FOREACH', | |
'FUNCTION', 'LABEL', 'LOCK', 'LOOP', 'IF', | |
'NEXT', 'NEXTEACH', 'PAUSE', | |
'RETURN', 'SCRIPT_END', 'SET', 'SWITCH', 'THREAD', 'UNLOCK', | |
'VAR_START', 'VAR_END', 'WEND', | |
'WHILE', 'END_CLASS', 'VOID' | |
), | |
// functions | |
4 => array( | |
'ADD_BORDER_PT', 'ADD_WALL', 'ATTACK_TARGET', 'BLOCK', 'BLOCKEX', 'BOTSET', 'CANCEL_TARGET','CHAR_GET_ID', 'CHAR_GET_NAME', 'CHECK_TARGETING', 'CLAN_GET_ID', 'CLAN_GET_NAME', 'CLEAR_BLOCK', 'CLEAR_BLOCKEX', 'CLEAR_BORDER', 'CLEAR_WALLS', 'CLICK_NEAREST_ITEM', 'CRYSTALIZE_ITEM', 'DELETE_ITEM', 'DELETE_SHORTCUT', 'DISTANCE', 'DROP_ITEM', 'FORCE_LOG', 'GET_ELIZA', 'GET_INVENTORY', 'GET_ITEMS', 'GET_NPCS', 'GET_PARTY', 'GET_PLAYERS', 'GET_RAND', 'GET_TIME', 'IGNORE_ITEM', 'INJECT', 'INJECT_CLIENT', 'INJECTBB', 'INJECTBB_CLIENT', 'INVEN_GET_ITEMID', 'INVEN_GET_UID', 'ITEM_COUNT', 'ITEM_GET_ID', 'ITEM_GET_NAME', 'JUMP_TO_LABEL', 'JUMP_TO_LINE', 'MESSAGE_BOX', 'MOVE_TO', 'NPC_DIALOG', 'NPC_GET_ID', 'NPC_GET_NAME', 'PLAYALARM', 'PLAYSOUND', 'PLAYWAV', 'PRINT_TEXT', 'REGISTER_SHORTCUT', 'RETURNSUB', 'SAY_TEXT', 'SAY_TO_CLIENT', 'SEND_EMAIL','SET_EVENT', 'SET_TARGETING', 'SKILL_GET_ID', 'SKILL_GET_NAME', 'SLEEP_HUMAN_READING', 'SLEEP_HUMAN_WRITING', 'SUB', 'TALK_TARGET', 'TAP_TO', 'TARGET', 'TARGET_NEAREST', 'TARGET_NEAREST_ID', 'TARGET_NEAREST_NAME', 'TARGET_SELF', 'TEST_DNS', 'TEST_ODBC', 'TEST_PING', 'TEST_WEBSITE', 'UDP_SEND', 'UDP_SENDBB', 'UNBLOCK', 'UNBLOCKEX', 'USE_ACTION', 'USE_ITEM', 'USE_SHORTCUT', 'USE_SKILL', | |
'CALL', 'CALL_EXTERN', 'CALLSUB', 'COMMAND', 'DELETE', 'DELETE_GLOBAL', 'NMESSAGE_BOX', 'NMESSAGE_BOX2', 'DEFAULT', 'DEFINE_GLOBAL','MATH', 'SLEEP', | |
'DELAY', //'INCLUDE', | |
), | |
// global variables | |
5 => explode('|', $L2S_GESHI_VARIABLES_LIST), | |
// external class names | |
6 => Array( | |
/* native scripts L2NET */ 'Parser', 'Base_Item', 'Inventory', 'Item', 'NPC', 'Object', 'Player', | |
'ENGINEX' /* version: 13 (08.06.2010) */, 'ENGINEX_CONVERT', | |
'ENGINEX_DIJKSTRA', 'ENGINEX_EVENTS', 'ENGINEX_FILES', | |
'ENGINEX_GEO', 'ENGINEX_LISTS', 'ENGINEX_MATH', 'ENGINEX_MATRIX', 'VECTOR2', 'VECTOR3', 'ENGINEX_OBJECTS', 'ENGINEX_STRINGS', 'ENGINEX_TIME', 'ENGINEX_TIME_COUNTER', 'ENGINEX_TIME_TIMER', 'ENGINEX_UTILS', | |
'LAZY' /* version 5 */, 'LAZY_CASTING', 'LAZY_CASTING_CASTLIST', 'LAZY_CASTING_CASTLIST_SKILL', 'LAZY_CASTING_CASTLIST_SKILL_BYPIECE', 'LAZY_CASTING_CASTLIST_SKILL_BYVALUE', | |
'LAZY_CASTING_CHARACTERSKILL', 'LAZY_RETURNING', 'LAZY_RETURNING_AND', 'LAZY_RETURNING_ANDMULTIPLE', 'LAZY_RETURNING_ARRAYLIST', 'LAZY_RETURNING_BOOLEANCOMPARISON', 'LAZY_RETURNING_DISTANCE', 'LAZY_RETURNING_DOUBLECOMPARISON', 'LAZY_RETURNING_IFTHENELSE', 'LAZY_RETURNING_INTEGERCOMPARISON', 'LAZY_RETURNING_ITEMCOUNT', 'LAZY_RETURNING_NOT', 'LAZY_RETURNING_OBJECTDATA', 'LAZY_RETURNING_OBJECTFOUND', 'LAZY_RETURNING_OR', 'LAZY_RETURNING_ORMULTIPLE', 'LAZY_RETURNING_POINT2D', 'LAZY_RETURNING_POLYCONTAINSPOINT', | |
'LAZY_RETURNING_STRINGCOMPARISON', 'LAZY_RETURNING_DISTANCE', | |
'LAZY_RETURNING_SUBSTRING', 'LAZY_SHORTCUTS', 'LAZY_SHORTCUTS_ACTION', 'LAZY_SHORTCUTS_ITEM', 'LAZY_SHORTCUTS_MACRO', 'LAZY_SHORTCUTS_RECIPE', 'LAZY_SHORTCUTS_SKILL', 'LAZY_TARGETING', 'LAZY_TARGETING_QUEUEBIT', 'LAZY_WORLD', 'LAZY_WORLD_OBJECTACTIVITY', 'LAZY_WORLD_OBJECTACTIVITY_CASTING', 'LAZY_FASTCAST', | |
/* do not use or edit this class */ | |
// 'LAZY_RETURNING_BASEPIECE', 'LAZY_RETURNING_DATALIST','LAZY_RETURNING_DATAREFERENCE', 'LAZY_RETURNING_DATAVALUE', 'LAZY_RETURNING_DATAVARIABLE', | |
'DLIB' /* version 3.2 [06/06/10] (beta) */, 'DlibModule', 'XP_Watchdog', 'AbnormalStatusUpdate', 'Attack', 'ClanMember', 'ClanRoster', 'ZoneInfo', 'ItemList', 'MultiAttack', 'PartySpelled', 'RelationChanged', 'SkillList', 'StatusUpdate', 'SystemMessage', | |
), | |
), | |
'SYMBOLS' => array( | |
'!', '!=', '&&', '(', ')', '*', '+', '-', '/', '<', '<=', | |
'<>', '=', '>', '>=', '^', '|', '||', '~' | |
//'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', | |
), | |
'CASE_SENSITIVE' => array( | |
GESHI_COMMENTS => false, | |
1 => false, | |
2 => false, | |
3 => false, | |
4 => false, | |
5 => false, | |
6 => false, | |
7 => false | |
), | |
'STYLES' => array( | |
'KEYWORDS' => array( | |
1 => 'color:black; font-style: italic; font-weight:bold;', | |
2 => 'color:black; text-decoration:underline; font-weight:bold;', | |
3 => 'color:black; font-weight:bold;', | |
4 => 'font-weight: bold; color:#009966;', | |
5 => 'font-weight:bold; color: #6600CC;', | |
6 => 'font-weight: bold; color: #66CCFF;' | |
), | |
'COMMENTS' => array( | |
1 => 'color: #FFAD4C; font-style: italic;', | |
'MULTI' => 'color: #CC0000; font-style: italic;' | |
), | |
'ESCAPE_CHAR' => array( | |
0 => 'color: red; font-weight: bold;', | |
1 => 'font-weight:bold; color: #6600CC;', | |
2 => 'font-weight:bold; color: #0099FF;', | |
3 => 'color: #FF0000;', | |
4 => 'color: rgb(236,180,0); font-weight:bold;' | |
), | |
'STRINGS' => array( | |
0 => 'color: #CC00CC' | |
), | |
'NUMBERS' => array( | |
0 => 'color: #000;' | |
), | |
'METHODS' => array( | |
1 => 'color:#A476FF; font-weight:bold', | |
2 => 'color:#A476FF; font-weight:bold', | |
), | |
'SYMBOLS' => array( | |
0 => 'font-weight:bold;' | |
), | |
'REGEXPS' => array( | |
1 => 'font-weight:bold; color: #0099FF;', | |
2 => 'font-weight:bold; color: #6600CC;', | |
3 => 'color: #FF0000;', | |
4 => 'color:darkblue; text-decoration:underline; font-weight:bold;', | |
5 => 'color: #CC00CC;' | |
), | |
), | |
'URLS' => array( | |
1 => '', | |
2 => '', | |
3 => '', | |
4 => '' | |
), | |
'OOLANG' => true, | |
'OBJECT_SPLITTERS' => Array( 1 => '.', 2 => '::' ), | |
'REGEXPS' => array( | |
1 => '<&([^&]+)&>', | |
2 => '<&('.$L2S_GESHI_VARIABLES_LIST.')&>', | |
3 => '#[id]\d+(\.\d+)?', | |
4 => array( | |
GESHI_SEARCH => '(INCLUDE) ([^\n]+)', | |
GESHI_REPLACE => '\2', | |
GESHI_MODIFIERS => 'i', | |
GESHI_BEFORE => '<span class="includ">INCLUDE</span> ', | |
GESHI_AFTER => '' | |
), | |
5 => '\#\$[a-zA-Z\-_\d]+', | |
), | |
'STRICT_MODE_APPLIES' => GESHI_NEVER, | |
'SCRIPT_DELIMITERS' => array( | |
), | |
'HIGHLIGHT_STRICT_BLOCK' => array( | |
), | |
'TAB_WIDTH' => 2 | |
); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment