作者彙整: 九條凜

[080217]關於節後各單位部署的一些建議

  今年的春節是非同一般的春節,在這段時間裏,我國經歷了歷史上罕見的冰凍雨雪災害,造成各方面的巨大損失,電力、交通、物流、工業等方面受到不同程度的影響。面對此次百年不遇的災情,各地政府努力奮戰,使此次災害的損失得到最大程度的挽回,鐵路、公路、電路等也逐漸恢復災前狀態。
  此次冰凍雨雪災害已經基本平息,但是各單位還是要高度警惕,越是這樣的時候越是要認真戒備到最後。我本人,作為一名普通市民,有如下幾點看法:
  一、各單位不能在此鬆懈下來,要繼續抓緊災後重建以及恢復工作,目前個別地方公路仍有一些積雪,需要恢復的電路要及時恢復,已經恢復和未造成損失的線路要積極進行檢查和維護。
  二、節後春運即將來臨,鐵路部門要全力應對。尤其是受災嚴重,鐵路運輸剛剛恢復的路段,更要注意將要來臨的運輸高峰期。全力做好應對工作,讓學生返校,工人返工暢通無阻。
  三、各方面應有意識的預防冰凍雨雪災害後的各種可能發生的情況,如,融雪性洪水,泥石流等,洪水多發地段要做好防汛工作,預防積雪大面積融化後洪水帶來的損害。
  四、交通運輸及市場管理部門應儘可能降低此次災害對物價造成的影響,控制因災害損失的蔬菜農作物的價格,進行宏觀調控,必要時可採取適當的補貼措施。例如,對於南方甘蔗的大面積受災,需要預防蔗糖及糖類有關商品的價格的大範圍波動。
  另外,呼籲各單位及普通市民能全力支持抗災救災有關活動,萬眾一心。雖然已經度過了重要關頭,但還是不能鬆懈下來,做好災後穩定的最後工作。相信我們一定能眾志成城,向世界人民展現出我們團結一心的力量。

[080212]當和諧成為一種文化

  昨天聽說「很黃很暴力」吧被和諧了,我沒有親見,但是卻始終感到惋惜。這種莫名而生的情緒並非因為一個貼吧的消逝,而是一個詞語的毀滅。
  到我空間或者博客來的多是年輕人,我想和我年級差不多的人,沒有人會不知道「和諧」一詞的用法。「丫的再囂張,老子就和諧了你!」從這句話大家不難知道當今年輕人對「和諧」一詞的定義,這種用法,至少在我身邊可以說廣為流傳,有時候實在讓人哭笑不得,「和諧」一詞在我們這裡,已經難辨褒貶了。
  又一年春節過去了,初一那天,我問我的一個朋友,今年春晚覺得辦的如何。他回答說,每年還不都是那樣,只是今年的春晚很和諧,政治氣氛很濃。我說這個我也覺得如此,從主持人到節目內容,張口閉口離不開和諧,讓我們這些年輕人看來真是又好氣又好笑。當台上歡聲笑語說和諧的時候,我請求你們這些整天忙於工作的領導們下來上上網,看看論壇,在年輕人生活的圈子裡看看好嗎?你們知道多少年輕人對「和諧」一詞嗤之以鼻么?我有個朋友說,歌頌和諧,就像拍馬屁,越是高調,馬屁拍的越響。鐵道部可算是一個典範,和諧號,我真為那些個動車組感到自豪。
  去年十部委聯發的文件更是和諧網絡的結晶,打擊各類黃色網站確實很有必要,但是此文件引發的結果,卻不僅僅是預想的那樣。至少我看見的,是更多的正規網站因為一個圖片,或者論壇因為一個帖子而慘遭封殺,而那些服務器置身海外的黃色網站卻可以安然存活至今。我不明白這樣做有什麼意義,我也不想明白,我只想說我所看見的,去年網絡管理最嚴格的時候,在QQ空間里發「民主」一詞都會被屏蔽!(現在已經解禁了)也許很多論壇和博客都有屏蔽機制,就是指那些敏感字眼在發表的時候系統會自動將其更改為星號,我們年輕人將其稱之為「被和諧」。
  去年我得知空間會屏蔽「民主」一詞的時候我就在想,北大似乎有個雕塑,是一個字母D和一個字母S,代表德先生和賽先生(民主與科學),S的上面有個地球。同學們對那個雕塑的解釋就是,科學還頂個球,民主連個求都不頂。我想,也許確實是這樣吧。

[080203]為何還是如此純潔

  本人曾在去年8月15日以《為什麼我會如此純潔》為題發表一篇日誌於空間,不料近日有不明事理之人竟對此大加猜疑,妄圖詆毀本人清譽,特在此小書此文,以表大義。
  據20年前的老人們講,本人自出生,就有着一副純潔的臉孔,無暇的身形,這是大多數人公認的。於是便因此得名李純潔,正是人如其名,自小就一身正氣,懲惡揚善,在村子裏做了不少善事,正所謂「不以其為私,故能成其私」①,很快的,名聲就像高山流水般的傳開了。我五歲那年,正是村裡鬧饑荒之年,那時我雖不懂太多事理,但還是懷着與生俱來的正義與勇氣,參與到了抗災自救義務團體的行列中。事後,村長稱讚我見義勇為,是大家學習的榜樣,並送我一塊上書「上善若水」②的匾文,我看無法推託,便只好接受。
  後來,本人逐漸長大成人,漸漸學會了做無名英雄的道理,古人云「小隱於林野,大隱於市朝」,本人不敢妄自菲薄稱大,便自名為「林」,屈身於市井之中。此後大多人將此名誤傳為「霖」,便有「XX霖」一說,一直沿用至今。本想苟全性命於林野,卻沒料想之後會遷居繁華都市,由此而開始新的生活。
  本人雖不敢稱大,但金子的光芒總也無法遮擋。來到鬧市沒多久時日,純潔的心靈便暴露了我的身份,我再次成為公眾的焦點,正所謂「是以聖人之能成大也,以其不為大也,故能成大。」③其後我的一言一行便影響着全市幾百萬人的心,我深知自己責任重大,不能再逃避下去,於是積极參与到政府各部門的工作中去,為大家能過上好生活而貢獻自己的一份微薄之力。從九八抗洪,到神六升空,我甘願作為一名人民公僕為大家默默的服務。最終,我被世界有愛協會授予「很好!很有愛!」的偉大稱號,並被世界人民親切的稱為「Archaiomelesidonophrunicherata」④。從此,我的純潔、光輝、大義、善良、正直的形象便成為家喻戶曉的純潔者典範。
  但是世界上總有一些心懷嫉妒之人,不願承認本人的高潔,不遺餘力的對我進行猜疑和詆毀。我並非在乎這種螳臂擋車的行為,因為我本人已淡泊名利,不願身處世俗,本想三更月下入無何⑤,但是人在江湖,身不由己,這已經是離弦的箭,難以收回了。話不絮煩,一切詆毀本人名譽的行為,也只是電光影里斬春風⑥,最終只會成為眾矢之的。所以請大家暫且務必承認我的純潔與正義,為了世界和平和而努力。
——————–
  聲明:以上內容純屬本人無聊之作,與任何團體、個人無關,如有雷同,實屬巧合。
  請大家不要誇讚我的文筆,更不要膜拜我的純潔,我承認自己是文學天才,是文藝復興的先驅,「蓋文章,經國之大業,不朽之盛事。」⑦就是這個道理。如果還有人對我的純潔有所質疑,再說什麼我也不會介意了,正所謂「是非功過浮雲間,常思己過得清閑。」
——————–
注釋:
①正因為他的無私,所以能成就自身。原文「不以其為私邪?故能成其私。」出自《道德經》。
②上善若水:崇高的聖人就好像水。
③聖人之所以能成為偉大,因為他始終不自以為偉大,所以能夠成就他的偉大。語出《道德經》。
④曾被稱為世界上最長的單詞,是古希臘早期喜劇代表作家阿里斯多芬的作品《蜂》的一句台詞,意為可愛的人。
⑤中國禪僧偃溪廣聞的詩句:三更月下入無何。無何,即烏有鄉,意為無心心境。
⑥電光影里斬春風:無學禪師宋末被蒙兵所獲,問斬前說了這一句,意思是:雖然殺我肉體,卻殺不死我的靈魂,不過像一溜光斬春風,無濟於事的。蒙兵聞言,嚇得逃竄。
⑦出自《典論·論文》(曹丕)

[080130]暴風雪過去咯

  呵呵呵呵,原來暴風雪不算什麼。今天心情無比開心,昨天的鬱悶都消散了,估計是周期性的哈哈。昨天的日誌就放在那裡好了,總之,現在非常好,恩,就這樣,大家都要非常好,全國人民都要很好。廢話不說了,我今天還要去就買票事宜出去下,88。

[080129]報應

  我得到報應了,偽善的結果。屈身於垃圾桶的我故作高尚的樣子,最後還是要回到垃圾桶,也許這就是我的歸宿吧。先前我在想,我想救自己,是不是要讓自己更垃圾,更醜陋。現在我明白了,我失敗的原因在於我本來就是偽善的人,裝的過於高尚了。不過挺好的,受到報應了,心情無比舒暢,雖然我還是相信着什麼,繼續等待着什麼。不過在那之前,還是慢慢作為垃圾好了,至少有個垃圾桶,還能有個東西保護我,讓我有力氣繼續等待……神啊,求你了,我的人生真的不想留下那種遺憾……

[080127]千里冰封萬里雪飄

  連續幾天的全國範圍內的大雪、凍雨造成全國多省市電路系統受損,多個片區停電,以及交通運輸受阻,由此而引發的物資短缺又造成了部分地區物價的上漲,鐵路、民航也開始出現癱瘓局面……
  面對越來越嚴峻的天氣環境,面對各地局勢,我個人雖身處安寧之地,但也擔憂萬分。災難當前,我卻不能做點什麼,就連督促和鼓勵各單位做好抗災減災工作都無能為力。一個人的力量非常渺小,不足以改變大自然,更不足以改變這個世界。而又沒有人願意去改變,即使在風雪中瑟瑟顫抖,即使在冰凌中已經麻木,所以,只能如此了……
  我本人,在這裡,代表我個人,希望……僅僅希望……讓暴風雪來的更猛烈些吧!!!

[080123]思考

  回到家這幾天,思考了很多。不知為何,突然有一種好景不長了的感覺。也許是大三了,加上外界刺激,於是開始思慮一些問題,工作還是考研,工作該怎麼工作,考研又該如何考研。
  首先是二姨夫給我滔滔不絕的講述他作為博導的人生和工作理論,然後是某位高人(姑且讓我這麼稱為)對我的疑慮進行了深入分析和教育。分析現狀和放眼未來,情形確實不容樂觀。雖說我的專業就業率還是比較高的,但是就我目前的情況來看,社會經驗和人脈方面確實很成問題,如果不甘於窩在電廠,就肯定不能按照現狀發展。
  考研確實也是一個穩當的方法,當然不是為了那個證,正如學校某老師所言,考研只是為了充實自己,如果是為了找工作就算了。這話不是完全正確的,充實自己,給自己的人生增加實踐歷練,這也是在工作方面強勢所在。就我的情況來講,姑且實踐不說,就連成績都是個問題。正如高人所說:「下一步不該去想自己如何前途如何工作。而是該想如何提高自己的學習成績。如何深入滲透自己的聰明才智。 怎麼樣擴大自己的人脈關係。怎樣給自己的簡歷添加實踐歷練。家裡告訴你的考研是一個很穩當的辦法,由此看出你家庭對你的前途持慎重態度,並且認為你實力不足。」由此看來,這條路是可以選擇的,當然,也是比較難以保證的,就像很多人知道的問題所在,我是否能從現在開始努力,保證自己的學習成績?如果成績無法保證就更無精力而言它。這是當務之急,也是當今革命的首要問題。
  可以說從古至今,我的道路不算坎坷,一路上平步青雲,直到大學才開始顛簸。今年的寒假,今年的新年,對家裡來說和往年相比不算是太平,而我自己又該怎麼重新開始,是這個寒假的研究課題。眼光先放的低一點,目前的初步目標是:靜心補過,穩定成績,努力學習,進軍**。

[080117]離愁別緒

  放假了,這次我是我們寢室壓軸的了。感覺有點失敗,還要一個人在寢室玩兩天,應該買更早時候的車票的。不知道說什麼,女友今天一大早走的,為了防止傷心,沒去送。昨天晚上告別之後我回寢室路上看見只大野貓,又冷又餓的樣子,於是就和貓玩了會,臨走的時候還被貓咬傷了。本來覺得沒什麼事情,同學們都危言聳聽的,於是弄的我浪費了半瓶酒精。
  令我高興的是,今天早上起來,發現下雪了,BD很少下雪的,可是在我們希望下雪的時候下雪了。雖然沒封高速,不過至少覺得,老天爺很會安慰人。這兩天估計也沒什麼事情,就是收拾收拾,在同學寢室上上網,看看很弱的肥皂劇,僅此而已。所以,我沒事的,放心吧。好了,繼續看很弱的電視劇。
  多情自古傷離別……不過……家還是要回的……

[080115]昨日流水帳

  越是有閑暇越是沒時間寫日誌,現在快放假時候了,基本整天沒什麼事就等着最後交了報告答辯。
  最近玩了N天自己開的ROF,懷念起前幾年放假KF的日子,還有高中在GF玩的日子,那時候相當敬業,中午和晚上都去西直門。對了,寢室里同學還有下載了Mir2玩的,傳奇可謂當年的傳奇了,網遊歷史上的傳奇,當然,現在也被可惡的WOW埋沒了。想起初中or高一?玩傳S的日子……算了,這樣的話題越扯越多,說不完的,我突然又想起曾經玩ft2……
  昨天看了《馬路天使》,1937年的片子,雖然上次放假也看了一堆經典,不過這個是更為經典的,看的我眼花,畫面的聲音實在是……但是,還是不錯,那時候周璇還很年輕啊,真快……還有,結局很詭異……
  不想寫日誌了,感覺一放假就沒靈感(不放假似乎也沒有),所以就此落筆,順便說句,Athena的NPC腳本似乎有那麼點意思,可以供我玩兩天。順便再說句,19號就出發回家了,這幾天應該不會更新日誌。

Athena NPC Script

某日看見此文件,覺得比較有用,保存在空間里,順便紀念下曾經假期在家的日子。
此文件為AthenaNPCScript的說明,正如漢化者所說,此文件確實是明燈,讓你解決很多Athena的腳本問題。
——————–

漢化:lkm
重新整理:KINBA

希望本文能成為所有腳本寫手在黑暗裡的明燈
本文部分比較難理解的地方我都加了說明,雖然不詳細,但是一看就懂
如果還是看不懂,可以找點使用該命令的腳本看看
本人不保證翻譯的一定正確,如有錯誤的地方請指出

-----------------------------------
AthenaNPCScript
?目錄
0.開始
1.NPC的定義
2.腳本說明和基本規則
3.命令,函數,定數Label等等
4.錯誤信息
5.其他
0.開始
本文中的函數及格式等表述參考包含於最新的snapshot中的npc_sample.txt。
考慮到查看本文所用的編輯器問題,tab文字表記為,任意值表記為。
坐標系參考下圖。
↑Y的増加
( 0,200)–(200,200)
| |
| |
| |
| |
| |
( 0, 0)–(200, 0)→X的増加
1.NPC的定義
可放在athena目錄之下任何地方(最好是athena/script下),文件格式為txt。
先記述NPC的功能作用(某些場合NPC一詞並不恰當)。

*傳送點:進行MAP間的移動。
,,warp,,,,
gatname 指定放置傳送點的地圖文件名。不要忘記加.gat。
x 指定放置傳送點的橫坐標。
y 指定放置傳送點的縱坐標。
displayname 傳送點識別名。可重名。DEBUG用。
dx 傳送點的x軸有效範圍。
dy 傳送點的y軸有效範圍。實際可能為方形範圍而非圓形。
dx,dy的例子(● x,y):
0,0 1,0 2,2
* ***** *******
*●* **●** *******
* ***** *******
***●***
*******
*******
*******
*碰到●的話就移動。
destination_gatname 目標地圖。.gat可有可無。
destination_x 目標地圖的橫坐標。
destination_y 目標地圖的縱坐標。
注意事項:
如果在相同位置放置1個以上的傳送點,則只顯示最後記述的那個。
如果目標地圖的坐標點為移動禁止、則會隨機傳送MAP的某個位置。
*怪物:管理怪物刷新。
,,,,monster,,,[,]
gatname 指定出現的地圖文件名。
x 指定出現的橫坐標。0為隨機。
y 指定出現的縱坐標。0為隨機。
xs 指定出現的X軸方向的範圍。
ys 指定出現的Y軸方向的範圍。
xs,ys的例子(●為x,y):
0,0 2,1
● *****
**●**
*****
*和●點為怪物出現的位置。
displayname 怪物的表示名字。
npcid 指定出現怪物的ID,參考mob_db.txt的設定。。
number 出現於地圖中及範圍內的最大數量。
spawn_delay1 刷新後等多少毫秒再次刷新。
spawn_delay2 死亡後等多少毫秒再次刷新。
event 指定事件。可省略。
注意事項:
依據spawn_delay1或spawn_delay2來刷新的結果為標準,優先選擇二者中慢的那個。

*商店:販賣物品。
,,,shop,: gatname 指定放置的地圖文件名。
x 指定放置的橫坐標。
y 指定放置的縱坐標。
direction 指定方向。
詳細direction:
701
6 2
543
displayname 放置的商店所顯示的名字。
npcid 指定放置的商店所顯示的NPC的ID。
item_id 指定商店配備出售的物品的ID。參考item_db。
price item_id所指定的物品的價格。
如果指定為負數,則取item_db.txt中設定的價格。
:,可以用(,)來分割以指定多個物品。
*腳本:製作NPC。
,,,script,,,{<script>// ,,,“部分改為”-“的話,可用於製作存在 於map服務器中,但實際上並不使用的NPC。可用來作為後述的複製腳本的複製源。 *複製腳本:複製現存的NPC(的腳本)。 ,,,duplicate(), source以外的參數和一般的腳本相同。 source處指定為複製源的NPC的識別符。 如果複製源的NPC已經被放置於地圖上,則必須為同一地圖。 如果並沒有被放置於地圖上,則可複製到任何地圖。 如script\npc\quest里的npc_event_ice.txt *用戶定義型函數腳本:製作由腳本調用的用戶定義型函數。 functionscript{ <script> … } 製作可由callfunc命令調用的函數。 函數調用的參數可由getarg函數取得。 函數最後必須加return命令。 *地圖標識:管理地圖規則。 mapflag gatname 指定設定規則的地圖的文件名。 const 指定規則的內容。 const介紹。 nosave,, 重新登錄時移動到,。 如果為”nosave SavePoint”的話則移動到保存點。 nomemodummy 禁止記憶。 noteleportdummy 禁止使用指定了SavePoint或者Random的warp段,傳送之陣和瞬間移動。 noportaldummy battle.conf的noportal_flag為1時有效,禁止傳送之陣。 noreturndummy 禁止warp命令SavePoint的回城,禁止蝴蝶翅膀的使用。 nobranchdummy 禁止使用枯樹枝和箱子。 nopenaltydummy 禁止任何處罰。 nozenypenaltydummy 死亡時不掉錢。 notradedummy 禁止玩家間交易。 norevivedummy 死亡時強制傳送到記錄點。 noskilldummy 禁止所有技能的使用。 nodropdummy 怪物死都不掉落道具。 noabradummy 禁止使用 隨機技能 技能。 noicewalldummy 禁止使用冰牆。 snowdummy 下雪。 fogdummy 霧。 sakuradummy 櫻花。 leavesdummy 落葉。 raindummy MAP內全變為水區。 base_exp_rate, 基本經驗得到率改為。 job_exp_rate, 職業經驗得到率改為。 monster_noteleportdummy 怪物無法使用傳送。 pvpdummy PVP可能MAP。 pvp_nopenaltydummy PVP不處罰。 pvp_nopartydummy PVP不可攻擊同隊人員。 pvp_noguilddummy PVP不可攻擊同工會人員。 pvp_nightmaredroprandom,equip, PVP惡夢模式。的部位裝備會掉落。 pvp_nocalcrankdummy PVP里不計算數組次序。 gvgdummy 工會戰。 gvg_nopartydummy 工會戰不可攻擊同隊人員。 pkdummy 可PK的MAP。 pk_nopartydummy PK模式里無法攻擊同隊伍的人。 pk_noguilddummy PK模式里無法攻擊同工會的人。 pk_nightmaredroprandom,equip, PK惡夢模式。的部位裝備會掉落。 pk_nocalcrankdummy PK里不計算數組次序。 turbodummy 變為 競速場地。 2.腳本說明和基本規則 *數字 可使用帶符號的整數和16進制整數。 帶符號的整數使用半角數字123456等。 16進制數需使用0x12等0x開頭的格式。 *字符串 “(雙引號)內的所有的文字被認為為字符串。 “(雙引號)想使用雙引號需在雙引號前加加\。 需要使用\記號時使用\\。 可表示的字符串可用^000000等來改變顏色。 也可變量 + “字符串”進行字符串連接。 *單項計算符 以下為數值專用的單項計算符。 – 符號取反(2的補數) ~ 位元邏輯否(1的補數) ! 邏輯否 *2項計算符 以下的2項計算符在數值和在字符串中意義不同。 + 加法或結合 數字的場合為加法。 其餘將被認為為字符串進行結合。(如一行寫不下可用+來做上下文的連接(VB里用的最多)。) 以下的2項演算符為數值專用。 – 減法 * 乘法 / 除法 % 取余 & 位元邏輯與 | 位元邏輯或 ^ 位元排他邏輯非 && 邏輯與 || 邏輯或 >> 按位右移動 如a=10 a>>1後,a為5,相當於除2 << 按位左移動 如a=10 a<<1後,a為20,相當於乘2 (位元是把變量或常量看作二進制數來做各種邏輯運算,具體請參考C++的教程) 下面2項演算符用於數值和數值間,或字符串和字符串間的比較。 下列關係式成立返回1、不成立返回0。 == 等於 != 不等於 > 大於 >= 大於等於(以上) < 小於(不滿) <= 小於等於(以下) *3項演算符 根據條件是否成立選擇一個進行處理。 ? : 為真時,進行處的處理,返回處的值, 為真時,進行處的處理,返回處的值,。 *變量 可使用半角英文字母及數字。 變量的可視範圍及生存周期由前綴符指定。 請注意小寫的l將被作為前綴處理。 (小寫的l方式今後將被放棄請不要使用) 前綴 可視範圍 生存時間 (無) 人物 永遠 @ 人物 短時間 l 同上 同上(不推薦) $ 地圖服務器 永遠 $@ 地圖服務器 短時間 # 帳號 永遠 ## 帳號(全服) 永遠 ‘ 腳本 短時間(參考下面) ‘@ 腳本 短時間(參考下面) 就是說,一般的短時間的變量用@, 需要保存的變量不需要前綴符, 全體人物共用的變量是$、需要同一帳號共用的變數使用#或##。 同帳號的是 # 或 ## 。 ‘系列的前綴符的變量的可視範圍為腳本內。 和別的變量相比,有使用時可以不必關心是否和別的腳本的變量名重複, 而且也和特定玩家是否關聯無關等優點。 ‘ 變量是依賴於腳本的變量,即使腳本執行結束其值也被保存(服務器 重啟則消失)。雖然使用callfunc命令的話,被調用函數將使用與調用函 數無關的別的變量,但配合getarg()函數使用的話,被調用函數可操縱調用 函數方的值。 function script func1 { set ‘var1, ‘var1 + 1; // func1::’var1 加1 set getarg(0), getarg(0) + 1; // func2::’var1 加1 } function script func2 { callfunc “func1”, ‘var1; } ‘@變量為函數固有變量,每次實行callfunc,callsub時將取得新的內存空間, return返回時則恢復為原來值。由於其類似於C語言的局部變量,隨意可以用 於NPC用的臨時變量,或遞歸處理等。這個變量被調用方也可用getarg()函數 來操作調用方變量。 function script func3 { set , rand(5); if( == 0 ) { return ; } else { // 與別的變量不同,因為callfunc的目標變量不同, // 所以不會發生mes的結果全為0的現象。 callfunc “func3”; } mes ; return; } 另外,變量的型別由後綴符指定。 不過,字符串型只可用於人物臨時變量,腳本依存變量, 和永久/臨時的MAP服務器變量。 (後綴符@,$,$@) 後綴符 型別 (無) 整數 $ 字符串 <例> @hoge$ 字符串型臨時人物變量 hoge 數値型永久人物變量 $hoge 數値型永久全人物共用變量 不要多用非臨時變量。 不需要保存的東西盡量使用領事變量。 請多多考慮是否需要保存。 特別是永久的人物/帳號變量有個數限制。 知道某個變量使用完畢並不再使用的時候, 將值設為0即可刪除。 *數組變量 變量名後 用[ ]括起的話則為數組變量。 變量名與”[” 之間不能有空格。 多次元排列也可以使用,能使用的次元沒有限制 <例> hoge[10] fuga[ @temp ] foo[5][@i][3] 數組的元素編號可在0~127範圍內指定、編號為0的元素與同名的變量 同值。比如說,hoge[0]與hoge為同一變量。 同樣、fuga[0][1] 和 fuga[1] 是相同的變數。 (但是、foo[1][0][2] 和 foo[1][2] 是別的變數) 數組變量可用於人物的臨時變量,臨時/永久的地圖服務器變量, 和腳本依存變量。 變量的型別可以為數字或字符串。 *標籤 可使用半角英數和下劃線(_)。 為了區別於變量和命令,推薦在先頭加上L_。 比如說 L_hoge: 。 用於指定if語句和menu語句的跳往何處。 *定數 athena提供了db/const.txt內的定數。 只能在腳本內使用。 *內嵌變量 可用來取得交談的玩家的狀態。 記載於db/const.txt。 並且,絕大部分無法帶入值。 *表達式 命令的參數為數值時,可利用。 雖然不需要空格,不過加上的話方便查看。 比較演算符及邏輯運算符當值為真時數值為1,當值為偽時返回0。 *事件 沒有固定格式的腳本。 可用於製作時間相關的腳本。 在記述事件名的地方,指定為事件名::標籤的話,則從事件指定的 標籤開始執行腳本。 *命令句法 參數請使用半角空格分割。 最先的函數/命令不需要(),但其外需要。不需要參數的函數以 mes checkfalcon記述的話,會去讀取checkfalcon變量的值(基本上是0), 而不會調用函數。 另外,在文的先頭寫入函數,可以按意願捨棄值,也可以用帶()呼叫沒有返回值的 (用戶定義)函數。(參照:npc_test_seller.txt) 3.命令,函數及定數 *基本語法 類似C語言的語法。如果不清楚的話,請看c語言的解說。 if – else if – else 語法 if( ) [ [else if() ]* else ] 如果為真、則執行部分並結束if文。 如果後邊存在 “else if()” 的話,則從上至下順次判斷, 為真就執行並結束if句法。 最後如果有”else” 的話,當上面就返回假後實行、結束if句法。 然後、 能用 { , } 來組合多條語句。 例; // @input 為0 跳到HOGE。 if(@input == 0) goto HOGE; // @input 為0 跳到HOGE,否則跳到FUGA。 if(@input == 0) goto HOGE; else goto FUGA; if(@input == 0) mes “zero”; else if(@input == 1) mes “one”; else if(@input == 2) { mes “two”; } else { mes “??unknown”; mes “請輸入0,1,2中的任何一個值。”; } 在沒有中括號的複數個if文後接上else文的話,則else文與最後一個 沒有else文對應的if文相對應。例如: if(@temp <= 1) if(@temp <= 0) mes "<= 0"; else mes "1"; else mes ">= 2″; 和、 if(@temp <= 1) { if(@temp <= 0) mes "<= 0"; else mes "1"; } else mes ">= 2″; 為相同的處理方法。 for語法 for(; ; ) 執行運行後、只要為真,則執行後, 再執行。 (譯註:C語言中的for循環語句,為初始化語句開始時執行一次, 此後並不再執行,為條件判斷語句,為真則執行後執行 ,並再次判斷,如此循環,直到為偽則結束整個for文。) for(set @i,0;@i < 5;set @i,@i+1) mes @i; //設置@i為0,如果@i小於5則顯示@i然後@i加1 for(set @i,0;@i < 5;set @i,@i+1) { mes @i; next; // 依次輸出顯示@i if(@i > 3){close;} //原來的說明裡沒有這行,現在我加上大家就看的清楚了,當你看到屏幕顯示 } //4的時候腳本退出,而如果把if(@i > 3){close;}加在mes @i;上的話就只顯示到3,為什麼?自己思考一下啊。。 while語法 while( ) 判斷為真時循環執行。 set @temp,5; while(@temp > 0) { mes @temp; set @temp,@temp-1; } switch語法 switch() { [case : ….] [ default: …] } 移動到與為相同值的的”case “處。當所有case都不 一致時,如果有default文則移動到dedault文,沒有則結束。 另外,由於為fall through,所以並不會自動跳出switch,需要跳出的話 請使用 break; 命令。 (譯註:所謂fall through,則為當某個case文匹配的話,如果沒有break文, 則包括匹配上的case文及其後面的case文都將被執行,是C語言的一個特性, 也是容易出BUG的地方。) switch(@temp) { default: mes(“unknown FALLTHRU”); // 因為沒有”break”所以繼續 case 0: mes(“零”); break; case 1: mes(“壹”); break; case 2: mes(“貳 FALLTHRU”); // 因為沒有”break”所以繼續 case 3: mes(“叄”); break; case 4: mes(“肆”); break; case 5: mes(“伍”); break; } do – while 語法 do while(); 等同於” while() ;”, 最初實行。 然後、當為真期間循環執行 。 break 命令 結束最內部的 for , while , switch , do – while文。 continue 命令 移動到最內部的 for , while , do – while的下一個循環位置。 function 語法 聲明和定義位於同一個腳本內的函數。 function hoge; // 函數聲明 function hoge { // 函數定義 mes getarg(0); } hoge “fuga”; // 調用函數 如果調用未聲明的函數則會出錯。 *命令文 mes命令 mes ; string 字符串 將記述於內的字符串顯示到消息窗口中。 next命令 next; 在消息窗口上顯示next按鈕,並等待。 close命令 close; 在消息窗口上顯示close按鈕,中止腳本。 close2命令 close2; 在消息窗口上顯示close按鈕後等待,要中止腳本時請使用end命令。 可執行按下close按鈕後的處理。 menu命令 menu ,[,,…]; stringN 字符串 labelN 標籤 顯示菜單。如果選擇了記述於內的字符串則從開始 執行腳本。 並且,被選擇的標籤號將被代入到@menu變量。 (也會被代入l15中,但今後並不保證能夠使用,請不要使用l15) goto命令 goto