銃のリロードについて

on drop:
if event-item's name is "LT-AR00":
cancel event
if {pdata::%player's uuid%::weapon::%event-item's name%::bullet} >= 30:
stop
if {pdata::%player's uuid%::weapon::bullet} < 30:
set {_bullet} to {pdata::%player's uuid%::weapon::bullet}
else:
set {_bullet} to 30
remove 30 - {pdata::%player's uuid%::weapon::%event-item's name%::bullet} from {pdata::%player's uuid%::weapon::bullet}
set {pdata::%player's uuid%::weapon::%event-item's name%::bullet} to {_bullet} - {pdata::%player's uuid%::weapon::%event-item's name%::bullet}
on drop:
if event-item's name is "LT-AR00":
cancel event
if {pdata::%player's uuid%::weapon::%event-item's name%::bullet} >= 30:
stop
if {pdata::%player's uuid%::weapon::bullet} < 30:
set {_bullet} to {pdata::%player's uuid%::weapon::bullet}
else:
set {_bullet} to 30
remove 30 - {pdata::%player's uuid%::weapon::%event-item's name%::bullet} from {pdata::%player's uuid%::weapon::bullet}
set {pdata::%player's uuid%::weapon::%event-item's name%::bullet} to {_bullet} - {pdata::%player's uuid%::weapon::%event-item's name%::bullet}
このコードで動かすとなんと残り弾数が30にならずにバグるときがあります 自分でも何をやっているのかわからなくなっているため整理していただけないでしょうか Skriptのバージョンは2.6.3、プラグインのリストは画像の通り
No description
No description
Solution:
``` 銃のリロード 1 リロードする銃の残りの弾数が最大の弾数より少ない場合にリロードする 2 リロードする場合はいま所持している弾丸を利用する 3 リロードする弾数は最大の弾数から銃に入っている弾数を引いた分だけ...
Jump to solution
5 Replies
Solution
何か
何か7mo ago
銃のリロード
1 リロードする銃の残りの弾数が最大の弾数より少ない場合にリロードする
2 リロードする場合はいま所持している弾丸を利用する
3 リロードする弾数は最大の弾数から銃に入っている弾数を引いた分だけ
4 所持している弾数がリロードする弾数より多ければ銃の弾数は最大値に設定、そうでなければ所持している分を加算する

{max_bullet} = 銃に入る弾数の最大値
{wp_bullet} = 銃に入ってる弾数
{bullet} = 所持している弾数

{wp_bullet} < {max_bullet}:
{d} = {max_bullet} - {wp_bullet}
if {bullet} > {d}:
{wp_bullet} = {max_bullet}
{bullet} -= {d}
else:
{wp_bullet} += {d}
{bullet} = 0
銃のリロード
1 リロードする銃の残りの弾数が最大の弾数より少ない場合にリロードする
2 リロードする場合はいま所持している弾丸を利用する
3 リロードする弾数は最大の弾数から銃に入っている弾数を引いた分だけ
4 所持している弾数がリロードする弾数より多ければ銃の弾数は最大値に設定、そうでなければ所持している分を加算する

{max_bullet} = 銃に入る弾数の最大値
{wp_bullet} = 銃に入ってる弾数
{bullet} = 所持している弾数

{wp_bullet} < {max_bullet}:
{d} = {max_bullet} - {wp_bullet}
if {bullet} > {d}:
{wp_bullet} = {max_bullet}
{bullet} -= {d}
else:
{wp_bullet} += {d}
{bullet} = 0
何か
何か7mo ago
質問するときは「バグる」みたいに曖昧な表現をせずに 具体的に何が起きているのか書きましょう
何か
何か7mo ago
No description
Tsukineko(月雲)
これ書き直した方がいいぐらいごちゃごちゃになってる気がするの俺だけ
Unknown User
Unknown User7mo ago
Message Not Public
Sign In & Join Server To View
Want results from more Discord servers?
Add your server
More Posts
Skriptで視点を上げてCS銃の反動を作りたいtp <shooter> ~ ~ ~ ~ ~-1というコマンドを発射するとき実行するようにしてみたのですが、 反動自体は動作しても添付した動画の通り銃弾の向きが固定されてしまいます。 遅延があればどUse 'attacker' and/or 'victim' in damage/death events``` on damage: victim is player attacker is not player send "hehehe" to victim ``` で実行すると `Useプレイヤーに矢を刺さらないようにしたい矢のダメージは入るけど、刺さった矢を消したい[クソ長コード]コードの軽量化ymlを読み込み、内容を変数に保存していくコードなのですが 如何せん処理に時間がかかっていて… これを軽量化する方法はないでしょうかitemに個別のkeyとvalueを設定してあげたいentityなら `set metadata "test" of entity to 10` とかできるじゃないですか アイテムでも似たようなことがやりたいです ```applescript set ダイヤモンドを右クリックした後の15秒間、敵にダメージを与えると継続ダメージを与える``` on rightclick holding diamond: set {centhe2.skill.%player%} to 1 set {centhe2.click.%plapushがくそ```applescript on right click: player is op player's tool is getOPItem() push player forplayerが特定の進捗を達成しているかできますかね...? 環境 bungeecord 1.20 接続先 paper 1.20.1 skript 2.7.3 アドオン zulfungee last shot entity がバグってる``` on leftclick holding bow: set {_x} to x-coordinate of player set {_y} to y-coordinate of plaat 00:00 が動かない```applescript at 10:00 in "w-lobby-new": broadcast "test"``` /time set ~ した時に、上記コードが動かなくなります これ