|
- boozaa
- Hummm...boozaa

- Inscription : 29 Jan 2011
- Messages : 1 771
Re : [CommandHelper] Scripts
Script pour gérer l'annonce de mort d'un joueur Config
craftbukkit++
CommandHelper v3.3.0
Intro Pour une meilleure lisibilité j'ai créé un 'users.ms' dans mon dossier 'includes' pour y créer une procédure. Cela me permet de conserver mon fichier 'main.ms' facile à lire. Concrètement je capte l’évènement 'player_death' dans mon 'main.ms' et je lance ma procédure. Ma procédure annonce la mort du joueur avec la raison et le level qu'il avait. Elle log également en console sa mort et sa perte en level. Scripts main.ms # A la mort d'un joueur
bind(player_death, null, null, @event,
assign( @death_message, @event['death_message'])
modify_event( 'death_message', _format_deathMessage(@death_message) )
)
includes/users.ms proc(_format_deathMessage, @death_message,
# On decoupe l'annonce de mort en array
assign( @tab, reg_split(' ', @death_message ) )
# On stocke les valeurs utiles
assign( @tabSize, array_size(@tab) )
assign( @player, @tab[0] )
assign( @firstWord, @tab[1] )
assign( @lastWord, @tab[dec(@tabSize)] )
# Switch selon le premier mot aprés le pseudo du joueur
switch(@firstWord,
'drowned',
assign( @reason, 'est mort noyé' )
break,
'was',
switch(@tab[2],
'shot',
assign( @reason, concat( 'était la proie de ', @lastWord ) )
break,
#default
assign( @reason, concat( 'a succombé aux blessures infligées par ', @lastWord ) )
)
break,
'tried',
assign( @reason, 'est mort de manière terrible' )
break,
'hit',
assign( @reason, 'a cru pouvoir voler' )
break,
#default
assign( @reason, 'est mort' )
)
console(concat(color(red),'† ',color(white),@player,' ',@reason,color(AQUA),' [', color(gray),plevel(@player),color(green),'lvl',color(white),' lost',color(AQUA), '] ',color(red),' †'))
return(concat(@player, color(AQUA), ' [', color(gray), plevel(@player), color(green), 'lvl', color(AQUA), '] ', color(white), @reason) )
)
auto_include.ms Inclusion automatique de mon 'users.ms' pour permettre l'accés à ma procédure '_format_deathMessage':
include('includes/users.ms')
Images 




- boozaa
- Hummm...boozaa

- Inscription : 29 Jan 2011
- Messages : 1 771
Re : [CommandHelper] Scripts
Script pour loguer la connexion d'un joueur Config
craftbukkit++
CommandHelper v3.3.0
Intro Pour une meilleure lisibilité j'ai créé un 'users.ms' dans mon dossier 'includes' pour y créer une procédure. Cela me permet de conserver mon fichier 'main.ms' facile à lire. Concrètement je capte l’évènement 'player_join' dans mon 'main.ms' et je lance ma procédure. Ma procédure log quelques infos utiles en console. Scripts main.ms # A la connexion du joueur
bind(player_join, null, null, @event,
# On log l'entree du joueur
_player_to_console( pinfo(@event['player']) )
)
includes/users.ms # Log en console les infos d'un joueur
proc(_player_to_console, @pinfos,
# On stocke
assign(@playerName, @pinfos[0] )
assign(@x, @pinfos[1][0] )
assign(@y, @pinfos[1][1] )
assign(@z, @pinfos[1][2] )
assign(@playerWorld, @pinfos[7] )
assign(@playerGroup, @pinfos[9] )
assign(@playerIp, @pinfos[10] )
# On envois a la console
_console_separation()
console(_format_colors('Connexion:', @playerName @playerIp) )
console(_format_colors('Coordonnées:', concat('X: ', @x, ' Y: ', @y, ' Z: ', @z ) ) )
console(_format_colors('Monde:', @playerWorld) )
console(_format_colors('Group:', @playerGroup) )
console(_format_colors('Level:', plevel(@playerName) ) )
console(_format_colors('Mode:', pmode(@playerName) ) )
console(_format_colors('XP:', ptexp(@playerName) ) )
_console_separation()
)
proc(_console_separation,
console( concat( color(red), '-------------------------------' ) )
)
proc(_format_colors, @name, @msg,
return(concat(color(red), @name, color(white), ': ', color(green), @msg))
)
auto_include.ms Inclusion automatique de mon 'users.ms':
include('includes/users.ms')
Images 
|