唔好巨集

從零學習巨集,創造無人仙境。

查詢及平均分配金錢

| Comments

有些活動好像命運? 機會? 塔羅占卜師幫你解惑!每次都要轉錢是不是很煩?假如你人物多花的時間相對多,而且容易出錯。
往往大量金錢都集中在一個人物身上,而其他人物都只有少量。一旦到了需要金錢的活動或任務就變得麻煩。針對這問題寫了一個金錢交易巨集。先看看什麼情況下適用。

了解後我們來看一看整個交易流程,先準備一個人物作派錢員跟數個收錢的人物,把他們移動到同一格,這是為了確保不超過交易距離。很簡單,一同轉換地圖時就會重疊在一起。集體移動可參考這篇文章一次控制多個openkore。 然後利用隊頻或公會頻說出今次想要的金額,getzeny就會開始計算減去身上的差額,如果身上的金錢比想要的多就沒有動作,相反就會利用密頻通知派錢員派發多少錢,然後派錢員addzeny就會點缺錢的人物作交易並把差額加上。

巨集使用條件及注意事項:

  • 派錢員必須有足夠金錢
  • 派錢員密頻要開
  • 建議利用隊伍公會頻道
  • 派錢員距離不超過**2((格
  • 建議找一個比較少人的地方
  • 必須修改派錢員的名稱,getzeny第3,7行,名稱包含特別符號可能會出問題!
  • config.txtdealAuto2
  • config.txtdealAuto_names加上派錢員的名字,如果本身是空的就不用加
  • 7秒會密一次派錢員直到指定金錢才會停止。

使用方法:
e.g. 要求每人身上都要有10000000zeny (一千萬)
openkore: 隊伍用p z g 10000000 公會用g z g 10000000
官方遊戲程式: 在隊伍頻道直接輸入z g 10000000或在公會頻道輸入z g 10000000

getzeny
1
2
3
4
5
6
7
8
9
10
11
12
13
automacro getzeny {
  console /\[(隊伍|公會)\] (.*) \: z g (\d+)/
  player "派錢員",3
  call {
  while ($.zeny < $.lastMatch3) as loop        # 比較身上的金錢
  $z = @eval($.lastMatch3 - $.zeny)         # 計算差額
  $n = 派錢員
  do eval foreach my $_player (@{$::playersList->getItems()}) { next if $_player->{'name'} eq ""; next if $_player->{actorType} ne "Player"; if ($_player->{'name'} eq "$n") {$::Macro::Data::varStack{name} = $_player->{'name'}; $::Macro::Data::varStack{id} = $_player->{'binID'};}}
  do pm $n z a $z         # 通知派錢員派錢
  pause 7                  # 密一次派錢員的相隔秒數
  end loop
  }
}

addzeny
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
automacro addzeny {
  pm /z a (\d+)/
  exclusive 1
  call {
  if ($.zeny < $.lastMatch1) stop         # 比較身上跟要派的金額
  $n = $.lastpm                           # 最後密我的人的名字
  do eval foreach my $_player (@{$::playersList->getItems()}) { next if $_player->{'name'} eq ""; next if $_player->{actorType} ne "Player"; if ($_player->{'name'} eq "$n") {$::Macro::Data::varStack{name} = $_player->{'name'}; $::Macro::Data::varStack{id} = $_player->{'binID'};}}
  do deal $id                               # 交易最後密我的人
  pause 3
  do deal add z $.lastMatch1             # 放上金額
  do deal
  pause 3
  do deal
  }
}

另外查詢openkore們身上的zeny

使用方法:
openkore: 隊伍用p zeny 公會用g zeny
官方遊戲程式: 在隊伍頻道直接輸入zeny或在公會頻道輸入zeny

zenycheck
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
automacro zenycheck {
  console /\[(公會|隊伍)\] (.*) \: zeny/
  call {
  if ($.lastMatch1 == "公會") goto g
  if ($.lastMatch1 == "隊伍") goto p
  stop
  
  :g
  do g $.zeny
  stop
  
  :p
  do p $.zeny
  stop
  }
}

以下是openkore例出隊伍金錢報告的範本

    [隊伍] op01 : 1400000
    [隊伍] op01 : 500000
    [隊伍] op02 : 100410
    .
    .
    .
    [隊伍] op11 : 241232
    [隊伍] op12 : 5831323

Comments