Veteran Member
Join Date: Jul 2009
Location: N'importe Ou ...
|
10-15-2012
, 14:55
Trail Base Builder.
|
#1
|
Bonsoir;
Tant qu'a continuer dans la lancée de balancer des plugins qui était privé , je place aussi celui la qui m'a été demander beaucoup de fois , il a été a la base créer sur mesure pour une team. Si jamais quelqu'un veut le reprendre a sa sauce et le transformer
Je sais que beaucoup de bb aimeraient l'avoir, donc si un leader le veut le voici.
OUI ,c'est du codage d'eVerup , et NON il n'y a aucun bugs, Et oui j'ai laisser le fameux mythique "everup_print"
Idée : En haut au millieu de l'écran , un HUD avec écrit le nombre de frags, les frags restant jusquau prochain niveau , le niveau. suivant le niveau on a un trail différent. Les couleurs sont en RGB.
PHP Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <nvault> #include <hamsandwich>
#define VERSION "1.2a"
new g_Vault
new Numberkill[33]
new g_szAuthID[33][35]
new g_level[33] new g_killsleft[33]
new spritetrail
public plugin_init() { register_plugin("Trail bb", VERSION, "eVerup") RegisterHam(Ham_Killed, "player", "Killed") set_task ( 1.0, "TimerBbTrail", 0, _, _, "b" ); }
public plugin_precache() { spritetrail = precache_model("sprites/dot.spr") }
public TimerBbTrail() { static players[32], playerCount, id, i get_players(players, playerCount, "ch") for ( i = 0; i < playerCount; i++ ) { id = players[i] if( is_user_alive( id ) ) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(99) write_short(id) message_end() g_level[id] = 0 g_killsleft[id] = 0 if( Numberkill[id] < 150 ) { g_level[id] = 0 g_killsleft[id] = 150 } if( Numberkill[id] >= 150 && Numberkill[id] < 500 ) { g_level[id] = 1 g_killsleft[id] = 500 message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(22) // TE_BEAMFOLLOW write_short(id) write_short(spritetrail) write_byte(40) write_byte(3) write_byte(153) // Couleur R write_byte(255) // Couleur G write_byte(255) // Couleur B write_byte(250) message_end() } if( Numberkill[id] >= 500 && Numberkill[id] < 1500 ) { g_level[id] = 2 g_killsleft[id] = 1500 message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(22) // TE_BEAMFOLLOW write_short(id) write_short(spritetrail) write_byte(40) write_byte(3) write_byte(0) // Couleur R write_byte(51) // Couleur G write_byte(102) // Couleur B write_byte(250) message_end() } if( Numberkill[id] >= 1500 && Numberkill[id] < 4000 ) { g_level[id] = 3 g_killsleft[id] = 4000 message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(22) // TE_BEAMFOLLOW write_short(id) write_short(spritetrail) write_byte(40) write_byte(3) write_byte(0) // Couleur R write_byte(255) // Couleur G write_byte(0) // Couleur B write_byte(250) message_end() } if( Numberkill[id] >= 4000 && Numberkill[id] < 7500 ) { g_level[id] = 4 g_killsleft[id] = 7500 message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(22) // TE_BEAMFOLLOW write_short(id) write_short(spritetrail) write_byte(40) write_byte(3) write_byte(255) // Couleur R write_byte(0) // Couleur G write_byte(0) // Couleur B write_byte(250) message_end() } if( Numberkill[id] >= 7500 ) { g_level[id] = 5 g_killsleft[id] = 0 message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(22) // TE_BEAMFOLLOW write_short(id) write_short(spritetrail) write_byte(40) write_byte(3) write_byte(102) // Couleur R write_byte(0) // Couleur G write_byte(102) // Couleur B write_byte(250) message_end() } new blabla = ( g_killsleft[id] - Numberkill[id] ) if( g_level[id] == 5 ) { blabla = 0 } set_hudmessage(255, 255, 255, -1.0, 0.02, 0, 6.0, 5.0) show_hudmessage(id, "-------------------------------^n| Nb Kills : %i
Level : %i |^n| Nb de kills restants : %i |^n-------------------------------",
Numberkill[id], g_level[id], blabla) } } return PLUGIN_CONTINUE; }
public plugin_cfg() { g_Vault = nvault_open( "trail_bb_rrr" ); }
public plugin_end() { nvault_close( g_Vault ); }
public client_authorized( id ) { get_user_authid( id , g_szAuthID[id] , 34 ); Load_Data(id) }
public client_disconnect( id ) { Save_Data(id) }
public Killed(victim, attacker, shouldgib) { if( victim != attacker && is_user_alive(attacker) ) { Numberkill[attacker] += 1 switch( Numberkill[attacker] ) { case 150: { everup_print(attacker, "^x04[TRAIL_BB]^x01 Tu viens de passer au
level ^x03 1 ^x01 ,bien joue !") new money = cs_get_user_money(attacker) cs_set_user_money(attacker, money + 30000) } case 500: { everup_print(attacker, "^x04[TRAIL_BB]^x01 Tu viens de passer au
level ^x03 2 ^x01 ,bien joue !") new money = cs_get_user_money(attacker) cs_set_user_money(attacker, money + 70000) } case 1500: { everup_print(attacker, "^x04[TRAIL_BB]^x01 Tu viens de passer au
level ^x03 3 ^x01 ,bien joue !") new money = cs_get_user_money(attacker) cs_set_user_money(attacker, money + 160000) } case 4000: { everup_print(attacker, "^x04[TRAIL_BB]^x01 Tu viens de passer au
level ^x03 4 ^x01 ,bien joue !") new money = cs_get_user_money(attacker) cs_set_user_money(attacker, money + 300000) } case 7500: { everup_print(attacker, "^x04[TRAIL_BB]^x01 Tu viens de passer au
level ^x03 5 ^x01 ,bien joue !") new money = cs_get_user_money(attacker) cs_set_user_money(attacker, money + 840000) } } } return HAM_IGNORED }
public Save_Data(id) { new szKey[64]; formatex( szKey , 63 , "%s-ID" , g_szAuthID[id]);
new szData[256]; new pos = 0;
pos += formatex ( szData[pos], sizeof( szData ) - 1 - pos, "%d #", Numberkill[id]) nvault_set ( g_Vault, szKey, szData ) } public Load_Data(id) { new szKey[64]; formatex( szKey , 63 , "%s-ID" , g_szAuthID[id]); new szData[256]; if ( nvault_get ( g_Vault, szKey, szData, charsmax(szData) ) ) { new szkill[10] parse(szData, szkill, 9);
Numberkill[id] = str_to_num( szkill ) } else { Numberkill[id] = 0 } }
stock everup_print(target, const message[], any:...) { static g_msgSayText, maxplayers; if ( !g_msgSayText ) g_msgSayText = get_user_msgid("SayText") if ( !maxplayers ) maxplayers = get_maxplayers(); static buffer[512], i, argscount; argscount = numargs();
if (!target) { static player; for (player = 1; player <= maxplayers; player++) { if (!is_user_connected(player)) continue;
static changed[5], changedcount; changedcount = 0; for (i = 2; i < argscount; i++) { if (getarg(i) == LANG_PLAYER) { setarg(i, 0, player); changed[changedcount] = i; changedcount++; } } vformat(buffer, sizeof buffer - 1, message, 3); message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player); write_byte(player); write_string(buffer); message_end(); for (i = 0; i < changedcount; i++) setarg(changed[i], 0, LANG_PLAYER); } } else { vformat(buffer, sizeof buffer - 1, message, 3); message_begin(MSG_ONE, g_msgSayText, _, target); write_byte(target); write_string(buffer); message_end(); } }
Enjoy
Last edited by eVerup; 10-15-2012 at 14:56.
|
|