→ Xavy:昨天有個什麼GetMiniZoneText還什麼的被吃了 dont konw why 03/13 16:34
推 Nector:推!達拉然不能用一般的坐騎巨集非常困擾中!! 03/13 17:02
推 hou0211:推 可用,可以加上城底區排水口嗎? 03/13 17:21
那個我想過,當時看小地圖顯示達拉然,就想大概讀GetSubZoneText()會是達拉然
那就寫不出來。
不過Xavy提到GetMiniZoneText? 如果能讀出"下水道"之類的,就有機會!!
→ Xavy:昨天有版有PO 可是他自D了 03/13 17:28
推 ZincSaga:推 03/13 17:30
終於能上線了,測試完畢 GetSubZoneText() 在下水道會回傳"城底區"
GetMiniZoneText() 沒有回應,應該不是正確的名稱
※ 編輯: PEIRON 來自: 59.105.59.11 (03/13 23:06)
推 Fenikso:要凹字數的話可以用a and b or c取代if a then b else c 03/14 00:51
推 Fenikso:例如第一段變 t=(m~=...)and{地面座騎}or{飛行座騎}這樣 03/14 00:53
→ Fenikso:↑上面地面和飛行反了@@ 03/14 00:54
Peizon:
這個凹字數的想法真有趣!! 不過普通人應該會腦袋打結.....
我是普通人,我打結了....
(m~=...)應該回傳一個代表true或false的boolean值
{地面座騎}則是array
boolean跟array做and....會變成什麼呀....(抱頭)
Fenikso:
這東西叫short circuit evaluation, 我的code裡面也有用到XD
首先先把and/or分開來看
a or b => 如果 a是true則整個運算式一定是true, 所以不會去執行b
a and b => 同理, a是false則整個運算式是false不會去執行b
例如說 IsMounted() or CallCompanion("MOUNT",t[random(#t)])
等於原本的if not IsMounted() then CallCompanion("MOUNT",t[random(#t)]) end
另外lua的boolean expression傳回的是最後一個被算到的東西
合併起來變(a and b) or c 就變成
如果a是false => (a and b)是false => 傳回c
如果a是true => 如果b也是true => 傳回b
=> 如果b是false => 傳回c // 這條不會被走到 因為陣列是true
順便一提lua裡面只有false和nil是false,
0, "", {}, 0.0 都是true
希望不會太難懂orz
推 Fenikso:另外local可以拿掉(雖然這是個壞習慣..) 03/14 00:59
不宣告local的話就代表這是全域變數? (我沒學過lua,照c++去猜)
意思是說可能跟其他的全域變數產生衝突。
我並不知道系統內或其他ui會不會使用相衝突的全域變數名稱。
不過往其他的方向想,這代表不同巨集可以共用相同的變數囉?
※ 編輯: PEIRON 來自: 59.104.233.205 (03/14 18:11)
推 Fenikso:嗯是global 其他就跟你講的一樣 03/14 21:41