|
Junior Member
|

05-09-2004
, 12:38
lastman Function doenst work! :(
|
#1
|
In the public death_msg Function is in my opinion a error, because the oneandonly and maytheforce sound will play at the same time, perhabs anybody can take look at the code or can code a lastmanmode plugin ..
I hope anybody could help me 
Thanx in advance ..
Code:
/* AMX Mod script.
*
* ::Ultimate sounds::
* by Hephaistos ([email protected])
*
* cvar:
* streak_mode < flags >
* "a" - messages
* "b" - sounds
*
* bomb_mode < flags >
* "a" - exploded
* "b" - planting
* "c" - defusing
* "d" - planted
* "e" - defused
* "f" - failed to defuse
* "g" - pickup
* "h" - dropped
* "i" - sounds
*
* hekill_mode < flags >
* "a" - show normal HE-Kill in hud
* "b" - show suicide HE-Kill in hud
* "c" - play sound on HE-Kill
*
* kniff_mode < flags >
* "a" - messages
* "b" - sounds
*
* hs_mode < flags >
* "a" - messages
* "b" - sounds
*
* lastman_mode < flags >
* "a" - messages
* "b" - hp
* "c" - sounds
*
*
* Thank ToT|V!PER ,OLO ,JustinHoMi ,PsychoGuard and dJeyL for your plugins
*
*
*/
#include <amxmod>
#define KNIFFMESSAGES 4
#define HEMESSAGES 4 /* Number of Random Messages for Normal HE Kills */
#define HESMESSAGES 4 /* Number of Random Messages for Suicide HE Kills */
#define LEVELS 5
#define MESSAGESNOHP 4
#define MESSAGESHP 4
new planter
new defuser
new c4timer
new defusing
new Float:last_omg
new Float:last_plan
new kills [33] = {0,... };
new deaths [33] = {0,... };
new alone_ann = 0
new levels [5] = {3, 5, 7, 9, 10};
new stksounds [5][] = {"misc/multikill", "misc/ultrakill",
"misc/monsterkill", "misc/killingspree", "misc/godlike"};
new stkmessages [5][] = {"%s: Multi-Kill!", "%s: Ultra-Kill!!!", "%s: Monster-kill!!!",
"%s IS ON A KILLING SPREE!!!", "%s IS GODLIKE." };
new kniffmessages [KNIFFMESSAGES ][] = {
"%s sliced and diced %s",
"%s pulled out knife and gutted %s",
"%s sneaks carefully behind and knifed %s",
"%s knived %s"}
new he_messages [HEMESSAGES ][] = {
"%s sends a little gift to %s",
"%s throws a small present to %s",
"%s made a precision throw to %s",
"%s got a big explosion for %s"} /* Random Messages for Normal HE Kills */
new hes_messages [HESMESSAGES ][] = {
"%s detonated himself with a grenade",
"%s trys the effect of a HE Grenade",
"%s kicked a grenade into his own ass",
"%s explodes!"} /* Random Messages for Suicide HE Kills */
new messagesnohp [MESSAGESNOHP ][] = {"%i terrorist vs %i CT^n%s: Now all depend on you!",
"%i terrorist vs %i CT^n%s: I hope you still have a healthpack.",
"%i terrorist vs %i CT^n%s: All your teammates were killed. Good luck!",
"%i terrorist vs %i CT^n%s: Now you are alone. Have fun!"}
new messageshp [MESSAGESHP ][] = {"%i terrorist vs %i CT^n%s (%i hp): Now all depend on you!",
"%i terrorist vs %i CT^n%s (%i hp): I hope you still have a healthpack.",
"%i terrorist vs %i CT^n%s (%i hp): All your teammates were killed. Good luck!",
"%i terrorist vs %i CT^n%s (%i hp): Now you are alone. Have fun!"}
get_streak () {
new streak [3]
get_cvar_string("streak_mode",streak, 2)
return read_flags(streak )
}
get_bemode () {
new bemode [10]
get_cvar_string("bomb_mode",bemode, 9)
return read_flags(bemode )
}
public death_event (id ) {
new streak = get_streak ()
if ((streak &1) || (streak &2)){
new killer = read_data(1);
new victim = read_data(2);
kills [killer ] += 1;
kills [victim ] = 0;
deaths [killer ] = 0;
deaths [victim ] += 1;
for (new i = 0; i < LEVELS; i ++) {
if (kills [killer ] == levels [i ]) {
announce (killer, i );
return PLUGIN_CONTINUE;
}
}
}
return PLUGIN_CONTINUE;
}
announce (killer, level ) {
new streak = get_streak ()
if (streak &1){
new name [32];
get_user_name(killer, name, 32);
set_hudmessage(0, 100, 200, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0, stkmessages [level ], name );
}
if (streak &2){
client_cmd(0, "spk %s", stksounds [level ]);
}
}
public reset_hud (id ) {
new streak = get_streak ()
if (streak &1){
if (kills [id ] > levels [0]) {
client_print(id, print_chat,
"* You are on a killstreak with %d kills.", kills [id ]);
} else if (deaths [id ] > 1) {
client_print(id, print_chat,
"* Take care, you are on a deathstreak with %d deaths in a row.", deaths [id ]);
}
}
}
public client_connect (id ) {
new streak = get_streak ()
if ((streak &1) || (streak &2)){
kills [id ] = 0;
deaths [id ] = 0;
}
}
public got_bomb (id ){
new bemode = get_bemode ()
if (bemode &1){
planter = id
defuser = defusing = 0
if ((read_data(1)==2) && (last_omg < get_gametime())){
new bplayers_t [32], numte
get_players(bplayers_t,numte, "e", "TERRORIST")
last_omg = get_gametime() + 15.0
new name [32]
get_user_name(planter, name , 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(bplayers_t [0], "Omg! %s reached the target!",name )
}
}
}
public bdef_g (id ){
new bemode = get_bemode ()
if (read_data(1) == 3){
if (last_plan < get_gametime()){
if (bemode &2){
new bplayers_t [32], numte
get_players(bplayers_t,numte, "e", "TERRORIST")
last_plan = get_gametime() + 15.0
new name [32]
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
get_user_name(planter, name , 32)
show_hudmessage(bplayers_t [0], "%s is planting the bomb!",name )
}
}
}
else {
defuser = defusing = id
if (last_plan < get_gametime()){
if (bemode &4){
new bplayers_ct [32], numct
get_players(bplayers_ct,numct, "e", "CT")
last_plan = get_gametime() + 15.0
new name [32]
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
get_user_name(defusing, name , 32)
show_hudmessage(bplayers_ct [0], "%s is defusing the bomb :D",name )
}
}
}
}
public bdef_l (id )
defusing = 0
public disable_c4 (){
c4timer = 0
last_plan = 0.0
last_omg = 0.0
remove_task(8038)
}
public bomb_planted (){
new bemode = get_bemode ()
if (bemode &256){
client_cmd(0, "spk djeyl/c4powa")
}
if (bemode &8){
new name [32]
get_user_name(planter, name , 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0, "%s set us up the bomb!!!",name )
c4timer = get_cvar_num("mp_c4timer") - 2
set_task(1.0, "bomb_c", 8038, "", 0, "b")
last_plan = 0.0
}
}
public bomb_c (){
new bemode = get_bemode ()
if (--c4timer > 0){
if (c4timer == 30 || c4timer == 20){
if (bemode &256){
new temp [48]
num_to_word(c4timer,temp, 48)
client_cmd(0, "spk ^"vox /%s seconds until explosion ^"",temp )
}
}
else if (c4timer < 11){
if (bemode &256){
new temp [48]
num_to_word(c4timer,temp, 48)
client_cmd(0, "spk ^"vox /%s ^"",temp )
}
}
if (defusing )
client_print(defusing,print_center, "%d",c4timer )
}
else{
remove_task(8038)
}
}
public bomb_defused (){
new bemode = get_bemode ()
if (bemode &256){
client_cmd(0, "spk djeyl/laugh")
}
if (bemode &16){
new name [32]
get_user_name(defuser, name , 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0, "%s defused the bomb!",name )
disable_c4 ()
}
}
public bomb_failure (){
new bemode = get_bemode ()
if (defuser ){
if (bemode &256){
client_cmd(0, "spk djeyl/witch")
}
if (bemode &32){
new name [32]
get_user_name(defuser, name , 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0, "%s failed to defuse the bomb...",name )
}
}
}
public bomb_pickup (id ){
new bemode = get_bemode ()
if (bemode &64){
new bplayers_t [32], numte
get_players(bplayers_t,numte, "e", "TERRORIST")
new name [32]
get_user_name(id, name , 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(bplayers_t [0], "%s pick up the bomb...",name )
}
}
public bomb_drop (){
new bemode = get_bemode ()
if (bemode &128){
new bplayers_t [32], numte
get_players(bplayers_t,numte, "e", "TERRORIST")
new name [32]
get_user_name(planter, name , 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(bplayers_t [0], "%s dropped the bomb!!!",name )
}
}
public he_kills (){
new killer_id = read_data(1)
new victim_id = read_data(2)
new killer_name [32], victim_name [33]
get_user_name(killer_id,killer_name, 33)
get_user_name(victim_id,victim_name, 33)
new hekmode [8]
get_cvar_string("hekill_mode",hekmode, 8)
new hekmode_bit = read_flags(hekmode )
if (hekmode_bit & 1) {
if (victim_id != killer_id )
{
if (hekmode_bit & 4) {
client_cmd(0, "spk djeyl/grenade")
}
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0,he_messages [ random_num(0,HEMESSAGES -1)],killer_name,victim_name )
}
}
if (hekmode_bit & 2) {
if (victim_id == killer_id )
{
if (hekmode_bit & 4) {
client_cmd(0, "spk djeyl/witch")
}
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0,hes_messages [ random_num(0,HESMESSAGES -1) ],victim_name )
}
}
}
public knife_kill (){
new kniffmode [4]
get_cvar_string("kniff_mode",kniffmode, 4)
new kniffmode_bit = read_flags(kniffmode )
if (kniffmode_bit & 1) {
new killer_id = read_data(1)
new victim_id = read_data(2)
new killer_name [33], victim_name [33]
get_user_name(killer_id,killer_name, 33)
get_user_name(victim_id,victim_name, 33)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0,kniffmessages [ random_num(0,KNIFFMESSAGES -1) ],killer_name,victim_name )
}
if (kniffmode_bit & 2) {
client_cmd(0, "spk misc/humiliation")
}
}
public roundend_msg (id )
alone_ann = 0
public death_msg (id ){
new lmmode [8]
get_cvar_string("lastman_mode",lmmode, 8)
new lmmode_bit = read_flags(lmmode )
new players_ct [32], players_t [32], ict, ite, last
get_players(players_ct,ict, "ae", "CT")
get_players(players_t,ite, "ae", "TERRORIST")
if (ict ==1&&ite ==1){
new name1 [32], name2 [32]
get_user_name(players_ct [0],name1, 32)
get_user_name(players_t [0],name2, 32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
if (lmmode_bit & 1){
if (lmmode_bit & 2){
show_hudmessage(0, "%s (%i hp) vs. %s (%i hp)",name1, get_user_health(players_ct [0]),name2, get_user_health(players_t [0]))
}
else {
show_hudmessage(0, "%s vs. %s",name1,name2 )
}
if (lmmode_bit & 4){
client_cmd(0, "spk misc/maytheforce")
}
}
}
else {
if (ict ==1&&ite> 1&&alone_ann ==0&&(lmmode_bit & 4)){
last =players_ct [0]
client_cmd(last, "spk misc/oneandonly")
}
else if (ite ==1&&ict> 1&&alone_ann ==0&&(lmmode_bit & 4)){
last =players_t [0]
client_cmd(last, "spk misc/oneandonly")
}
else {
return PLUGIN_CONTINUE
}
alone_ann = last
new name [32]
get_user_name(last,name, 32)
if (lmmode_bit & 1){
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
if (lmmode_bit & 2){
show_hudmessage(0,messageshp [ random_num(0,MESSAGESHP -1) ],ite ,ict ,name, get_user_health(last ))
}
else {
show_hudmessage(0,messagesnohp [ random_num(0,MESSAGESNOHP -1) ],ite ,ict ,name )
}
}
if (lmmode_bit & 4){
client_cmd(last, "spk misc/maytheforce")
}
}
return PLUGIN_CONTINUE
}
public hs (){
new hsmode [4]
get_cvar_string("hs_mode",hsmode, 4)
new hsmode_bit = read_flags(hsmode )
if (hsmode_bit & 1){
new killer_id = read_data(1)
new victim_id = read_data(2)
new victim_name [33]
get_user_name(victim_id,victim_name, 33)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 3.0, 3.0, 0.15, 0.15, 1)
show_hudmessage(killer_id, "::HEADSHOT::^nYou oWnEd %s !!",victim_name )
}
if (hsmode_bit & 2){
client_cmd(0, "spk misc/headshot")
}
}
public plugin_precache ()
{
precache_sound( "djeyl/c4powa.wav")
precache_sound( "djeyl/laugh.wav")
precache_sound( "djeyl/grenade.wav")
precache_sound( "djeyl/witch.wav")
precache_sound( "misc/monsterkill.wav")
precache_sound( "misc/godlike.wav")
precache_sound( "misc/headshot.wav")
precache_sound( "misc/humiliation.wav")
precache_sound( "misc/killingspree.wav")
precache_sound( "misc/multikill.wav")
precache_sound( "misc/ultrakill.wav")
precache_sound( "misc/maytheforce.wav")
precache_sound( "misc/oneandonly.wav")
return PLUGIN_CONTINUE
}
public plugin_init () {
register_plugin("Ultimate sound", "0.76", "[email protected]")
register_event("DeathMsg", "hs", "a", "3=1")
register_event("DeathMsg", "knife_kill", "a", "4&kni")
register_event("DeathMsg", "he_kills", "a", "4&gren")
register_event("StatusIcon", "got_bomb", "be", "1=1", "1=2", "2=c4")
register_event("SendAudio", "bomb_planted", "a", "2&%!MRAD_BOMBPL")
register_event("SendAudio", "bomb_defused", "a", "2&%!MRAD_BOMBDEF")
register_event("TextMsg", "bomb_failure", "a", "2&#Target_B")
register_event("BarTime", "bdef_g", "be", "1=10", "1=5", "1=3")
register_event("BarTime", "bdef_l", "be", "1=0")
register_event("TextMsg", "bomb_pickup", "bc", "2&#Got_bomb")
register_event("TextMsg", "bomb_drop", "bc", "2&#Game_bomb_d")
register_event("SendAudio", "disable_c4", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
register_event("TextMsg", "disable_c4", "a", "2&#Game_C", "2&#Game_w")
register_event("ResetHUD", "reset_hud", "b");
register_event("DeathMsg", "death_event", "a")
register_event("SendAudio", "roundend_msg", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2=%!MRAD_rounddraw")
register_event("TextMsg", "roundend_msg", "a", "2&#Game_C", "2&#Game_w")
register_event("DeathMsg", "death_msg", "a")
register_cvar("lastman_mode", "abc")
register_cvar("streak_mode", "ab")
register_cvar("bomb_mode", "abcdefghi")
register_cvar("hekill_mode", "abc")
register_cvar("kniff_mode", "ab")
register_cvar("hs_mode", "ab")
return PLUGIN_CONTINUE
}
|
|