[JASS]GetLocationZ VS 分流

各類的進階專題研究、WE Bug討論等。

版主: crassorz, tv580025

[JASS]GetLocationZ VS 分流

文章tv580025 » 2009年07月03日 9:35 am

http://www.wc3c.net/showthread.php?t=96199
moyack 寫:My intention is not spread lies.
代碼: 選擇全部
// This function is asynchronous. The values it returns are not guaranteed synchronous between each player.
//  If you attempt to use it in a synchronous manner, it may cause a desync.

Anyways, this function can be sure if you can manage appropriately. But if you can avoid it, better for the map.

EDIT: Because I'm pretty sure you use GetLocationZ in your physic system, I think it would be interesting if you share your experience with us about how to manage this function on multiplayer maps.

grim001 寫:Simple:

1.) Don't use local terrain deformations
2.) Don't use abilities that cause terrain deformations like shockwave or warstomp


http://www.wc3c.net/showthread.php?t=97622
Anitarf 寫:If the volcano destructable is walkable (so it affects location z) and animated, it could desync since unit animations are not synced.


http://www.wc3c.net/showthread.php?t=98634
Fireeye 寫:Also you have to be careful with your actions then.
When you're using deformations they can cause desync with the usage of GetLocationZ().
圖檔
http://weo.sabi.tw/blog <= 這是我的部落格
http://plurk.com/Neo_Yang <= 噗浪請按我


圖檔  凡事不經思索便行動 一條腸子直通到底的笨蛋
頭像
tv580025
冰霜翼龍
冰霜翼龍
 
文章: 1644
註冊時間: 2006年02月09日 12:29 pm
來自: Matrix

Re: [JASS]GetLocationZ VS 分流

文章tv580025 » 2009年07月03日 9:49 am

基本上GetLocationZ使用在非必須的資料上

就如同為單一玩者創造特效/音樂

該函數產生資料的不同步是沒問題的

如果影響到的資料是地形/單位/可毀物等

這樣就會GG了 以上
圖檔
http://weo.sabi.tw/blog <= 這是我的部落格
http://plurk.com/Neo_Yang <= 噗浪請按我


圖檔  凡事不經思索便行動 一條腸子直通到底的笨蛋
頭像
tv580025
冰霜翼龍
冰霜翼龍
 
文章: 1644
註冊時間: 2006年02月09日 12:29 pm
來自: Matrix

Re: [JASS]GetLocationZ VS 分流

文章Weberkkk » 2009年07月03日 2:13 pm

簡單的說大概就像 set PlayerA = GetLocalPlayer() 一樣
函數本身與分流無關

但如果有 CreateUnit(PlayerA,ooxx,0,0,0) 這樣的東西在後面
就可能因此導致分流
◆◆◆◆◆ 《 免費線上簽約服務,你也可以改變世界 》 ◆◆◆◆◆
 
「你知道打一場三國,會消耗多少能量嗎? 燃燒的能量,少於栽培的能量。」
「宇宙能量在不斷減少,所以WB發明了將玩家感情轉換為宇宙能量的技術。」
「主堡被推掉的瞬間,因戰敗爆發的各種情感,就是WB想蒐集的宇宙能量。」
「默契越好的玩家,釋放的能量越大,最厲害的團隊,會爆發出最強的能量。」
「XD化程度與能量蒐集率有關,WB理所當然的進行三國XD改造與實驗。」
「每次RE都會造成平行世界能量增幅,再過不久也許能培育出三國之神吧。」
頭像
Weberkkk
騎士
騎士
 
文章: 241
註冊時間: 2008年04月14日 12:06 am

Re: [JASS]GetLocationZ VS 分流

文章羅蘭 » 2009年07月03日 2:15 pm

咦?可是這樣的話
使用區域玩者變數接東西
不就很容易引起分流了嗎?
那改怎麼避免呢?
圖檔
頭像
羅蘭
惡魔獵人
惡魔獵人
 
文章: 1493
註冊時間: 2007年04月26日 9:05 pm
來自: 天使圖書館

Re: [JASS]GetLocationZ VS 分流

文章tv580025 » 2009年07月03日 5:45 pm

Weberkkk 寫:簡單的說大概就像 set PlayerA = GetLocalPlayer() 一樣
函數本身與分流無關

但如果有 CreateUnit(PlayerA,ooxx,0,0,0) 這樣的東西在後面
就可能因此導致分流

跟LocalPlayer不太一樣

上面連接的討論有說明

若用斬空波/動地踱/火山爆發等

會改變地形/可毀物的技能同時

用這個函數取瞬間改變高度的點

此時會GG
圖檔
http://weo.sabi.tw/blog <= 這是我的部落格
http://plurk.com/Neo_Yang <= 噗浪請按我


圖檔  凡事不經思索便行動 一條腸子直通到底的笨蛋
頭像
tv580025
冰霜翼龍
冰霜翼龍
 
文章: 1644
註冊時間: 2006年02月09日 12:29 pm
來自: Matrix

Re: [JASS]GetLocationZ VS 分流

文章tv580025 » 2009年07月03日 5:51 pm

羅蘭 寫:咦?可是這樣的話
使用區域玩者變數接東西
不就很容易引起分流了嗎?
那改怎麼避免呢?

不會啊

LocalPlayer只要不是用來

創造/修改必要的同步資訊的話

即使資料不同步 也不會有分流問題
圖檔
http://weo.sabi.tw/blog <= 這是我的部落格
http://plurk.com/Neo_Yang <= 噗浪請按我


圖檔  凡事不經思索便行動 一條腸子直通到底的笨蛋
頭像
tv580025
冰霜翼龍
冰霜翼龍
 
文章: 1644
註冊時間: 2006年02月09日 12:29 pm
來自: Matrix

Re: [JASS]GetLocationZ VS 分流

文章crassorz » 2009年07月03日 6:06 pm

所以..基本上若無上述技能就不會發生資料不同步的狀況?
圖檔
我決定不再對伸手牌起反應
除非很有趣
頭像
crassorz
死亡騎士
死亡騎士
 
文章: 2338
註冊時間: 2008年04月06日 5:40 pm
來自: 什麼都有的雜物間

Re: [JASS]GetLocationZ VS 分流

文章tv580025 » 2009年07月03日 8:23 pm

crassorz 寫:所以..基本上若無上述技能就不會發生資料不同步的狀況?

Fireeye 寫:When you're using deformations they can cause desync with the usage of GetLocationZ().

只要地形有用地形函數

Crater/Ripple/Wave

再使用此函數也會GG

其實我記得還有很多例子

但因為年代久遠翻不到...
圖檔
http://weo.sabi.tw/blog <= 這是我的部落格
http://plurk.com/Neo_Yang <= 噗浪請按我


圖檔  凡事不經思索便行動 一條腸子直通到底的笨蛋
頭像
tv580025
冰霜翼龍
冰霜翼龍
 
文章: 1644
註冊時間: 2006年02月09日 12:29 pm
來自: Matrix


回到 專題討論區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客