Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #AJOUTER LA CONDITION IF PLAYER LEVELING IS TRUE
- options:
- prefix: &f[&eSurvivalLeveling&f]&7
- playerleveling: false
- monsterleveling: true
- playermaxlevel: 100
- #----------------------
- # FONCTIONS
- #----------------------
- function CalcMonsterLevel(levelplayer: number) :: number:
- set {_monsterlevel} to {_levelplayer} / 2
- add a random number between 2 and 20 to {_monsterlevel}
- set {_result} to rounded {_monsterlevel}
- return {_result}
- function CalcMonsterHealth(level: number , base: number) :: number:
- set {_monsterHealth} to {_level} * 100
- set {_divisor} to a random number between 70 and 120
- set {_result} to {_monsterlevel} / {_divisor}
- add {_base} to {_result}
- set {_result} to rounded {_result}
- return {_result}
- function CheckExp(player: player , level: number , exp: number , goal: number) :: number:
- while {_exp} >= {_goal}:
- if {_level} < {@playermaxlevel}:
- add 1 to {_level}
- add 1 to {level.%{_player}%}
- remove {_goal} from {_exp}
- send "{@prefix} Tu es désormais niveau &e%{_level}% &7!" to {_player}
- # GIVE TNC
- # CHECK EFFETS DES LVL
- if {_level} / 10 = rounded {_level} / 10:
- broadcast "{@prefix} &e%{_player}% &fvient de passer niveau &6%{_level}% &7!"
- set {_nextgoal} to rounded (2500 * {_level} / {@playermaxlevel})
- add {_nextgoal} to {_goal}
- set {exp.goal.%{_player}%} to {_goal}
- return {_exp}
- #----------------------
- # EVENTS
- #----------------------
- on join:
- if {survival.%player%} isn't set:
- set {survival.%player%} to true
- set {level.%player%} to 1
- set {exp.%player%} to 0
- set {exp.goal.%player%} to 50
- set {mobs.kill.%player%} to 0
- set {boss.kill.%player%} to 0
- #----------------------
- # COMMANDES
- #----------------------
- command /survivalleveling [<text>]:
- usage: /survivalleveling
- aliases: /sl
- trigger:
- if arg 1 isn't set:
- send "bla" to player
- send "bla" to player
- send "bla" to player
- send "bla" to player
- send "bla" to player
- send "bla" to player
- if arg 1 is "reload":
- if player has permission "sl.admin":
- send "{@prefix} Reload en cours..."
- wait 1 tick
- execute console command "/sk reload SurvivalLeveling"
- wait 1 tick
- send "{@prefix} Reload fini !" to player
- command /level [<offlineplayer>]:
- usage: /level <Joueur>
- aliases: /lvl , /niveau , /niv
- trigger:
- if arg 1 is set:
- if {survival.%arg-1%} is true:
- set {_player} to arg 1
- else:
- send "{@prefix} Ce joueur ne s'est jamais connecté !" to player
- stop
- else:
- set {_player} to player
- set {_percentage} to ({exp.%{_player}%}/{exp.goal.%{_player}%})
- set {_percentage} to rounded down ({_percentage} * 20)
- set {_total} to ""
- loop {_percentage} times:
- set {_total} to "%{_total}%&6X"
- loop (20 - {_percentage}) times:
- set {_total} to "%{_total}%&fX"
- send "" to player
- send "&eStatistiques de &d%{_player}%" to player
- send "" to player
- send "&eNiveau > &8[&b%{level.%{_player}%}%&e/&b{@playermaxlevel}&8]" to player
- send "&eExpérience > &8[&a%{exp.%{_player}%}%&e/&a%{exp.goal.%{_player}%}%&8] >> %{_total}%" to player
- send "" to player
- send "&eBoss tués > &4%{boss.kill.%{_player}%}%" to player
- send "&eMobs tués > &c%{mobs.kill.%{_player}%}%" to player
- #----------------------
- # SPAWN MOBS
- #----------------------
- #
- # FINIR LES MOBS (Rajouter ghast blaze guardian <jockey villageois zombie> [slime/magmacube/endermite])
- #
- on spawn of a zombie or a skeleton or a zombie pigman or a creeper or a spider or a cave spider or a enderman or a witch or a silverfish:
- if {@monsterleveling} is true:
- loop all players in radius 59 of event-entity:
- if name of event-entity is set:
- stop
- else:
- set {_chance} to {level.%loop-player%} / 9000
- remove 0.004 from {_chance}
- chance of {_chance}:
- set {_bosslocation} to location of event-entity
- kill event-entity
- #
- # FAIRE DES BOSS
- #
- stop
- set {_entityvalue} to {level.%loop-player%} * 100 / {@playermaxlevel}
- set {_entityvalue} to rounded {_entityvalue}
- set {_basehealth} to event-entity's max health
- set {_monsterLevel} to CalcMonsterLevel({level.%loop-player%})
- set rf max hp of event-entity to CalcMonsterHealth({_monsterLevel} , {_basehealth})
- if event-entity isn't a zombie or a skeleton or a zombie pigman:
- apply health 255 to event-entity
- else:
- apply damage 255 to event-entity
- set {_randomvalue} to a random number between 0 and 50
- set {_armorvalue} to {_entityvalue} + {_randomvalue}
- if {_armorvalue} >= 125:
- set {_levelenchant} to {_armorvalue} - 125
- set {_levelenchant} to rounded down {_levelenchant} / 5
- equip event-entity with all diamond armour# of protection {_levelenchant}
- if event-entity isn't a skeleton:
- equip event-entity with diamond sword# of sharpness {_levelenchant}
- else:
- if event-entity isn't in world "world_nether":
- equip event-entity with bow of power 5
- else:
- equip event-entity with diamond sword# of sharpness {_levelenchant}
- if {_armorvalue} is between 100 and 124:
- set {_levelenchant} to {_armorvalue} - 100
- set {_levelenchant} to rounded down {_levelenchant} / 5
- equip event-entity with all iron armour# of protection {_levelenchant}
- if event-entity isn't a skeleton:
- equip event-entity with iron sword# of sharpness {_levelenchant}
- else:
- if event-entity isn't in world "world_nether":
- equip event-entity with bow of power 4
- else:
- equip event-entity with iron sword# of sharpness {_levelenchant}
- if {_armorvalue} is between 75 and 99:
- set {_levelenchant} to {_armorvalue} - 75
- set {_levelenchant} to rounded down {_levelenchant} / 5
- equip event-entity with all chainmail armour# of protection {_levelenchant}
- if event-entity isn't a skeleton:
- equip event-entity with stone sword# of sharpness {_levelenchant}
- else:
- if event-entity isn't in world "world_nether":
- equip event-entity with bow of power 3
- else:
- equip event-entity with stone sword# of sharpness {_levelenchant}
- if {_armorvalue} is between 50 and 74:
- set {_levelenchant} to {_armorvalue} - 50
- set {_levelenchant} to rounded down {_levelenchant} / 5
- equip event-entity with all gold armour# of protection {_levelenchant}
- if event-entity isn't a skeleton:
- equip event-entity with golden sword# of sharpness {_levelenchant}
- else:
- if event-entity isn't in world "world_nether":
- equip event-entity with bow of power 2
- else:
- equip event-entity with golden sword# of sharpness {_levelenchant}
- if {_armorvalue} is between 25 and 49:
- set {_levelenchant} to {_armorvalue} - 25
- set {_levelenchant} to rounded down {_levelenchant} / 5
- equip event-entity with all leather armour# of protection {_levelenchant}
- if event-entity isn't a skeleton:
- equip event-entity with wooden sword# of sharpness {_levelenchant}
- else:
- if event-entity isn't in world "world_nether":
- equip event-entity with bow of power 1
- else:
- equip event-entity with wooden sword# of sharpness {_levelenchant}
- if {_armorvalue} < 25:
- clear event-entity's inventory
- if event-entity is a skeleton:
- if event-entity isn't in world "world_nether":
- equip event-entity with bow
- if event-entity is a zombie:
- set event-entity's name to "&2Zombie &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 20
- set {_vitesse} to {_entityvalue} - 10
- set {_regen} to {_entityvalue} - 70
- if event-entity is a skeleton:
- if event-entity is in world "world_nether":
- set event-entity's name to "&0Squelette des enfers &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 50
- set {_vitesse} to {_entityvalue} - 70
- set {_regen} to {_entityvalue} - 90
- else:
- set event-entity's name to "&7Squelette &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 40
- set {_vitesse} to {_entityvalue} - 5
- set {_regen} to {_entityvalue} - 60
- if event-entity is a zombie pigman:
- set event-entity's name to "&dCochon zombie &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 60
- set {_vitesse} to {_entityvalue} - 40
- set {_regen} to {_entityvalue} - 70
- if event-entity is a creeper:
- set event-entity's name to "&aCreeper &8(Niveau &f%{_monsterLevel}%&8)"
- chance of {_entityvalue} - 80%:
- strike lightning at event-entity's location
- apply fire resistance to event-entity for 10 seconds
- apply health 255 to event-entity
- set {_force} to 0
- set {_vitesse} to {_entityvalue} - 50
- set {_regen} to {_entityvalue} - 30
- if event-entity is a spider:
- set event-entity's name to "&8Araignée &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 35
- set {_vitesse} to {_entityvalue} - 15
- set {_regen} to {_entityvalue} - 50
- if event-entity is a cave spider:
- set event-entity's name to "&9Araignée venimeuse &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 40
- set {_vitesse} to {_entityvalue} - 30
- set {_regen} to {_entityvalue} - 60
- if event-entity is a enderman:
- set event-entity's name to "&5Enderman &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 80
- set {_vitesse} to {_entityvalue} - 30
- set {_regen} to {_entityvalue} - 55
- if event-entity is a witch:
- set event-entity's name to "&eSorcière &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to 0
- set {_vitesse} to {_entityvalue} - 15
- set {_regen} to {_entityvalue} - 30
- if event-entity is a silverfish:
- set event-entity's name to "&3Larve &8(Niveau &f%{_monsterLevel}%&8)"
- set {_force} to {_entityvalue} - 50
- set {_vitesse} to {_entityvalue} - 5
- set {_regen} to {_entityvalue} - 40
- chance of {_force}%:
- apply strength 1 to event-entity for 10 days
- chance of {_vitesse}%:
- apply speed 1 to event-entity for 10 days
- chance of {_regen}%:
- apply resistance 1 to event-entity for 10 days
- stop
- else:
- cancel event
- #----------------------
- # KILL MOBS
- #----------------------
- at 6 am in "world":
- loop all entities:
- if name of loop-entity contains " &8(Niveau &f":
- kill loop-entity
- stop
- on death:
- if victim isn't a player:
- if name of victim contains " &8(Niveau &f":
- if attacker is a player:
- add 1 to {mobs.kill.%attacker%}
- if victim is a zombie:
- set {_boostertype} to 10
- if victim is a skeleton:
- if attacker is in world "world_nether":
- set {_boostertype} to 20
- else:
- set {_boostertype} to 12
- if victim is a zombie pigman:
- set {_boostertype} to 13
- if victim is a creeper:
- set {_boostertype} to 15
- if victim is a spider:
- set {_boostertype} to 11
- if victim is a cave spider:
- set {_boostertype} to 16
- if victim is a witch:
- set {_boostertype} to 17
- if victim is a silverfish:
- set {_boostertype} to 6
- set {_boosterlevel} to ({level.%attacker%} * 5 / {@playermaxlevel})
- if attacker has permission "sl.vipp":
- set {_boostergrade} to 3
- else:
- if attacker has permission "sl.vip":
- set {_boostergrade} to 2
- else:
- set {_boostergrade} to 1
- set {_reward} to rounded ({_boostertype} * {_boosterlevel} * {_boostergrade})
- if attacker has permission "sl.vipp":
- send "{@prefix} Vous avez gagné &6%{_reward}% &eExp &d(Bonus Vip+ x3) &7!" to attacker
- else:
- if attacker has permission "sl.vip":
- send "{@prefix} Vous avez gagné &6%{_reward}% &eExp &d(Bonus Vip x2) &7!" to attacker
- else:
- send "{@prefix} Vous avez gagné &6%{_reward}% &eExp &7!" to attacker
- add {_reward} to {exp.%attacker%}
- set {exp.%attacker%} to CheckExp(attacker , {level.%attacker%} , {exp.%attacker%} , {exp.goal.%attacker%})
- else:
- clear drops
- #
- # PVP : Kill d'un joueur + AntiAttack
- #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement