【Skript】アイテムの攻撃力設定方法を教えてください

サーバー運用される方はこちらで情報交換されてはいかがでしょうか?
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.314454)

【Skript】アイテムの攻撃力設定方法を教えてください

投稿記事by Momiji_14 » 2018年3月08日(木) 23:22

give等でアイテムを渡す際に攻撃力の設定方法を教えてください
Njol.chを見てもそれっぽいのがなかったので質問させていただきました
環境:
・Spigot: 1.11
・Skript: v2.2-dev34
・SkQuery: v3.6.0-Lime
・skRayFall: v1.9.12
・SharpSK: v1.6.3
現在RPG鯖を制作しています。
協力してくださる方はMomiji#7759にご連絡ください
Momiji_14
ID:f2f4ac0c
木を殴ってる
 
記事: 13
登録日時: 2018年3月05日(月) 01:23

  • (PostNo.314473)

Re: 【Skript】アイテムの攻撃力設定方法を教えてください

投稿記事by sympholy » 2018年3月09日(金) 12:45

give等のバニラの機能でアイテムを渡す場合、攻撃力を変えるために、わざわざskriptの独自機能を使う必要はないと思います。

例えば、アイテムの攻撃力はattackDamageを使うことで変更できるため、
アイテム名と攻撃力を変数化して、あとはバニラのコマンドに任せる方法がシンプルだと思います。

同じ機能を持ったskriptを作成したことがあるため、参考のため載せておきます(該当部分のみ抜粋)。
コード: 全て選択
command /custom-give <text> [<number=0>] [<player=%player%>]:
   permission:dsystem.console
   trigger:
      set {_damage} to arg 2
      
      set {_start} to "give %arg 3% minecraft:%arg 1% 1 0 {AttributeModifiers:["
      set {_n} to ""
      set {_end} to "]}"
      
      if {_damage} is not 0:
         set {_t} to "{AttributeName:generic.attackDamage,Name:generic.attackDamage,Amount:%{_damage}%,Operation:0,UUIDMost:%random integer between 1 and 99999%,UUIDLeast:%random integer between 1 and 99999%},"
         set {_n} to "%{_n}%%{_t}%"
         
      execute console command "%{_start}%%{_n}%%{_end}%"
ほぼskriptでサーバーを作っています
現在は開発中です
画像
アバター
sympholy
ID:7cb44b13
石掘り
 
記事: 124
登録日時: 2013年10月27日(日) 11:50

  • (PostNo.314509)

Re: 【Skript】アイテムの攻撃力設定方法を教えてください

投稿記事by Momiji_14 » 2018年3月09日(金) 23:57

すいません。説明不足でした。武器強化システムを作っているのですが強化元のアイテムのデータを引用したいのでSkriptのコードでお願いします
現在RPG鯖を制作しています。
協力してくださる方はMomiji#7759にご連絡ください
Momiji_14
ID:f2f4ac0c
木を殴ってる
 
記事: 13
登録日時: 2018年3月05日(月) 01:23

  • (PostNo.314733)

Re: 【Skript】アイテムの攻撃力設定方法を教えてください

投稿記事by sympholy » 2018年3月15日(木) 22:33

(あくまで私の知っている範囲ですが)giveコマンドの動作そのものに、skript干渉することはできません。
そのため、基本的にskript側のgiveに頼るようになるでしょう。

skript側のgiveを使用することで、かなり自由にitemの性質(?)を変更することができます。
コード: 全て選択
set {_iteme} to player's tool
#{_iteme}の内容を書き換えるコード
give {_iteme} to player



あとは、on damage の方で、それぞれの武器にあったダメージ量を設定するといいでしょう
コード: 全て選択
on damage of player:
(tab)if name of player's tool is "test":
(tab)(tab)set damage to 7


NBTが使いたいからgiveを使いたい場合は、以下の事例もあります
https://forums.skunity.com/threads/how- ... -item.235/
ほぼskriptでサーバーを作っています
現在は開発中です
画像
アバター
sympholy
ID:60a4b457
石掘り
 
記事: 124
登録日時: 2013年10月27日(日) 11:50


Return to 質問:マルチサーバー運用

x