diff options
author | Freeyorp <Freeyorp101@hotmail.com> | 2010-04-05 12:57:40 +1200 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2010-04-04 19:05:46 -0600 |
commit | 1e87b3a15f2098fa5b7ad0a895c51f0bfe872267 (patch) | |
tree | ba0205c62548e2139736f142db23829f48792467 | |
parent | 8d9fe31ed15fb9ce681d6cfe783fd9c4af646d16 (diff) | |
download | tmwa-1e87b3a15f2098fa5b7ad0a895c51f0bfe872267.tar.gz tmwa-1e87b3a15f2098fa5b7ad0a895c51f0bfe872267.tar.bz2 tmwa-1e87b3a15f2098fa5b7ad0a895c51f0bfe872267.tar.xz tmwa-1e87b3a15f2098fa5b7ad0a895c51f0bfe872267.zip |
Allow modification of opt2 from scripts
-rw-r--r-- | src/map/script.c | 521 |
1 files changed, 282 insertions, 239 deletions
diff --git a/src/map/script.c b/src/map/script.c index 5bf6fa5..adc9d36 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -91,8 +91,8 @@ int scriptlabel_final (void *k, void *d, va_list ap) } static char pos[11][100] = - { "頭", "体", "左手", "右手", "ローブ", "靴", "アクセサリー1", - "アクセサリー2", "頭2", "頭3", "装着していない" + { "ソスソス", "ソスソス", "ソスソスソスソス", "ソスEソスソス", "ソスソスソス[ソスu", "ソスC", "ソスAソスNソスZソスTソスソスソス[1", + "ソスAソスNソスZソスTソスソスソス[2", "ソスソス2", "ソスソス3", "ソスソスソスソスソスソスソストゑソスソスネゑソス" }; static struct Script_Config @@ -108,7 +108,7 @@ static int parse_cmd_if = 0; static int parse_cmd; /*========================================== - * ローカルプロトタイプ宣言 (必要な物のみ) + * ソスソスソス[ソスJソスソスソスvソスソスソスgソス^ソスCソスvソス骭セ (ソスKソスvソスネ包ソスソスフゑソス) *------------------------------------------ */ unsigned char *parse_subexpr (unsigned char *, int); @@ -183,6 +183,8 @@ int buildin_getgdskilllv (struct script_state *st); int buildin_basicskillcheck (struct script_state *st); int buildin_getgmlevel (struct script_state *st); int buildin_end (struct script_state *st); +int buildin_getopt2 (struct script_state *st); +int buildin_setopt2 (struct script_state *st); int buildin_checkoption (struct script_state *st); int buildin_setoption (struct script_state *st); int buildin_setcart (struct script_state *st); @@ -470,6 +472,10 @@ struct { buildin_end, "end", ""}, { + buildin_getopt2, "getopt2", "i"}, + { + buildin_setopt2, "setopt2", "i"}, + { buildin_end, "break", ""}, { buildin_checkoption, "checkoption", "i"}, @@ -745,7 +751,7 @@ enum }; /*========================================== - * 文字列のハッシュを計算 + * ソスソスソスソスソスソスソスフハソスbソスVソスソスソスソスソスvソスZ *------------------------------------------ */ static int calc_hash (const unsigned char *p) @@ -760,10 +766,10 @@ static int calc_hash (const unsigned char *p) } /*========================================== - * str_dataの中に名前があるか検索する + * str_dataソスフ抵ソスソスノ厄ソスソスOソスソスソスソスソス驍ゥソスソスソスソスソス *------------------------------------------ */ -// 既存のであれば番号、無ければ-1 +// ソスソスソスソスソスフでゑソスソスソスソスホ番搾ソスソスAソスソスソスソスソスソスソスソス-1 static int search_str (const unsigned char *p) { int i; @@ -780,10 +786,10 @@ static int search_str (const unsigned char *p) } /*========================================== - * str_dataに名前を登録 + * str_dataソスノ厄ソスソスOソスソスソスoソス^ *------------------------------------------ */ -// 既存のであれば番号、無ければ登録して新規番号 +// ソスソスソスソスソスフでゑソスソスソスソスホ番搾ソスソスAソスソスソスソスソスソスソスホ登ソス^ソスソスソスト新ソスKソスヤ搾ソス static int add_str (const unsigned char *p) { int i; @@ -843,7 +849,7 @@ static int add_str (const unsigned char *p) } /*========================================== - * スクリプトバッファサイズの確認と拡張 + * ソスXソスNソスソスソスvソスgソスoソスbソスtソス@ソスTソスCソスYソスフ確ソスFソスニ拡ソスソス *------------------------------------------ */ static void check_script_buf (int size) @@ -858,7 +864,7 @@ static void check_script_buf (int size) } /*========================================== - * スクリプトバッファに1バイト書き込む + * ソスXソスNソスソスソスvソスgソスoソスbソスtソス@ソスノ1ソスoソスCソスgソスソスソスソスソスソスソスソス *------------------------------------------ */ static void add_scriptb (int a) @@ -868,7 +874,7 @@ static void add_scriptb (int a) } /*========================================== - * スクリプトバッファにデータタイプを書き込む + * ソスXソスNソスソスソスvソスgソスoソスbソスtソス@ソスノデソス[ソス^ソス^ソスCソスvソスソスソスソスソスソスソス *------------------------------------------ */ static void add_scriptc (int a) @@ -882,7 +888,7 @@ static void add_scriptc (int a) } /*========================================== - * スクリプトバッファに整数を書き込む + * ソスXソスNソスソスソスvソスgソスoソスbソスtソス@ソスノ撰ソスソスソスソスソスソスソスソスソスソス *------------------------------------------ */ static void add_scripti (int a) @@ -896,10 +902,10 @@ static void add_scripti (int a) } /*========================================== - * スクリプトバッファにラベル/変数/関数を書き込む + * ソスXソスNソスソスソスvソスgソスoソスbソスtソス@ソスノソスソスxソスソス/ソスマ撰ソス/ソスヨ撰ソスソスソスソスソスソスソスソス *------------------------------------------ */ -// 最大16Mまで +// ソスナ托ソス16Mソスワゑソス static void add_scriptl (int l) { int backpatch = str_data[l].backpatch; @@ -913,7 +919,7 @@ static void add_scriptl (int l) add_scriptb (str_data[l].label >> 16); break; case C_NOP: - // ラベルの可能性があるのでbackpatch用データ埋め込み + // ソスソスソスxソスソスソスフ可能ソスソスソスソスソスソスソスソスソスフゑソスbackpatchソスpソスfソス[ソス^ソスソスソス゚搾ソスソスソス add_scriptc (C_NAME); str_data[l].backpatch = script_pos; add_scriptb (backpatch); @@ -924,7 +930,7 @@ static void add_scriptl (int l) add_scripti (str_data[l].val); break; default: - // もう他の用途と確定してるので数字をそのまま + // ソスソスソスソスソスフ用ソスrソスニ確ソス閧オソストゑソスソスフで撰ソスソスソスソスソスフまゑソス add_scriptc (C_NAME); add_scriptb (l); add_scriptb (l >> 8); @@ -934,7 +940,7 @@ static void add_scriptl (int l) } /*========================================== - * ラベルを解決する + * ソスソスソスxソスソスソスソスソスソスソスソスソス *------------------------------------------ */ void set_label (int l, int pos) @@ -955,7 +961,7 @@ void set_label (int l, int pos) } /*========================================== - * スペース/コメント読み飛ばし + * ソスXソスyソス[ソスX/ソスRソスソスソスソスソスgソスヌみ費ソスソスホゑソス *------------------------------------------ */ static unsigned char *skip_space (unsigned char *p) @@ -984,22 +990,22 @@ static unsigned char *skip_space (unsigned char *p) } /*========================================== - * 1単語スキップ + * ソスPソスPソスソスソスXソスLソスbソスv *------------------------------------------ */ static unsigned char *skip_word (unsigned char *p) { // prefix if (*p == '$') - p++; // MAP鯖内共有変数用 + p++; // MAPソスIソスソスソスLソスマ撰ソスソスp if (*p == '@') - p++; // 一時的変数用(like weiss) + p++; // ソス齊橸ソスIソスマ撰ソスソスp(like weiss) if (*p == '#') - p++; // account変数用 + p++; // accountソスマ撰ソスソスp if (*p == '#') - p++; // ワールドaccount変数用 + p++; // ソスソスソス[ソスソスソスhaccountソスマ撰ソスソスp if (*p == 'l') - p++; // 一時的変数用(like weiss) + p++; // ソス齊橸ソスIソスマ撰ソスソスp(like weiss) while (isalnum (*p) || *p == '_' || *p >= 0x81) if (*p >= 0x81 && p[1]) @@ -1011,7 +1017,7 @@ static unsigned char *skip_word (unsigned char *p) // postfix if (*p == '$') - p++; // 文字列変数 + p++; // ソスソスソスソスソスソスソスマ撰ソス return p; } @@ -1020,7 +1026,7 @@ static unsigned char *startptr; static int startline; /*========================================== - * エラーメッセージ出力 + * ソスGソスソスソス[ソスソスソスbソスZソス[ソスWソスoソスソス *------------------------------------------ */ static void disp_error_message (const char *mes, const unsigned char *pos) @@ -1060,7 +1066,7 @@ static void disp_error_message (const char *mes, const unsigned char *pos) } /*========================================== - * 項の解析 + * ソスソスソスフ会ソスソスソス *------------------------------------------ */ unsigned char *parse_simpleexpr (unsigned char *p) @@ -1130,14 +1136,14 @@ unsigned char *parse_simpleexpr (unsigned char *p) } p2 = skip_word (p); c = *p2; - *p2 = 0; // 名前をadd_strする + *p2 = 0; // ソスソスソスOソスソスadd_strソスソスソスソス l = add_str (p); - parse_cmd = l; // warn_*_mismatch_paramnumのために必要 - if (l == search_str ("if")) // warn_cmd_no_commaのために必要 + parse_cmd = l; // warn_*_mismatch_paramnumソスフゑソスソス゚に必ソスv + if (l == search_str ("if")) // warn_cmd_no_commaソスフゑソスソス゚に必ソスv parse_cmd_if++; /* - // 廃止予定のl14/l15,およびプレフィックスlの警告 + // ソスpソス~ソス\ソスソスソスソスl14/l15,ソスソスソスソスソスムプソスソスソスtソスBソスbソスNソスXソスソスソスフ警ソスソス if( strcmp(str_buf+str_data[l].str,"l14")==0 || strcmp(str_buf+str_data[l].str,"l15")==0 ){ disp_error_message("l14 and l15 is DEPRECATED. use @menu instead of l15.",p); @@ -1176,7 +1182,7 @@ unsigned char *parse_simpleexpr (unsigned char *p) } /*========================================== - * 式の解析 + * ソスソスソスフ会ソスソスソス *------------------------------------------ */ unsigned char *parse_subexpr (unsigned char *p, int limit) @@ -1296,7 +1302,7 @@ unsigned char *parse_subexpr (unsigned char *p, int limit) } /*========================================== - * 式の評価 + * ソスソスソスフ評ソスソス *------------------------------------------ */ unsigned char *parse_expr (unsigned char *p) @@ -1325,7 +1331,7 @@ unsigned char *parse_expr (unsigned char *p) } /*========================================== - * 行の解析 + * ソスsソスフ会ソスソスソス *------------------------------------------ */ unsigned char *parse_line (unsigned char *p) @@ -1338,9 +1344,9 @@ unsigned char *parse_line (unsigned char *p) if (*p == ';') return p; - parse_cmd_if = 0; // warn_cmd_no_commaのために必要 + parse_cmd_if = 0; // warn_cmd_no_commaソスフゑソスソス゚に必ソスv - // 最初は関数名 + // ソスナ擾ソスソスヘ関撰ソスソスソス p2 = p; p = parse_simpleexpr (p); p = skip_space (p); @@ -1359,7 +1365,7 @@ unsigned char *parse_line (unsigned char *p) p = parse_expr (p); p = skip_space (p); - // 引数区切りの,処理 + // ソスソスソスソスソスソスソスリゑソスソスソス,ソスソスソスソス if (*p == ',') p++; else if (*p != ';' && script_config.warn_cmd_no_comma @@ -1397,7 +1403,7 @@ unsigned char *parse_line (unsigned char *p) } /*========================================== - * 組み込み関数の追加 + * ソスgソスン搾ソスソスン関撰ソスソスフ追会ソス *------------------------------------------ */ static void add_buildin_func (void) @@ -1413,7 +1419,7 @@ static void add_buildin_func (void) } /*========================================== - * 定数データベースの読み込み + * ソス關費ソスfソス[ソス^ソスxソス[ソスXソスフ読み搾ソスソスソス *------------------------------------------ */ static void read_constdb (void) @@ -1450,7 +1456,7 @@ static void read_constdb (void) } /*========================================== - * スクリプトの解析 + * ソスXソスNソスソスソスvソスgソスフ会ソスソスソス *------------------------------------------ */ unsigned char *parse_script (unsigned char *src, int line) @@ -1482,7 +1488,7 @@ unsigned char *parse_script (unsigned char *src, int line) } } - // 外部用label dbの初期化 + // ソスOソスソスソスplabel dbソスフ擾ソスソスソスソスソス if (scriptlabel_db != NULL) strdb_final (scriptlabel_db, scriptlabel_final); scriptlabel_db = strdb_init (50); @@ -1501,7 +1507,7 @@ unsigned char *parse_script (unsigned char *src, int line) for (p++; p && *p && *p != '}';) { p = skip_space (p); - // labelだけ特殊処理 + // labelソスソスソスソスソスソス齒茨ソスソス tmpp = skip_space (skip_word (p)); if (*tmpp == ':') { @@ -1517,13 +1523,13 @@ unsigned char *parse_script (unsigned char *src, int line) exit (1); } set_label (l, script_pos); - strdb_insert (scriptlabel_db, p, script_pos); // 外部用label db登録 + strdb_insert (scriptlabel_db, p, script_pos); // ソスOソスソスソスplabel dbソスoソス^ *skip_word (p) = c; p = tmpp + 1; continue; } - // 他は全部一緒くた + // ソスソスソスヘ全ソスソスソス齒擾ソスソスソスソス p = parse_line (p); p = skip_space (p); add_scriptc (C_EOL); @@ -1539,7 +1545,7 @@ unsigned char *parse_script (unsigned char *src, int line) script_size = script_pos; script_buf = (char *) aRealloc (script_buf, script_pos + 1); - // 未解決のラベルを解決 + // ソスソスソスソスフソスソスxソスソスソスソスソスソスソスソス for (i = LABEL_START; i < str_num; i++) { if (str_data[i].type == C_NOP) @@ -1574,13 +1580,13 @@ unsigned char *parse_script (unsigned char *src, int line) } // -// 実行系 +// ソスソスsソスn // enum { STOP = 1, END, RERUNLINE, GOTO, RETFUNC }; /*========================================== - * ridからsdへの解決 + * ridソスソスソスソスsdソスヨの会ソスソスソス *------------------------------------------ */ struct map_session_data *script_rid2sd (struct script_state *st) @@ -1594,7 +1600,7 @@ struct map_session_data *script_rid2sd (struct script_state *st) } /*========================================== - * 変数の読み取り + * ソスマ撰ソスソスフ読み趣ソスソスソス *------------------------------------------ */ int get_val (struct script_state *st, struct script_data *data) @@ -1682,7 +1688,7 @@ int get_val (struct script_state *st, struct script_data *data) } /*========================================== - * 変数の読み取り2 + * ソスマ撰ソスソスフ読み趣ソスソスソス2 *------------------------------------------ */ void *get_val2 (struct script_state *st, int num) @@ -1698,7 +1704,7 @@ void *get_val2 (struct script_state *st, int num) } /*========================================== - * 変数設定用 + * ソスマ撰ソスソスン抵ソスソスp *------------------------------------------ */ static int set_reg (struct map_session_data *sd, int num, char *name, void *v) @@ -1724,7 +1730,7 @@ static int set_reg (struct map_session_data *sd, int num, char *name, void *v) } else { - // 数値 + // ソスソスソスl int val = (int) v; if (str_data[num & 0x00ffffff].type == C_PARAM) { @@ -1754,7 +1760,7 @@ static int set_reg (struct map_session_data *sd, int num, char *name, void *v) } /*========================================== - * 文字列への変換 + * ソスソスソスソスソスソスソスヨの変奇ソス *------------------------------------------ */ char *conv_str (struct script_state *st, struct script_data *data) @@ -1771,7 +1777,7 @@ char *conv_str (struct script_state *st, struct script_data *data) } else if (data->type == C_NAME) { - // テンポラリ。本来無いはず + // ソスeソスソスソス|ソスソスソスソスソスBソス{ソスソスソスソスソスソスソスヘゑソス data->type = C_CONSTSTR; data->u.str = str_buf + str_data[data->u.num].str; #endif @@ -1780,7 +1786,7 @@ char *conv_str (struct script_state *st, struct script_data *data) } /*========================================== - * 数値へ変換 + * ソスソスソスlソスヨ変奇ソス *------------------------------------------ */ int conv_num (struct script_state *st, struct script_data *data) @@ -1799,7 +1805,7 @@ int conv_num (struct script_state *st, struct script_data *data) } /*========================================== - * スタックへ数値をプッシュ + * ソスXソス^ソスbソスNソスヨ撰ソスソスlソスソスソスvソスbソスVソスソス *------------------------------------------ */ void push_val (struct script_stack *stack, int type, int val) @@ -1822,7 +1828,7 @@ void push_val (struct script_stack *stack, int type, int val) } /*========================================== - * スタックへ文字列をプッシュ + * ソスXソス^ソスbソスNソスヨ包ソスソスソスソスソスソスソスソスvソスbソスVソスソス *------------------------------------------ */ void push_str (struct script_stack *stack, int type, unsigned char *str) @@ -1845,7 +1851,7 @@ void push_str (struct script_stack *stack, int type, unsigned char *str) } /*========================================== - * スタックへ複製をプッシュ + * ソスXソス^ソスbソスNソスヨ包ソスソスソスソスソスソスvソスbソスVソスソス *------------------------------------------ */ void push_copy (struct script_stack *stack, int pos) @@ -1866,7 +1872,7 @@ void push_copy (struct script_stack *stack, int pos) } /*========================================== - * スタックからポップ + * ソスXソス^ソスbソスNソスソスソスソスソス|ソスbソスv *------------------------------------------ */ void pop_stack (struct script_stack *stack, int start, int end) @@ -1888,7 +1894,7 @@ void pop_stack (struct script_stack *stack, int start, int end) } // -// 埋め込み関数 +// ソスソスソス゚搾ソスソスン関撰ソス // /*========================================== * @@ -1924,7 +1930,7 @@ int buildin_goto (struct script_state *st) } /*========================================== - * ユーザー定義関数の呼び出し + * ソスソスソス[ソスUソス[ソスソスソス`ソスヨ撰ソスソスフ呼び出ソスソス *------------------------------------------ */ int buildin_callfunc (struct script_state *st) @@ -1938,10 +1944,10 @@ int buildin_callfunc (struct script_state *st) for (i = st->start + 3, j = 0; i < st->end; i++, j++) push_copy (st->stack, i); - push_val (st->stack, C_INT, j); // 引数の数をプッシュ - push_val (st->stack, C_INT, st->defsp); // 現在の基準スタックポインタをプッシュ - push_val (st->stack, C_INT, (int) st->script); // 現在のスクリプトをプッシュ - push_val (st->stack, C_RETINFO, st->pos); // 現在のスクリプト位置をプッシュ + push_val (st->stack, C_INT, j); // ソスソスソスソスソスフ撰ソスソスソスソスvソスbソスVソスソス + push_val (st->stack, C_INT, st->defsp); // ソスソスソスンの基準ソスXソス^ソスbソスNソス|ソスCソスソスソス^ソスソスソスvソスbソスVソスソス + push_val (st->stack, C_INT, (int) st->script); // ソスソスソスンのスソスNソスソスソスvソスgソスソスソスvソスbソスVソスソス + push_val (st->stack, C_RETINFO, st->pos); // ソスソスソスンのスソスNソスソスソスvソスgソスハ置ソスソスソスvソスbソスVソスソス st->pos = 0; st->script = scr; @@ -1957,7 +1963,7 @@ int buildin_callfunc (struct script_state *st) } /*========================================== - * サブルーティンの呼び出し + * ソスTソスuソスソスソス[ソスeソスBソスソスソスフ呼び出ソスソス *------------------------------------------ */ int buildin_callsub (struct script_state *st) @@ -1967,10 +1973,10 @@ int buildin_callsub (struct script_state *st) for (i = st->start + 3, j = 0; i < st->end; i++, j++) push_copy (st->stack, i); - push_val (st->stack, C_INT, j); // 引数の数をプッシュ - push_val (st->stack, C_INT, st->defsp); // 現在の基準スタックポインタをプッシュ - push_val (st->stack, C_INT, (int) st->script); // 現在のスクリプトをプッシュ - push_val (st->stack, C_RETINFO, st->pos); // 現在のスクリプト位置をプッシュ + push_val (st->stack, C_INT, j); // ソスソスソスソスソスフ撰ソスソスソスソスvソスbソスVソスソス + push_val (st->stack, C_INT, st->defsp); // ソスソスソスンの基準ソスXソス^ソスbソスNソス|ソスCソスソスソス^ソスソスソスvソスbソスVソスソス + push_val (st->stack, C_INT, (int) st->script); // ソスソスソスンのスソスNソスソスソスvソスgソスソスソスvソスbソスVソスソス + push_val (st->stack, C_RETINFO, st->pos); // ソスソスソスンのスソスNソスソスソスvソスgソスハ置ソスソスソスvソスbソスVソスソス st->pos = pos; st->defsp = st->start + 4 + j; @@ -1979,7 +1985,7 @@ int buildin_callsub (struct script_state *st) } /*========================================== - * 引数の所得 + * ソスソスソスソスソスフ擾ソスソスソス *------------------------------------------ */ int buildin_getarg (struct script_state *st) @@ -2006,13 +2012,13 @@ int buildin_getarg (struct script_state *st) } /*========================================== - * サブルーチン/ユーザー定義関数の終了 + * ソスTソスuソスソスソス[ソス`ソスソス/ソスソスソス[ソスUソス[ソスソスソス`ソスヨ撰ソスソスフ終ソスソス *------------------------------------------ */ int buildin_return (struct script_state *st) { if (st->end > st->start + 2) - { // 戻り値有り + { // ソス゚ゑソスソスlソスLソスソス push_copy (st->stack, st->start + 2); } st->state = RETFUNC; @@ -2098,8 +2104,8 @@ int buildin_menu (struct script_state *st) st->state = END; } else - { // goto動作 - // ragemu互換のため + { // gotoソスソスソスソス + // ragemuソスン奇ソスソスフゑソスソスソス pc_setreg (sd, add_str ("l15"), sd->npc_menu); pc_setreg (sd, add_str ("@menu"), sd->npc_menu); sd->state.menu_or_input = 0; @@ -2211,7 +2217,7 @@ int buildin_warp (struct script_state *st) pc_randomwarp (sd, 3); else if (strcmp (str, "SavePoint") == 0) { - if (map[sd->bl.m].flag.noreturn) // 蝶禁止 + if (map[sd->bl.m].flag.noreturn) // ソスソスソスヨ止 return 0; pc_setpos (sd, sd->status.save_point.map, @@ -2219,7 +2225,7 @@ int buildin_warp (struct script_state *st) } else if (strcmp (str, "Save") == 0) { - if (map[sd->bl.m].flag.noreturn) // 蝶禁止 + if (map[sd->bl.m].flag.noreturn) // ソスソスソスヨ止 return 0; pc_setpos (sd, sd->status.save_point.map, @@ -2231,7 +2237,7 @@ int buildin_warp (struct script_state *st) } /*========================================== - * エリア指定ワープ + * ソスGソスソスソスAソスwソス閭擾ソス[ソスv *------------------------------------------ */ int buildin_areawarp_sub (struct block_list *bl, va_list ap) @@ -2354,9 +2360,9 @@ int buildin_input (struct script_state *st) sd->state.menu_or_input = 0; if (postfix == '$') { - // 文字列 + // ソスソスソスソスソスソス if (st->end > st->start + 2) - { // 引数1個 + { // ソスソスソスソス1ソスソス set_reg (sd, num, name, (void *) sd->npc_str); } else @@ -2375,14 +2381,14 @@ int buildin_input (struct script_state *st) buildin_close (st); //** close } - // 数値 + // ソスソスソスl if (st->end > st->start + 2) - { // 引数1個 + { // ソスソスソスソス1ソスソス set_reg (sd, num, name, (void *) sd->npc_amount); } else { - // ragemu互換のため + // ragemuソスン奇ソスソスフゑソスソスソス pc_setreg (sd, add_str ("l14"), sd->npc_amount); } } @@ -2411,11 +2417,11 @@ int buildin_if (struct script_state *st) if (!sel) return 0; - // 関数名をコピー + // ソスヨ撰ソスソスソスソスソスソスRソスsソス[ push_copy (st->stack, st->start + 3); - // 間に引数マーカを入れて + // ソスヤに茨ソスソスソスソス}ソス[ソスJソスソスソスソスソスソスソスソス push_val (st->stack, C_ARG, 0); - // 残りの引数をコピー + // ソスcソスソスソスフ茨ソスソスソスソスソスソスRソスsソス[ for (i = st->start + 4; i < st->end; i++) { push_copy (st->stack, i); @@ -2426,7 +2432,7 @@ int buildin_if (struct script_state *st) } /*========================================== - * 変数設定 + * ソスマ撰ソスソスン抵ソス *------------------------------------------ */ int buildin_set (struct script_state *st) @@ -2448,13 +2454,13 @@ int buildin_set (struct script_state *st) if (postfix == '$') { - // 文字列 + // ソスソスソスソスソスソス char *str = conv_str (st, &(st->stack->stack_data[st->start + 3])); set_reg (sd, num, name, (void *) str); } else { - // 数値 + // ソスソスソスl int val = conv_num (st, &(st->stack->stack_data[st->start + 3])); set_reg (sd, num, name, (void *) val); } @@ -2463,7 +2469,7 @@ int buildin_set (struct script_state *st) } /*========================================== - * 配列変数設定 + * ソスzソスソスソスマ撰ソスソスン抵ソス *------------------------------------------ */ int buildin_setarray (struct script_state *st) @@ -2496,7 +2502,7 @@ int buildin_setarray (struct script_state *st) } /*========================================== - * 配列変数クリア + * ソスzソスソスソスマ撰ソスソスNソスソスソスA *------------------------------------------ */ int buildin_cleararray (struct script_state *st) @@ -2529,7 +2535,7 @@ int buildin_cleararray (struct script_state *st) } /*========================================== - * 配列変数コピー + * ソスzソスソスソスマ撰ソスソスRソスsソス[ *------------------------------------------ */ int buildin_copyarray (struct script_state *st) @@ -2565,7 +2571,7 @@ int buildin_copyarray (struct script_state *st) } /*========================================== - * 配列変数のサイズ所得 + * ソスzソスソスソスマ撰ソスソスフサソスCソスYソスソスソスソス *------------------------------------------ */ static int getarraysize (struct script_state *st, int num, int postfix) @@ -2600,7 +2606,7 @@ int buildin_getarraysize (struct script_state *st) } /*========================================== - * 配列変数から要素削除 + * ソスzソスソスソスマ撰ソスソスソスソスソスソスvソスfソス除 *------------------------------------------ */ int buildin_deletearray (struct script_state *st) @@ -2640,7 +2646,7 @@ int buildin_deletearray (struct script_state *st) } /*========================================== - * 指定要素を表す値(キー)を所得する + * ソスwソスソスソスvソスfソスソスソス\ソスソスソスl(ソスLソス[)ソスソスソスソスソスソスソス *------------------------------------------ */ int buildin_getelementofarray (struct script_state *st) @@ -2704,7 +2710,7 @@ int buildin_cutin (struct script_state *st) } /*========================================== - * カードのイラストを表示する + * ソスJソス[ソスhソスフイソスソスソスXソスgソスソスソス\ソスソスソスソスソスソス *------------------------------------------ */ int buildin_cutincard (struct script_state *st) @@ -2780,7 +2786,7 @@ int buildin_countitem (struct script_state *st) } /*========================================== - * 重量チェック + * ソスdソスハチソスFソスbソスN *------------------------------------------ */ int buildin_checkweight (struct script_state *st) @@ -2855,7 +2861,7 @@ int buildin_getitem (struct script_state *st) } //Violet Box, Blue Box, etc - random item pick if (nameid < 0) - { // ランダム + { // ソスソスソスソスソス_ソスソス nameid = itemdb_searchrandomid (-nameid); flag = 1; } @@ -2868,10 +2874,10 @@ int buildin_getitem (struct script_state *st) item_tmp.identify = 1; else item_tmp.identify = !itemdb_isequip3 (nameid); - if (st->end > st->start + 5) //アイテムを指定したIDに渡す + if (st->end > st->start + 5) //ソスAソスCソスeソスソスソスソスソスwソス閧オソスソスIDソスノ渡ソスソス sd = map_id2sd (conv_num (st, &(st->stack->stack_data[st->start + 5]))); - if (sd == NULL) //アイテムを渡す相手がいなかったらお帰り + if (sd == NULL) //ソスAソスCソスeソスソスソスソスソスnソスソスソスソスソス閧ェソスソスソスネゑソスソスソスソスソス轤ィソスAソスソス return 0; if ((flag = pc_additem (sd, &item_tmp, amount))) { @@ -2920,14 +2926,14 @@ int buildin_getitem2 (struct script_state *st) c2 = conv_num (st, &(st->stack->stack_data[st->start + 8])); c3 = conv_num (st, &(st->stack->stack_data[st->start + 9])); c4 = conv_num (st, &(st->stack->stack_data[st->start + 10])); - if (st->end > st->start + 11) //アイテムを指定したIDに渡す + if (st->end > st->start + 11) //ソスAソスCソスeソスソスソスソスソスwソス閧オソスソスIDソスノ渡ソスソス sd = map_id2sd (conv_num (st, &(st->stack->stack_data[st->start + 11]))); - if (sd == NULL) //アイテムを渡す相手がいなかったらお帰り + if (sd == NULL) //ソスAソスCソスeソスソスソスソスソスnソスソスソスソスソス閧ェソスソスソスネゑソスソスソスソスソス轤ィソスAソスソス return 0; if (nameid < 0) - { // ランダム + { // ソスソスソスソスソス_ソスソス nameid = itemdb_searchrandomid (-nameid); flag = 1; } @@ -3013,7 +3019,7 @@ int buildin_makeitem (struct script_state *st) m = map_mapname2mapid (mapname); if (nameid < 0) - { // ランダム + { // ソスソスソスソスソス_ソスソス nameid = itemdb_searchrandomid (-nameid); flag = 1; } @@ -3100,7 +3106,7 @@ int buildin_delitem (struct script_state *st) } /*========================================== - *キャラ関係のパラメータ取得 + *ソスLソスソスソスソスソスヨ係ソスフパソスソスソスソスソス[ソス^ソス謫セ *------------------------------------------ */ int buildin_readparam (struct script_state *st) @@ -3127,7 +3133,7 @@ int buildin_readparam (struct script_state *st) } /*========================================== - *キャラ関係のID取得 + *ソスLソスソスソスソスソスヨ係ソスソスIDソス謫セ *------------------------------------------ */ int buildin_getcharid (struct script_state *st) @@ -3158,7 +3164,7 @@ int buildin_getcharid (struct script_state *st) } /*========================================== - *指定IDのPT名取得 + *ソスwソスソスIDソスソスPTソスソスソス謫セ *------------------------------------------ */ char *buildin_getpartyname_sub (int party_id) @@ -3195,7 +3201,7 @@ int buildin_getpartyname (struct script_state *st) } /*========================================== - *指定IDのPT人数とメンバーID取得 + *ソスwソスソスIDソスソスPTソスlソスソスソスニソスソスソスソスoソス[IDソス謫セ *------------------------------------------ */ int buildin_getpartymember (struct script_state *st) @@ -3225,7 +3231,7 @@ int buildin_getpartymember (struct script_state *st) } /*========================================== - *指定IDのギルド名取得 + *ソスwソスソスIDソスフギソスソスソスhソスソスソス謫セ *------------------------------------------ */ char *buildin_getguildname_sub (int guild_id) @@ -3256,7 +3262,7 @@ int buildin_getguildname (struct script_state *st) } /*========================================== - *指定IDのGuildMaster名取得 + *ソスwソスソスIDソスソスGuildMasterソスソスソス謫セ *------------------------------------------ */ char *buildin_getguildmaster_sub (int guild_id) @@ -3310,7 +3316,7 @@ int buildin_getguildmasterid (struct script_state *st) } /*========================================== - * キャラクタの名前 + * ソスLソスソスソスソスソスNソス^ソスフ厄ソスソスO *------------------------------------------ */ int buildin_strcharinfo (struct script_state *st) @@ -3388,7 +3394,7 @@ int buildin_getequipid (struct script_state *st) } /*========================================== - * 装備名文字列(精錬メニュー用) + * ソスソスソスソスソスソスソスソスソスソスiソスソスソスBソスソスソスjソスソスソス[ソスpソスj *------------------------------------------ */ int buildin_getequipname (struct script_state *st) @@ -3483,7 +3489,7 @@ int buildin_repair (struct script_state *st) } /*========================================== - * 装備チェック + * ソスソスソスソスソス`ソスFソスbソスN *------------------------------------------ */ int buildin_getequipisequiped (struct script_state *st) @@ -3507,7 +3513,7 @@ int buildin_getequipisequiped (struct script_state *st) } /*========================================== - * 装備品精錬可能チェック + * ソスソスソスソスソスiソスソスソスBソスツ能ソス`ソスFソスbソスN *------------------------------------------ */ int buildin_getequipisenableref (struct script_state *st) @@ -3536,7 +3542,7 @@ int buildin_getequipisenableref (struct script_state *st) } /*========================================== - * 装備品鑑定チェック + * ソスソスソスソスソスiソスモ抵ソスソス`ソスFソスbソスN *------------------------------------------ */ int buildin_getequipisidentify (struct script_state *st) @@ -3556,7 +3562,7 @@ int buildin_getequipisidentify (struct script_state *st) } /*========================================== - * 装備品精錬度 + * ソスソスソスソスソスiソスソスソスBソスx *------------------------------------------ */ int buildin_getequiprefinerycnt (struct script_state *st) @@ -3576,7 +3582,7 @@ int buildin_getequiprefinerycnt (struct script_state *st) } /*========================================== - * 装備品武器LV + * ソスソスソスソスソスiソスソスソスソスLV *------------------------------------------ */ int buildin_getequipweaponlv (struct script_state *st) @@ -3596,7 +3602,7 @@ int buildin_getequipweaponlv (struct script_state *st) } /*========================================== - * 装備品精錬成功率 + * ソスソスソスソスソスiソスソスソスBソスソスソスソスソスソス *------------------------------------------ */ int buildin_getequippercentrefinery (struct script_state *st) @@ -3617,7 +3623,7 @@ int buildin_getequippercentrefinery (struct script_state *st) } /*========================================== - * 精錬成功 + * ソスソスソスBソスソスソスソス *------------------------------------------ */ int buildin_successrefitem (struct script_state *st) @@ -3645,7 +3651,7 @@ int buildin_successrefitem (struct script_state *st) } /*========================================== - * 精錬失敗 + * ソスソスソスBソスソスソスs *------------------------------------------ */ int buildin_failedrefitem (struct script_state *st) @@ -3660,10 +3666,10 @@ int buildin_failedrefitem (struct script_state *st) { sd->status.inventory[i].refine = 0; pc_unequipitem (sd, i, 0); - // 精錬失敗エフェクトのパケット + // ソスソスソスBソスソスソスsソスGソスtソスFソスNソスgソスフパソスPソスbソスg clif_refine (sd->fd, sd, 1, i, sd->status.inventory[i].refine); pc_delitem (sd, i, 1, 0); - // 他の人にも失敗を通知 + // ソスソスソスフ人ソスノゑソスソスsソスソスソスハ知 clif_misceffect (&sd->bl, 2); } @@ -3704,7 +3710,7 @@ int buildin_statusup2 (struct script_state *st) } /*========================================== - * 装備品による能力値ボーナス + * ソスソスソスソスソスiソスノゑソスソスソスソス\ソスヘ値ソス{ソス[ソスiソスX *------------------------------------------ */ int buildin_bonus (struct script_state *st) @@ -3721,7 +3727,7 @@ int buildin_bonus (struct script_state *st) } /*========================================== - * 装備品による能力値ボーナス + * ソスソスソスソスソスiソスノゑソスソスソスソス\ソスヘ値ソス{ソス[ソスiソスX *------------------------------------------ */ int buildin_bonus2 (struct script_state *st) @@ -3739,7 +3745,7 @@ int buildin_bonus2 (struct script_state *st) } /*========================================== - * 装備品による能力値ボーナス + * ソスソスソスソスソスiソスノゑソスソスソスソス\ソスヘ値ソス{ソス[ソスiソスX *------------------------------------------ */ int buildin_bonus3 (struct script_state *st) @@ -3758,7 +3764,7 @@ int buildin_bonus3 (struct script_state *st) } /*========================================== - * スキル所得 + * ソスXソスLソスソスソスソスソスソス *------------------------------------------ */ int buildin_skill (struct script_state *st) @@ -3797,7 +3803,7 @@ int buildin_setskill (struct script_state *st) } /*========================================== - * ギルドスキル取得 + * ソスMソスソスソスhソスXソスLソスソスソス謫セ *------------------------------------------ */ int buildin_guildskill (struct script_state *st) @@ -3818,7 +3824,7 @@ int buildin_guildskill (struct script_state *st) } /*========================================== - * スキルレベル所得 + * ソスXソスLソスソスソスソスソスxソスソスソスソスソスソス *------------------------------------------ */ int buildin_getskilllv (struct script_state *st) @@ -3893,6 +3899,43 @@ int buildin_end (struct script_state *st) } /*========================================== + * [Freeyorp] Return the current opt2 + *------------------------------------------ + */ + +int buildin_getopt2 (struct script_state *st) +{ + struct map_session_data *sd; + + sd = script_rid2sd (st); + + push_val (st->stack, C_INT, sd->opt2); + + return 0; +} + +/*========================================== + * [Freeyorp] Sets opt2 + *------------------------------------------ + */ + +int buildin_setopt2 (struct script_state *st) +{ + int new; + struct map_session_data *sd; + + new = conv_num (st, &(st->stack->stack_data[st->start + 2])); + sd = script_rid2sd (st); + if (!(new ^ sd->opt2)) + return 0; + sd->opt2 = new; + clif_changeoption (&sd->bl); + pc_calcstatus (sd, 0); + + return 0; +} + +/*========================================== * *------------------------------------------ */ @@ -3955,7 +3998,7 @@ int buildin_checkcart (struct script_state *st) } /*========================================== - * カートを付ける + * ソスJソス[ソスgソスソスソスtソスソスソスソス *------------------------------------------ */ int buildin_setcart (struct script_state *st) @@ -3992,7 +4035,7 @@ int buildin_checkfalcon (struct script_state *st) } /*========================================== - * 鷹を付ける + * ソスソスソスソスソスtソスソスソスソス *------------------------------------------ */ int buildin_setfalcon (struct script_state *st) @@ -4029,7 +4072,7 @@ int buildin_checkriding (struct script_state *st) } /*========================================== - * ペコペコ乗り + * ソスyソスRソスyソスRソスソスソスソス *------------------------------------------ */ int buildin_setriding (struct script_state *st) @@ -4043,7 +4086,7 @@ int buildin_setriding (struct script_state *st) } /*========================================== - * セーブポイントの保存 + * ソスZソス[ソスuソス|ソスCソスソスソスgソスフ保托ソス *------------------------------------------ */ int buildin_savepoint (struct script_state *st) @@ -4159,7 +4202,7 @@ int buildin_gettimestr (struct script_state *st) } /*========================================== - * カプラ倉庫を開く + * ソスJソスvソスソスソスqソスノゑソスソスJソスソス *------------------------------------------ */ int buildin_openstorage (struct script_state *st) @@ -4188,7 +4231,7 @@ int buildin_guildopenstorage (struct script_state *st) } /*========================================== - * アイテムによるスキル発動 + * ソスAソスCソスeソスソスソスノゑソスソスソスソスXソスLソスソスソスソスソスソス *------------------------------------------ */ int buildin_itemskill (struct script_state *st) @@ -4201,7 +4244,7 @@ int buildin_itemskill (struct script_state *st) lv = conv_num (st, &(st->stack->stack_data[st->start + 3])); str = conv_str (st, &(st->stack->stack_data[st->start + 4])); - // 詠唱中にスキルアイテムは使用できない + // ソスrソスソスソスソスソスノスソスLソスソスソスAソスCソスeソスソスソスヘ使ソスpソスナゑソスソスネゑソス if (sd->skilltimer != -1) return 0; @@ -4212,7 +4255,7 @@ int buildin_itemskill (struct script_state *st) } /*========================================== - * NPCで経験値上げる + * NPCソスナ経ソスソスソスlソス繧ーソスソス *------------------------------------------ */ int buildin_getexp (struct script_state *st) @@ -4231,7 +4274,7 @@ int buildin_getexp (struct script_state *st) } /*========================================== - * モンスター発生 + * ソスソスソスソスソスXソス^ソス[ソスソスソスソス *------------------------------------------ */ int buildin_monster (struct script_state *st) @@ -4254,7 +4297,7 @@ int buildin_monster (struct script_state *st) } /*========================================== - * モンスター発生 + * ソスソスソスソスソスXソス^ソス[ソスソスソスソス *------------------------------------------ */ int buildin_areamonster (struct script_state *st) @@ -4279,7 +4322,7 @@ int buildin_areamonster (struct script_state *st) } /*========================================== - * モンスター削除 + * ソスソスソスソスソスXソス^ソス[ソス除 *------------------------------------------ */ int buildin_killmonster_sub (struct block_list *bl, va_list ap) @@ -4339,7 +4382,7 @@ int buildin_killmonsterall (struct script_state *st) } /*========================================== - * イベント実行 + * ソスCソスxソスソスソスgソスソスs *------------------------------------------ */ int buildin_doevent (struct script_state *st) @@ -4351,7 +4394,7 @@ int buildin_doevent (struct script_state *st) } /*========================================== - * NPC主体イベント実行 + * NPCソスソスソスフイソスxソスソスソスgソスソスs *------------------------------------------ */ int buildin_donpcevent (struct script_state *st) @@ -4363,7 +4406,7 @@ int buildin_donpcevent (struct script_state *st) } /*========================================== - * イベントタイマー追加 + * ソスCソスxソスソスソスgソス^ソスCソス}ソス[ソスヌ会ソス *------------------------------------------ */ int buildin_addtimer (struct script_state *st) @@ -4377,7 +4420,7 @@ int buildin_addtimer (struct script_state *st) } /*========================================== - * イベントタイマー削除 + * ソスCソスxソスソスソスgソス^ソスCソス}ソス[ソス除 *------------------------------------------ */ int buildin_deltimer (struct script_state *st) @@ -4389,7 +4432,7 @@ int buildin_deltimer (struct script_state *st) } /*========================================== - * イベントタイマーのカウント値追加 + * ソスCソスxソスソスソスgソス^ソスCソス}ソス[ソスフカソスEソスソスソスgソスlソスヌ会ソス *------------------------------------------ */ int buildin_addtimercount (struct script_state *st) @@ -4403,7 +4446,7 @@ int buildin_addtimercount (struct script_state *st) } /*========================================== - * NPCタイマー初期化 + * NPCソス^ソスCソス}ソス[ソスソスソスソスソスソス *------------------------------------------ */ int buildin_initnpctimer (struct script_state *st) @@ -4421,7 +4464,7 @@ int buildin_initnpctimer (struct script_state *st) } /*========================================== - * NPCタイマー開始 + * NPCソス^ソスCソス}ソス[ソスJソスn *------------------------------------------ */ int buildin_startnpctimer (struct script_state *st) @@ -4438,7 +4481,7 @@ int buildin_startnpctimer (struct script_state *st) } /*========================================== - * NPCタイマー停止 + * NPCソス^ソスCソス}ソス[ソスソスソス~ *------------------------------------------ */ int buildin_stopnpctimer (struct script_state *st) @@ -4455,7 +4498,7 @@ int buildin_stopnpctimer (struct script_state *st) } /*========================================== - * NPCタイマー情報所得 + * NPCソス^ソスCソス}ソス[ソスソスソス所難ソス *------------------------------------------ */ int buildin_getnpctimer (struct script_state *st) @@ -4486,7 +4529,7 @@ int buildin_getnpctimer (struct script_state *st) } /*========================================== - * NPCタイマー値設定 + * NPCソス^ソスCソス}ソス[ソスlソスン抵ソス *------------------------------------------ */ int buildin_setnpctimer (struct script_state *st) @@ -4505,7 +4548,7 @@ int buildin_setnpctimer (struct script_state *st) } /*========================================== - * 天の声アナウンス + * ソスVソスフ撰ソスソスAソスiソスEソスソスソスX *------------------------------------------ */ int buildin_announce (struct script_state *st) @@ -4527,7 +4570,7 @@ int buildin_announce (struct script_state *st) } /*========================================== - * 天の声アナウンス(特定マップ) + * ソスVソスフ撰ソスソスAソスiソスEソスソスソスXソスiソスソスソスソス}ソスbソスvソスj *------------------------------------------ */ int buildin_mapannounce_sub (struct block_list *bl, va_list ap) @@ -4559,7 +4602,7 @@ int buildin_mapannounce (struct script_state *st) } /*========================================== - * 天の声アナウンス(特定エリア) + * ソスVソスフ撰ソスソスAソスiソスEソスソスソスXソスiソスソスソスソスGソスソスソスAソスj *------------------------------------------ */ int buildin_areaannounce (struct script_state *st) @@ -4586,7 +4629,7 @@ int buildin_areaannounce (struct script_state *st) } /*========================================== - * ユーザー数所得 + * ソスソスソス[ソスUソス[ソスソスソスソスソスソス *------------------------------------------ */ int buildin_getusers (struct script_state *st) @@ -4608,7 +4651,7 @@ int buildin_getusers (struct script_state *st) } /*========================================== - * マップ指定ユーザー数所得 + * ソス}ソスbソスvソスwソス閭ソス[ソスUソス[ソスソスソスソスソスソス *------------------------------------------ */ int buildin_getmapusers (struct script_state *st) @@ -4626,7 +4669,7 @@ int buildin_getmapusers (struct script_state *st) } /*========================================== - * エリア指定ユーザー数所得 + * ソスGソスソスソスAソスwソス閭ソス[ソスUソス[ソスソスソスソスソスソス *------------------------------------------ */ int buildin_getareausers_sub (struct block_list *bl, va_list ap) @@ -4657,7 +4700,7 @@ int buildin_getareausers (struct script_state *st) } /*========================================== - * エリア指定ドロップアイテム数所得 + * ソスGソスソスソスAソスwソスソスソスhソスソスソスbソスvソスAソスCソスeソスソスソスソスソスソスソスソス *------------------------------------------ */ int buildin_getareadropitem_sub (struct block_list *bl, va_list ap) @@ -4709,7 +4752,7 @@ int buildin_getareadropitem (struct script_state *st) } /*========================================== - * NPCの有効化 + * NPCソスフ有ソスソスソスソス *------------------------------------------ */ int buildin_enablenpc (struct script_state *st) @@ -4721,7 +4764,7 @@ int buildin_enablenpc (struct script_state *st) } /*========================================== - * NPCの無効化 + * NPCソスフ厄ソスソスソスソスソス *------------------------------------------ */ int buildin_disablenpc (struct script_state *st) @@ -4759,7 +4802,7 @@ int buildin_disablearena (struct script_state *st) // Added by RoVeRT } /*========================================== - * 隠れているNPCの表示 + * ソスBソスソスソストゑソスソスソスNPCソスフ表ソスソス *------------------------------------------ */ int buildin_hideoffnpc (struct script_state *st) @@ -4771,7 +4814,7 @@ int buildin_hideoffnpc (struct script_state *st) } /*========================================== - * NPCをハイディング + * NPCソスソスソスnソスCソスfソスBソスソスソスO *------------------------------------------ */ int buildin_hideonnpc (struct script_state *st) @@ -4783,7 +4826,7 @@ int buildin_hideonnpc (struct script_state *st) } /*========================================== - * 状態異常にかかる + * ソスソスソスヤ異擾ソスソスノゑソスソスソスソスソス *------------------------------------------ */ int buildin_sc_start (struct script_state *st) @@ -4793,7 +4836,7 @@ int buildin_sc_start (struct script_state *st) type = conv_num (st, &(st->stack->stack_data[st->start + 2])); tick = conv_num (st, &(st->stack->stack_data[st->start + 3])); val1 = conv_num (st, &(st->stack->stack_data[st->start + 4])); - if (st->end > st->start + 5) //指定したキャラを状態異常にする + if (st->end > st->start + 5) //ソスwソス閧オソスソスソスLソスソスソスソスソスソスソスソスソスヤ異擾ソスソスノゑソスソスソス bl = map_id2bl (conv_num (st, &(st->stack->stack_data[st->start + 5]))); else @@ -4806,7 +4849,7 @@ int buildin_sc_start (struct script_state *st) } /*========================================== - * 状態異常にかかる(確率指定) + * ソスソスソスヤ異擾ソスソスノゑソスソスソスソスソス(ソスmソスソスソスwソスソス) *------------------------------------------ */ int buildin_sc_start2 (struct script_state *st) @@ -4817,7 +4860,7 @@ int buildin_sc_start2 (struct script_state *st) tick = conv_num (st, &(st->stack->stack_data[st->start + 3])); val1 = conv_num (st, &(st->stack->stack_data[st->start + 4])); per = conv_num (st, &(st->stack->stack_data[st->start + 5])); - if (st->end > st->start + 6) //指定したキャラを状態異常にする + if (st->end > st->start + 6) //ソスwソス閧オソスソスソスLソスソスソスソスソスソスソスソスソスヤ異擾ソスソスノゑソスソスソス bl = map_id2bl (conv_num (st, &(st->stack->stack_data[st->start + 6]))); else @@ -4831,7 +4874,7 @@ int buildin_sc_start2 (struct script_state *st) } /*========================================== - * 状態異常が直る + * ソスソスソスヤ異常がソスソスソスソス *------------------------------------------ */ int buildin_sc_end (struct script_state *st) @@ -4865,7 +4908,7 @@ int buildin_sc_check (struct script_state *st) } /*========================================== - * 状態異常耐性を計算した確率を返す + * ソスソスソスヤ異擾ソスソスマ撰ソスソスソスソスvソスZソスソスソスソスソスmソスソスソスソスソスヤゑソス *------------------------------------------ */ int buildin_getscrate (struct script_state *st) @@ -4876,7 +4919,7 @@ int buildin_getscrate (struct script_state *st) type = conv_num (st, &(st->stack->stack_data[st->start + 2])); rate = conv_num (st, &(st->stack->stack_data[st->start + 3])); - if (st->end > st->start + 4) //指定したキャラの耐性を計算する + if (st->end > st->start + 4) //ソスwソス閧オソスソスソスLソスソスソスソスソスフ耐撰ソスソスソスソスvソスZソスソスソスソス bl = map_id2bl (conv_num (st, &(st->stack->stack_data[st->start + 6]))); else @@ -4932,7 +4975,7 @@ int buildin_resetlvl (struct script_state *st) } /*========================================== - * ステータスリセット + * ソスXソスeソス[ソス^ソスXソスソスソスZソスbソスg *------------------------------------------ */ int buildin_resetstatus (struct script_state *st) @@ -4944,7 +4987,7 @@ int buildin_resetstatus (struct script_state *st) } /*========================================== - * スキルリセット + * ソスXソスLソスソスソスソスソスZソスbソスg *------------------------------------------ */ int buildin_resetskill (struct script_state *st) @@ -4978,7 +5021,7 @@ int buildin_changebase (struct script_state *st) return 0; // if(vclass==22) { -// pc_unequipitem(sd,sd->equip_index[9],0); // 装備外 +// pc_unequipitem(sd,sd->equip_index[9],0); // ソスソスソスソスソスO // } sd->view_class = vclass; @@ -4987,7 +5030,7 @@ int buildin_changebase (struct script_state *st) } /*========================================== - * 性別変換 + * ソスソスソスハ変奇ソス *------------------------------------------ */ int buildin_changesex (struct script_state *st) @@ -5015,7 +5058,7 @@ int buildin_changesex (struct script_state *st) } /*========================================== - * npcチャット作成 + * npcソス`ソスソスソスbソスgソス成 *------------------------------------------ */ int buildin_waitingroom (struct script_state *st) @@ -5033,20 +5076,20 @@ int buildin_waitingroom (struct script_state *st) get_val (st, data); if (data->type == C_INT) { - // 新Athena仕様(旧Athena仕様と互換性あり) + // ソスVAthenaソスdソスl(ソスソスAthenaソスdソスlソスニ互奇ソスソスソスソスソスソスソス) ev = conv_str (st, &(st->stack->stack_data[st->start + 4])); trigger = conv_num (st, &(st->stack->stack_data[st->start + 5])); } else { - // eathena仕様 + // eathenaソスdソスl trigger = conv_num (st, &(st->stack->stack_data[st->start + 4])); ev = conv_str (st, &(st->stack->stack_data[st->start + 5])); } } else { - // 旧Athena仕様 + // ソスソスAthenaソスdソスl if (st->end > st->start + 4) ev = conv_str (st, &(st->stack->stack_data[st->start + 4])); } @@ -5056,7 +5099,7 @@ int buildin_waitingroom (struct script_state *st) } /*========================================== - * npcチャット削除 + * npcソス`ソスソスソスbソスgソス除 *------------------------------------------ */ int buildin_delwaitingroom (struct script_state *st) @@ -5072,7 +5115,7 @@ int buildin_delwaitingroom (struct script_state *st) } /*========================================== - * npcチャット全員蹴り出す + * npcソス`ソスソスソスbソスgソスSソスソスソスRソスソスソスoソスソス *------------------------------------------ */ int buildin_waitingroomkickall (struct script_state *st) @@ -5094,7 +5137,7 @@ int buildin_waitingroomkickall (struct script_state *st) } /*========================================== - * npcチャットイベント有効化 + * npcソス`ソスソスソスbソスgソスCソスxソスソスソスgソスLソスソスソスソス *------------------------------------------ */ int buildin_enablewaitingroomevent (struct script_state *st) @@ -5116,7 +5159,7 @@ int buildin_enablewaitingroomevent (struct script_state *st) } /*========================================== - * npcチャットイベント無効化 + * npcソス`ソスソスソスbソスgソスCソスxソスソスソスgソスソスソスソスソスソス *------------------------------------------ */ int buildin_disablewaitingroomevent (struct script_state *st) @@ -5138,7 +5181,7 @@ int buildin_disablewaitingroomevent (struct script_state *st) } /*========================================== - * npcチャット状態所得 + * npcソス`ソスソスソスbソスgソスソスソスヤ擾ソスソスソス *------------------------------------------ */ int buildin_getwaitingroomstate (struct script_state *st) @@ -5196,7 +5239,7 @@ int buildin_getwaitingroomstate (struct script_state *st) } /*========================================== - * チャットメンバー(規定人数)ワープ + * ソス`ソスソスソスbソスgソスソスソスソスソスoソス[(ソスKソスソスソスlソスソス)ソスソスソス[ソスv *------------------------------------------ */ int buildin_warpwaitingpc (struct script_state *st) @@ -5220,7 +5263,7 @@ int buildin_warpwaitingpc (struct script_state *st) for (i = 0; i < n; i++) { - struct map_session_data *sd = cd->usersd[0]; // リスト先頭のPCを次々に。 + struct map_session_data *sd = cd->usersd[0]; // ソスソスソスXソスgソス謫ェソスソスPCソスソスXソスノ。 mapreg_setreg (add_str ("$@warpwaitingpc") + (i << 24), sd->bl.id); @@ -5228,7 +5271,7 @@ int buildin_warpwaitingpc (struct script_state *st) pc_randomwarp (sd, 3); else if (strcmp (str, "SavePoint") == 0) { - if (map[sd->bl.m].flag.noteleport) // テレポ禁止 + if (map[sd->bl.m].flag.noteleport) // ソスeソスソスソス|ソスヨ止 return 0; pc_setpos (sd, sd->status.save_point.map, @@ -5242,7 +5285,7 @@ int buildin_warpwaitingpc (struct script_state *st) } /*========================================== - * RIDのアタッチ + * RIDソスフアソス^ソスbソス` *------------------------------------------ */ int buildin_attachrid (struct script_state *st) @@ -5253,7 +5296,7 @@ int buildin_attachrid (struct script_state *st) } /*========================================== - * RIDのデタッチ + * RIDソスフデソス^ソスbソス` *------------------------------------------ */ int buildin_detachrid (struct script_state *st) @@ -5263,7 +5306,7 @@ int buildin_detachrid (struct script_state *st) } /*========================================== - * 存在チェック + * ソスソスソスンチソスFソスbソスN *------------------------------------------ */ int buildin_isloggedin (struct script_state *st) @@ -5470,7 +5513,7 @@ int buildin_pvpon (struct script_state *st) return 0; for (i = 0; i < fd_max; i++) - { //人数分ループ + { //ソスlソスソスソスソスソスソスソス[ソスv if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth) { @@ -5507,7 +5550,7 @@ int buildin_pvpoff (struct script_state *st) return 0; for (i = 0; i < fd_max; i++) - { //人数分ループ + { //ソスlソスソスソスソスソスソスソス[ソスv if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth) { @@ -5561,7 +5604,7 @@ int buildin_gvgoff (struct script_state *st) } /*========================================== - * NPCエモーション + * NPCソスGソスソスソス[ソスVソスソスソスソス *------------------------------------------ */ @@ -5930,7 +5973,7 @@ int buildin_setcastledata (struct script_state *st) } /* ===================================================================== - * ギルド情報を要求する + * ソスMソスソスソスhソスソスソスソスソスソスソスvソスソスソスソスソスソス * --------------------------------------------------------------------- */ int buildin_requestguildinfo (struct script_state *st) @@ -5947,7 +5990,7 @@ int buildin_requestguildinfo (struct script_state *st) } /* ===================================================================== - * カードの数を得る + * ソスJソス[ソスhソスフ撰ソスソス得ゑソス * --------------------------------------------------------------------- */ int buildin_getequipcardcnt (struct script_state *st) @@ -5960,7 +6003,7 @@ int buildin_getequipcardcnt (struct script_state *st) sd = script_rid2sd (st); i = pc_checkequip (sd, equip[num - 1]); if (sd->status.inventory[i].card[0] == 0x00ff) - { // 製造武器はカードなし + { // ソスソスソスソスソスソスソスソスソスヘカソス[ソスhソスネゑソス push_val (st->stack, C_INT, 0); return 0; } @@ -5980,7 +6023,7 @@ int buildin_getequipcardcnt (struct script_state *st) } /* ================================================================ - * カード取り外し成功 + * ソスJソス[ソスhソスソスソスソスソスOソスソスソスソスソスソス * ---------------------------------------------------------------- */ int buildin_successremovecards (struct script_state *st) @@ -5994,7 +6037,7 @@ int buildin_successremovecards (struct script_state *st) sd = script_rid2sd (st); i = pc_checkequip (sd, equip[num - 1]); if (sd->status.inventory[i].card[0] == 0x00ff) - { // 製造武器は処理しない + { // ソスソスソスソスソスソスソスソスソスヘ擾ソスソスソスソスソスソスネゑソス return 0; } do @@ -6012,7 +6055,7 @@ int buildin_successremovecards (struct script_state *st) 0, item_tmp.card[3] = 0; if ((flag = pc_additem (sd, &item_tmp, 1))) - { // 持てないならドロップ + { // ソスソスソストなゑソスソスネゑソスソスhソスソスソスbソスv clif_additem (sd, 0, 0, flag); map_addflooritem (&item_tmp, 1, sd->bl.m, sd->bl.x, sd->bl.y, NULL, NULL, NULL, 0); @@ -6022,7 +6065,7 @@ int buildin_successremovecards (struct script_state *st) while (c--); if (cardflag == 1) - { // カードを取り除いたアイテム所得 + { // ソスJソス[ソスhソスソスソスソスソス闖懶ソスソスソスソスソスAソスCソスeソスソスソスソスソスソス flag = 0; item_tmp.id = 0, item_tmp.nameid = sd->status.inventory[i].nameid; item_tmp.equip = 0, item_tmp.identify = 1, item_tmp.refine = @@ -6032,7 +6075,7 @@ int buildin_successremovecards (struct script_state *st) 0, item_tmp.card[3] = 0; pc_delitem (sd, i, 1, 0); if ((flag = pc_additem (sd, &item_tmp, 1))) - { // もてないならドロップ + { // ソスソスソストなゑソスソスネゑソスソスhソスソスソスbソスv clif_additem (sd, 0, 0, flag); map_addflooritem (&item_tmp, 1, sd->bl.m, sd->bl.x, sd->bl.y, NULL, NULL, NULL, 0); @@ -6044,8 +6087,8 @@ int buildin_successremovecards (struct script_state *st) } /* ================================================================ - * カード取り外し失敗 slot,type - * type=0: 両方損失、1:カード損失、2:武具損失、3:損失無し + * ソスJソス[ソスhソスソスソスソスソスOソスソスソスソスソスs slot,type + * type=0: ソスソスソスソスソスソスソスソスソスA1:ソスJソス[ソスhソスソスソスソスソスA2:ソスソスソス損ソスソスソスA3:ソスソスソスソスソスソスソスソス * ---------------------------------------------------------------- */ int buildin_failedremovecards (struct script_state *st) @@ -6060,7 +6103,7 @@ int buildin_failedremovecards (struct script_state *st) sd = script_rid2sd (st); i = pc_checkequip (sd, equip[num - 1]); if (sd->status.inventory[i].card[0] == 0x00ff) - { // 製造武器は処理しない + { // ソスソスソスソスソスソスソスソスソスヘ擾ソスソスソスソスソスソスネゑソス return 0; } do @@ -6072,7 +6115,7 @@ int buildin_failedremovecards (struct script_state *st) cardflag = 1; if (typefail == 2) - { // 武具のみ損失なら、カードは受け取らせる + { // ソスソスソスソスソスフみ托ソスソスソスソスネゑソスソスAソスJソス[ソスhソスヘ受け趣ソスソス轤ケソスソス item_tmp.id = 0, item_tmp.nameid = sd->status.inventory[i].card[c - 1]; item_tmp.equip = 0, item_tmp.identify = 1, item_tmp.refine = @@ -6095,13 +6138,13 @@ int buildin_failedremovecards (struct script_state *st) { if (typefail == 0 || typefail == 2) - { // 武具損失 + { // ソスソスソス損ソスソス pc_delitem (sd, i, 1, 0); clif_misceffect (&sd->bl, 2); return 0; } if (typefail == 1) - { // カードのみ損失(武具を返す) + { // ソスJソス[ソスhソスフみ托ソスソスソスソスiソスソスソスソスソスソスソスヤゑソスソスj flag = 0; item_tmp.id = 0, item_tmp.nameid = sd->status.inventory[i].nameid; item_tmp.equip = 0, item_tmp.identify = 1, item_tmp.refine = @@ -6349,7 +6392,7 @@ int buildin_guardianinfo (struct script_state *st) } /*========================================== - * IDからItem名 + * IDソスソスソスソスItemソスソス *------------------------------------------ */ int buildin_getitemname (struct script_state *st) @@ -6421,7 +6464,7 @@ int buildin_getpartnerid (struct script_state *st) } /*========================================== - * PCの所持品情報読み取り + * PCソスフ擾ソスソスソスソスiソスソスソスソスソスヌみ趣ソスソスソス *------------------------------------------ */ int buildin_getinventorylist (struct script_state *st) @@ -6597,9 +6640,9 @@ int buildin_clearitem (struct script_state *st) } /*========================================== - * NPCクラスチェンジ - * classは変わりたいclass - * typeは通常0なのかな? + * NPCソスNソスソスソスXソス`ソスFソスソスソスW + * classソスヘ変ゑソスソス閧スソスソスclass + * typeソスヘ通擾ソス0ソスネのゑソスソスネ? *------------------------------------------ */ int buildin_classchange (struct script_state *st) @@ -6617,7 +6660,7 @@ int buildin_classchange (struct script_state *st) } /*========================================== - * NPCから発生するエフェクト + * NPCソスソスソス逕ュソスソスソスソスソスソスソスGソスtソスFソスNソスg *------------------------------------------ */ int buildin_misceffect (struct script_state *st) @@ -6646,7 +6689,7 @@ int buildin_misceffect (struct script_state *st) } /*========================================== - * サウンドエフェクト + * ソスTソスEソスソスソスhソスGソスtソスFソスNソスg *------------------------------------------ */ int buildin_soundeffect (struct script_state *st) @@ -7116,10 +7159,10 @@ int buildin_fakenpcname (struct script_state *st) } // -// 実行部main +// ソスソスsソスソスmain // /*========================================== - * コマンドの読み取り + * ソスRソス}ソスソスソスhソスフ読み趣ソスソスソス *------------------------------------------ */ static int unget_com_data = -1; @@ -7147,7 +7190,7 @@ int get_com (unsigned char *script, int *pos) } /*========================================== - * コマンドのプッシュバック + * ソスRソス}ソスソスソスhソスフプソスbソスVソスソスソスoソスbソスN *------------------------------------------ */ void unget_com (int c) @@ -7161,7 +7204,7 @@ void unget_com (int c) } /*========================================== - * 数値の所得 + * ソスソスソスlソスフ擾ソスソスソス *------------------------------------------ */ int get_num (unsigned char *script, int *pos) @@ -7178,7 +7221,7 @@ int get_num (unsigned char *script, int *pos) } /*========================================== - * スタックから値を取り出す + * ソスXソス^ソスbソスNソスソスソスソスソスlソスソスソスソスソスソスソスoソスソス *------------------------------------------ */ int pop_val (struct script_state *st) @@ -7195,7 +7238,7 @@ int pop_val (struct script_state *st) #define isstr(c) ((c).type==C_STR || (c).type==C_CONSTSTR) /*========================================== - * 加算演算子 + * ソスソスZソスソスソスZソスq *------------------------------------------ */ void op_add (struct script_state *st) @@ -7216,7 +7259,7 @@ void op_add (struct script_state *st) st->stack->stack_data[st->stack->sp].u.num; } else - { // ssの予定 + { // ssソスフ予ソスソス char *buf; buf = (char *) @@ -7235,7 +7278,7 @@ void op_add (struct script_state *st) } /*========================================== - * 二項演算子(文字列) + * ソス項会ソスソスZソスq(ソスソスソスソスソスソス) *------------------------------------------ */ void op_2str (struct script_state *st, int op, int sp1, int sp2) @@ -7278,7 +7321,7 @@ void op_2str (struct script_state *st, int op, int sp1, int sp2) } /*========================================== - * 二項演算子(数値) + * ソス項会ソスソスZソスq(ソスソスソスl) *------------------------------------------ */ void op_2num (struct script_state *st, int op, int i1, int i2) @@ -7341,7 +7384,7 @@ void op_2num (struct script_state *st, int op, int i1, int i2) } /*========================================== - * 二項演算子 + * ソス項会ソスソスZソスq *------------------------------------------ */ void op_2 (struct script_state *st, int op) @@ -7376,7 +7419,7 @@ void op_2 (struct script_state *st, int op) } /*========================================== - * 単項演算子 + * ソスPソスソスソスソスソスZソスq *------------------------------------------ */ void op_1num (struct script_state *st, int op) @@ -7399,7 +7442,7 @@ void op_1num (struct script_state *st, int op) } /*========================================== - * 関数の実行 + * ソスヨ撰ソスソスフ趣ソスs *------------------------------------------ */ int run_func (struct script_state *st) @@ -7478,11 +7521,11 @@ int run_func (struct script_state *st) if (st->state == RETFUNC) { - // ユーザー定義関数からの復帰 + // ソスソスソス[ソスUソス[ソスソスソス`ソスヨ撰ソスソスソスソスソスソスフ包ソスソスA int olddefsp = st->defsp; int i; - pop_stack (st->stack, st->defsp, start_sp); // 復帰に邪魔なスタック削除 + pop_stack (st->stack, st->defsp, start_sp); // ソスソスソスAソスノ邪厄ソスソスネスソス^ソスbソスNソス除 if (st->defsp < 4 || st->stack->stack_data[st->defsp - 1].type != C_RETINFO) { @@ -7491,12 +7534,12 @@ int run_func (struct script_state *st) st->state = END; return 0; } - i = conv_num (st, &(st->stack->stack_data[st->defsp - 4])); // 引数の数所得 - st->pos = conv_num (st, &(st->stack->stack_data[st->defsp - 1])); // スクリプト位置の復元 - st->script = (char *) conv_num (st, &(st->stack->stack_data[st->defsp - 2])); // スクリプトを復元 - st->defsp = conv_num (st, &(st->stack->stack_data[st->defsp - 3])); // 基準スタックポインタを復元 + i = conv_num (st, &(st->stack->stack_data[st->defsp - 4])); // ソスソスソスソスソスフ撰ソスソスソスソスソス + st->pos = conv_num (st, &(st->stack->stack_data[st->defsp - 1])); // ソスXソスNソスソスソスvソスgソスハ置ソスフ包ソスソスソス + st->script = (char *) conv_num (st, &(st->stack->stack_data[st->defsp - 2])); // ソスXソスNソスソスソスvソスgソス復鯉ソス + st->defsp = conv_num (st, &(st->stack->stack_data[st->defsp - 3])); // ソス準ソスXソス^ソスbソスNソス|ソスCソスソスソス^ソス復鯉ソス - pop_stack (st->stack, olddefsp - 4 - i, olddefsp); // 要らなくなったスタック(引数と復帰用データ)削除 + pop_stack (st->stack, olddefsp - 4 - i, olddefsp); // ソスvソスソスソスネゑソスソスネゑソスソスソスXソス^ソスbソスN(ソスソスソスソスソスニ包ソスソスAソスpソスfソス[ソス^)ソス除 st->state = GOTO; } @@ -7505,7 +7548,7 @@ int run_func (struct script_state *st) } /*========================================== - * スクリプトの実行メイン部分 + * ソスXソスNソスソスソスvソスgソスフ趣ソスsソスソスソスCソスソスソスソスソスソス *------------------------------------------ */ int run_script_main (unsigned char *script, int pos, int rid, int oid, @@ -7631,7 +7674,7 @@ int run_script_main (unsigned char *script, int pos, int rid, int oid, if (st->state != END) { - // 再開するためにスタック情報を保存 + // ソスト開ソスソスソス驍スソス゚にスソス^ソスbソスNソスソスソスソスソスソスソスロ托ソス struct map_session_data *sd = map_id2sd (st->rid); if (sd /* && sd->npc_stackbuf==NULL */ ) { @@ -7653,7 +7696,7 @@ int run_script_main (unsigned char *script, int pos, int rid, int oid, } /*========================================== - * スクリプトの実行 + * ソスXソスNソスソスソスvソスgソスフ趣ソスs *------------------------------------------ */ int run_script (unsigned char *script, int pos, int rid, int oid) @@ -7674,7 +7717,7 @@ int run_script_l (unsigned char *script, int pos, int rid, int oid, if (sd && sd->npc_stackbuf && sd->npc_scriptroot == (char *) rootscript) { - // 前回のスタックを復帰 + // ソスOソスソスソスフスソス^ソスbソスNソス復帰 script = sd->npc_script; stack.sp = sd->npc_stack; stack.sp_max = sd->npc_stackmax; @@ -7688,7 +7731,7 @@ int run_script_l (unsigned char *script, int pos, int rid, int oid, } else { - // スタック初期化 + // ソスXソス^ソスbソスNソスソスソスソスソスソス stack.sp = 0; stack.sp_max = 64; stack.stack_data = @@ -7714,7 +7757,7 @@ int run_script_l (unsigned char *script, int pos, int rid, int oid, } /*========================================== - * マップ変数の変更 + * ソス}ソスbソスvソスマ撰ソスソスフ変更 *------------------------------------------ */ int mapreg_setreg (int num, int val) @@ -7729,7 +7772,7 @@ int mapreg_setreg (int num, int val) } /*========================================== - * 文字列型マップ変数の変更 + * ソスソスソスソスソスソスソス^ソス}ソスbソスvソスマ撰ソスソスフ変更 *------------------------------------------ */ int mapreg_setregstr (int num, const char *str) @@ -7753,7 +7796,7 @@ int mapreg_setregstr (int num, const char *str) } /*========================================== - * 永続的マップ変数の読み込み + * ソスiソスソスソスIソス}ソスbソスvソスマ撰ソスソスフ読み搾ソスソスソス *------------------------------------------ */ static int script_load_mapreg () @@ -7800,7 +7843,7 @@ static int script_load_mapreg () } /*========================================== - * 永続的マップ変数の書き込み + * ソスiソスソスソスIソス}ソスbソスvソスマ撰ソスソスフ擾ソスソスソスソスソスソスソス *------------------------------------------ */ static int script_save_mapreg_intsub (void *key, void *data, va_list ap) @@ -7923,7 +7966,7 @@ int script_config_read (char *cfgName) } /*========================================== - * 終了 + * ソスIソスソス *------------------------------------------ */ static int mapreg_db_final (void *key, void *data, va_list ap) @@ -7974,7 +8017,7 @@ int do_final_script () } /*========================================== - * 初期化 + * ソスソスソスソスソスソス *------------------------------------------ */ int do_init_script () |