Bonjour,
Je vous ais préparé un code bien plus complexe est fonctionnel.
Requis:
- RandomSk
- SkStuff
- Skript 2.2
- SkQuery
Système:
- Système de give.
- Système de bloc unique.
- Système de push correcte & non modifiable en fonction du regard du joueur.
- Système anti-daumage sécurisé.
- Système de sécurité en cas de crash.
Code:
options:
ItemName: §eBooster push !
#Système de give de l'item custom et unique !
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
command /booster <player>:
permission: Booster.*
permission message: §8§l» §c§oDésolé vous ne disposez pas de la permission.
trigger:
give 1 of 123 with custom nbt "{display:{Name:""{@ItemName}""},Booster:""push""}" to player
#=-=-=-=-=-=-=-=-=-=-=-
#Système d'identification du bloc !
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
on place of redstone_lamp:
if tag "Booster" of nbt of player's tool is "push":
set {Booster::%location of event-block%} to true
send "§8§l» §7§oVous avez placé un {@ItemName} §7§o!"
on break of redstone_lamp:
if {Booster::%location of event-block%} = true:
delete {Booster::%location of event-block%}
send "§8§l» §7§oVous avez retiré un {@ItemName} §7§o!"
#=-=-=-=-=-=-=-=-=-=-=-
#Système de détection du joueur, push du joueur & décoration de l'effect push !
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
on walk on inactive_restone_lamp:
if {Booster::%location of event-block%} = true:
set {_location} to location 25 meters horizontally infront of player
wait 1 tick
push player upwards at speed 1
push player the direction from {_location} to location of player at speed -2
if metadata value "BoosterPush" of player is "false":
invoke "NoFallDamage" from player
set {_location} to location of event-block
create fake explosion at player
remove 1 from y-coordinate of {_location}
set {_block} to type of block at {_location}
set block at {_location} to redstone block
set block at {_location} to {_block}
on block physics:
if {Booster::%location of event-block%} = true:
if type of event-block = active redstone lamp:
cancel event
wait 30 ticks
set block at location of event-block to redstone_lamp
#=-=-=-=-=-=-=-=-=-=-=-
#Système anti-daumage !
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
sub "NoFallDamage":
set {_player} to parameter 1
while block below entity from {_player} != air:
wait 1 tick
if metadata value "BoosterPush" of entity from {_player} is "true":
stop
set metadata value "BoosterPush" of entity from {_player} to "true"
while block below entity from {_player} = air:
wait 1 tick
wait 2 ticks
if metadata value "BoosterPush" of entity from {_player} is "true":
set metadata value "BoosterPush" of entity from {_player} to "false"
on damage of player:
if damage cause is fall:
if metadata value "BoosterPush" of victim is "true":
cancel event
set metadata value "BoosterPush" of victim to "false"
#=-=-=-=-=-=-=-=-=-=-=-
#Système de sécurité !
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-
on join:
set metadata value "BoosterPush" of player to "false"
#=-=-=-=-=-=-=-=-=-=-=-