Raised This Month: $51 Target: $400
 12% 

tk_revenge_extra error


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
MrGarfield
Senior Member
Join Date: Feb 2013
Old 02-27-2019 , 09:11   tk_revenge_extra error
Reply With Quote #1

hello to all I have an error with this plugin can you tell me why it's for a server gungame_cz

Thank you


HTML Code:
* AMX Mod script. 
* 
* (c) Copyright 2002, OLO, Adapted by Rav, Traduced by -SpS- Actarus
* This file is provided as is (no warranties).
*
* MENU OPTIONS AFTER TK:
*
* 1. Tuer maintenant
* 2. Slap avec 50hp
* 3. Ne joue pas le prochain tour
* 4. Reduire la vie
* 5. Enterre le joueur
* 6. Colorie le joueur
* 7. Bombe humaine
* 8. Mauvaise visee (jambes)
*
* 9. Pardonner le TK
*
* Changelog: 
*
* V 1.11 - Changed glow effect
* V 1.12 - Added Timebomb
* V 1.13 - Added hud message format changed
* V 1.14 - Added Give bad aim (option 8)
* V 1.15 - Added "say tkinfo" motd!
* V 1.16 - Error Fix, special FX update
* V 1.17 - Added More randon messages & announcements
* V 1.18 - MOTD updated
* V 1.19 - Weapon & distance added to report on team attack
* V 2.00 - Removed jandom join jessages, added spawn protection/mirror damage (with slap)
* V 2.10 - Hud message colours changed, user burried now displays for longer (bug)
* V 2.20 - Added more special effects, corrected space error.
* V 2.21 - Changed Slap, reduce health, bad aim now changeable.
* V 2.22 - HUD Messages changed, tk_spsafe is now cvar "10" is default "0" disabled
* V 2.23 - Fixed (when attacked during spawn protection armour is lost)
* V 2.24 - Added various cvars - see below
* V 2.25 - Ban after set team kills & slay on tk attack at spawn added
* V 2.26 - Hud messages & colurs changed 
* V 2.27 - Variable punishments on menu options
* V 2.28 - Fixed lightening effect not showing & Slap will not kill player if health is low (leaves on 1hp)
* V 2.29 - Added tk_saymode (no hud messages) & FF autoreply
* V 2.30 - Added tk_forgive, if tk_ban 1 and tk is forgiven, it will not be counted towards ban
* V 2.31 - Added tk_revenge , if enabled.. revenge system is as per normal, if set to 0, no revenge system at all. Good for clanmatches. (default is 1)
* V 2.32 - Fixed players not being punished next round & Option 4 actioning after killer quit or dead.
* V 2.33 - Removed some unused/redundant code (prechache)
* V 2.34 - Changed Special Effects (lightening)
* V 2.35 - Changed CVAR tk_saymode to tk_sayhud 1 or o - 1 hud messages or 0 normal text & tk_spkill default is now 0
* V 2.36 - Added multiple slap on option 2 with delay of 4 seconds.
* V 2.37 - Fixed: "Punish Next Round" & "ForgiveTK"
* V 2.39 - Repeat slap for spawn protection & force drop weapons on attacker
* V 2.40 - Ban for team kills now active and id is written. (Default bantime is 5mins)
* V 2.41 - Forgive tk bug resolved
*
* New CVARS
*
* // SPAWN CVARS
* tk_spsafe - Time setting for spawn protection. rcon tk_spsafe < value > to change seconds (default is 10)
* tk_spkill - If enabled team attacks at spawn (within spawn protection time) will be slayed (default is 1)
*
* // PUNISH LEVEL CVARS
* tk_reduce - Amount of health to be removed from killer (menu option 4) Default it 35
* tk_slap   - Amount of damage when user is slapped (default is 50)
* tk_brange - Range of human timbomb affecting other players (default is 250)
*
* // GENERAL CVARS
* tk_sayhud - mode 1 give revenge messages in hud format (pretty say) mode 0 gives normal server text (default is 1)
* tk_forgive - if tk_ban 1 and team kill is forgiven, it will not be counted towards killers ban total (default is 1 (ON))
* 
* CVAR LISTING (all included in tk_revenge_cvars.cfg, for easy adding to server.cfg)
*
*   tk_spkill 1.0
*   tk_spsafe 10.0
*   tk_reduce 35.0
*   tk_slap 50.0
*   tk_bancount 4.0
*   tk_bantime 5.0
*   tk_ban 1.0
*   tk_brange 250.0
*   tk_sayhud 1
*   tk_forgive 1
*
* Credits: 
*       
*    OLO - For writing origional tkrevenge
*    Ludwig van - For writing timebomb & slim version for this plugin
* 
*/ 

#include <amxmodx>
#include <fun>

#define MAX_NAME_LENGTH 32
#define MAX_DATA_LENGTH 256
#define MAX_PLAYERS 32
#define MAX_NAME_LENGTH 32
#define MAX_DATA_LENGTH 256
#define ON 1
#define OFF 0
#define YES 1
#define NO 0


// Customizable options begin here (edit to suit)
new BOMB_FUSE = 5        // fuse time (can be changed)
// new get_cvar_num("tk_brange") = 250  // killing radius of bomb. (96 is playerheight) 
new BAD_AIM = 192 	      // Legs (192), Arms (48), Stomach (8), Chest (4), head (2) 
// End of custom options

// Special Effects
new bloodspray  
new blooddrop 
new smoke  
new white
new fire
new light

// TimeBomb Settings
new Float:ejl_ff 
new IsBomb[33]
new IsKamik[33] 
new bool:rs = false 
new bool:bKamikCredit = true 


// Revenge
new gMenu 
new gKillers[33] 
new gPunishMe[33]
new Bantk[33]
new Float:tk_spsafe = 0.0 
new body_part[8][] = {"le corps entier","La tete","le buffet","le ventre","le bras gauche","le bras droit","la jambe gauche","la jambe droite"}

explode(vec1[3]){  
   // blast circles 
   message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)  
   write_byte( 21 )  
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2] + 16)  
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2] + 1936)  
   write_short( white )  
   write_byte( 0 ) // startframe 
   write_byte( 0 ) // framerate 
   write_byte( 3 ) // life 2 
   write_byte( 20 ) // width 16 
   write_byte( 0 ) // noise 
   write_byte( 188 ) // r 
   write_byte( 220 ) // g 
   write_byte( 255 ) // b 
   write_byte( 255 ) //brightness 
   write_byte( 0 ) // speed 
   message_end()  
     
   //Explosion2 
   message_begin( MSG_BROADCAST,SVC_TEMPENTITY)  
   write_byte( 12 )  
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2]) 
   write_byte( 188 ) // byte (scale in 0.1's) 188 
   write_byte( 10 ) // byte (framerate) 
   message_end()  

   //TE_Explosion 
   message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)  
   write_byte( 3 )  
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2]) 
   write_short( fire )  
   write_byte( 65 ) // byte (scale in 0.1's) 188 
   write_byte( 10 ) // byte (framerate) 
   write_byte( 0 ) // byte flags 
   message_end()  
   
   //Smoke 
   message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)  
   write_byte( 5 ) // 5 
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2])  
   write_short( smoke ) 
   write_byte( 10 )  // 2 
   write_byte( 10 )  // 10 
   message_end() 
}  

fireball(vec1[3])
{
	//client_print(0,print_console,"Test")
	message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
	write_byte( 17 )
	write_coord(vec1[0])
	write_coord(vec1[1])
	write_coord(vec1[2] +256)
	write_short( fire )
	write_byte( 120 ) // scale * 10
	//get_cvar_num("atac_explosion_range") / 10
	write_byte( 255 ) // brightness
	message_end()
}

blood(vec1[3])  
{  
   //LAVASPLASH 
   message_begin( MSG_BROADCAST,SVC_TEMPENTITY)  
   write_byte( 10 )  
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2])  
   message_end()  
}

bloody(vec1[3]) 
{ 
    message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1) 
    write_byte( 115 ) 
    write_coord(vec1[0]) 
    write_coord(vec1[1]) 
    write_coord(vec1[2] +25) 
    write_short( bloodspray ) 
    write_short( blooddrop ) 
    write_byte( 70 ) // color index 
    write_byte( 15 ) // size 
    message_end() 
} 

lightning(vec1[3],vec2[3])  
{  
   //Lightning 
   message_begin( MSG_BROADCAST,SVC_TEMPENTITY)  
   write_byte( 0 )  
   write_coord(vec1[0])  
   write_coord(vec1[1])  
   write_coord(vec1[2])  
   write_coord(vec2[0])  
   write_coord(vec2[1])  
   write_coord(vec2[2])  
   write_short( light )  
   write_byte( 1 ) // framestart 
   write_byte( 5 ) // framerate 
   write_byte( 2 ) // life 
   write_byte( 20 ) // width 
   write_byte( 30 ) // noise 
   write_byte( 12 ) // r, g, b 
   write_byte( 50 ) // r, g, b 
   write_byte( 200 ) // r, g, b 
   write_byte( 200 ) // brightness 
   write_byte( 200 ) // speed 
   message_end() 
   //Sparks 
   message_begin( MSG_PVS, SVC_TEMPENTITY,vec2)  
   write_byte( 9 )  
   write_coord( vec2[0] )  
   write_coord( vec2[1] )  
   write_coord( vec2[2] )  
   message_end()  
     
}  

// Timebomb Countdown
public timebomb_timer(){ 

    new hibomb = 100 
    new maxpl = get_maxplayers() +1 
    new a 
    for(a = 1; a < maxpl; a++) { 
        if ((IsBomb[a] != 0) && (IsBomb[a] < hibomb)){ 
            hibomb = a            
        } 
            } 

    for(a = 1; a < maxpl; a++) { 
        if (IsBomb[a] > 0){ 
            emit_sound(a,CHAN_ITEM, "buttons/blip2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) 
            if (IsBomb[a] == 1){ 
                blowem_up(a)            
            }else{ 
                IsBomb[a] -= 1 
                if (a == hibomb){  
                    new name[32] 
                    new team[32] 
                    get_user_name(a,name,32) 
                    get_user_team(a,team,32) 
                    if(equal(team,"T", 1)){ 
                        set_hudmessage(200,0,0, 0.03, 0.76, 2, 0.02, 2.0, 0.01, 0.1, 2) 
                    }else{ 
                        set_hudmessage(0,100,200, 0.03, 0.76, 2, 0.02, 2.0, 0.01, 0.1, 2) 
                    } 
                    show_hudmessage(0,"%s explosera dans %d secondes.",name,IsBomb[a]) 
                    if (IsBomb[a] == 11){ 
                        client_cmd(0,"spk ^"fvox/remaining^"") 
                    } 
                    if (IsBomb[a] < 11){ 
                        new temp[48] 
                        num_to_word(IsBomb[a],temp,48) 
                        client_cmd(0,"spk ^"fvox/%s^"",temp) 
                    } 
                } 
                if(is_user_alive(a) == 0){ 
                    blowem_up(a) 
                } 
            } 
        } 
    } 
} 

// Timebomb goes off
public blowem_up(id){ 

	new bombguyfrags
	new bgf_message = 0
	if(id == 100){
		new maxpl = get_maxplayers() +1
		for(new a = 1; a < maxpl; a++) {
		if ((IsBomb[a] > 0) || (IsKamik[a] == 1)){
			IsKamik[a] = 0 
			IsBomb[a] = 0 
			new name[32]
			get_user_name(a,name,32)
			set_user_rendering(a,kRenderFxNone,255,255,255, kRenderNormal,16)
			set_hudmessage(200,255,200, 0.03, 0.76, 2, 0.02, 2.0, 0.01, 0.1, 2)
			show_hudmessage(0,"%s sert de repas aux vautours.",name)
			new origin[3]
			get_user_origin(a,origin)
			origin[2] = origin[2] - 26
			user_kill(a,1)
			} 
		}
	}
	else
	{ 
	if (IsBomb[id] > 0){
		new name[32] 
		new team[32]
		get_user_name(id,name,32)
		set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16)             
		set_hudmessage(200,255,200, 0.03, 0.76, 2, 0.02, 2.0, 0.01, 0.1, 2)
		show_hudmessage(0,"%s a exploser.",name)
		set_cvar_string("mp_friendlyfire","0")			                        
		ejl_ff = get_cvar_float("mp_friendlyfire")
		new origin[3]
		get_user_origin(id,origin)
		get_user_team(id, team , 32)
		new maxpl = get_maxplayers() +1
		for(new a = 1; a < maxpl; a++) {
		new origin1[3] 
		new team1[32]             
		get_user_origin(a,origin1)
		get_user_team(a, team1 , 32)
		if(is_user_alive(a) != 0){
			if( ! (origin[0]-origin1[0] > get_cvar_num("tk_brange") || origin[0]-origin1[0] < - get_cvar_num("tk_brange") ||
	    		origin[1]-origin1[1] > get_cvar_num("tk_brange") || origin[1]-origin1[1] < - get_cvar_num("tk_brange") ||
	        	origin[2]-origin1[2] > get_cvar_num("tk_brange") || origin[2]-origin1[2] < - get_cvar_num("tk_brange")) ){
	        		if(ejl_ff == 0){ 
						if(!equal(team, team1, 1)){
		            		client_print(a,print_chat,"[AMX] :  Dsl, la bombe t'as eu.")     				            		
		            		if((a != id) && (bKamikCredit == true) && (IsKamik[id] == 1) ){
		                    	bombguyfrags = get_user_frags(id)
		                    	bombguyfrags +=1
		                    	bgf_message +=1
		                    	set_user_frags(id,bombguyfrags)
							}
					user_kill(a,1)
					explode(origin1)       
					}
				}
				if(ejl_ff == 1){
					if(rs == false){ 
						client_print(a,print_chat,"[AMX] :  Sorry, la bombe t'as tuer.")                                 
						if((!equal(team, team1, 1)) && (bKamikCredit == true) && (IsKamik[id] == 1) ){ 
							bombguyfrags = get_user_frags(id) 
							bombguyfrags +=1 
							bgf_message +=1 
							set_user_frags(id,bombguyfrags)
						} 
						if(a != id){ 
							explode(origin1) 
						} 
						user_kill(a,1) 
                        }
						else
						{
								client_print(a,print_chat,"[AMX] Sorry, la bombe t'as tuer.")
								if(a == id){
                                	user_kill(a,1) 
							} 
						}     
					}                             
				} 
			} 
		}
		IsBomb[id] = 0 
		IsKamik[id] = 0 
		if(ejl_ff == 0){ 
			client_print(id,print_chat,"[AMX] Sorry, la bombe t'as tuer.") 
			user_kill(id,1) 
		}
		if((bKamikCredit == true) && (bgf_message > 0)){ 
			client_print(id,print_chat,"[AMX] : Tu as fait %d morts.", bgf_message) 
	} 
		origin[2] = origin[2] - 26   
		explode(origin) 
		set_cvar_string("mp_friendlyfire","1")
        } 
    } 
}  

// Menu Option Number 1 (Kill Now)
public menu_option1(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0 
		++Bantk[gKillers[id]]
		new name1[32], name2[32] 
		get_user_name(id,name1,32) 
		get_user_name(gKillers[id],name2,32)
		user_kill(gKillers[id])
		new origin[3]
		get_user_origin(gKillers[id],origin)
		origin[2] = origin[2] - 26
		new sorigin[3]
		sorigin[0] = origin[0] + 150
		sorigin[1] = origin[1] + 150
		sorigin[2] = origin[2] + 400
		blood(origin) 
		fireball(origin) 
		explode(origin)
		emit_sound(gKillers[id],CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s a tuer %s pour cause de TK",name1,name2)
			return PLUGIN_HANDLED 
}         
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a tuer %s pour cause de TK",name1,name2)
		} 
			else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

// Menu Option Number 2 (Slap with 50hp (Default Setting))
public menu_option2(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0  
		++Bantk[gKillers[id]]   
		new name1[32], name2[32] 
		get_user_name(id,name1,32) 
		get_user_name(gKillers[id],name2,32)
		if(get_user_health(gKillers[id]) < get_cvar_num("tk_slap")){
		set_user_health(gKillers[id],get_cvar_num("tk_slap") + 1)		
		}
		user_slap(gKillers[id],get_cvar_num("tk_slap")) 
		new origin[3]
		get_user_origin(gKillers[id],origin)
		origin[2] = origin[2] - 26
		new sorigin[3]
		sorigin[0] = origin[0] + 150
		sorigin[1] = origin[1] + 150
		sorigin[2] = origin[2] + 400
		lightning(sorigin,origin)
		bloody(origin)
		emit_sound(0,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) 
		if(get_cvar_num("tk_sayhud") == 0){
		client_print(0,print_chat,"[AMX] %s a mi un coup de boule a %s pour cause de TK",name1,name2)
		new param[2] 
		param[0] = gKillers[id]
		set_task(4.0,"delayed_slap",1234,param,1)
		return PLUGIN_HANDLED 
}
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a mi un coup de boule a %s pour cause de TK",name1,name2) 
		new param[2] 
		param[0] = gKillers[id] 
		set_task(4.0,"delayed_slap",1234,param,1)
		} 
			else 
			client_print(id,print_chat," [AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

public delayed_slap(param[]){
	user_slap(param[0],0)
	new origin[3]
	get_user_origin(param[0],origin)
	origin[2] = origin[2] - 26
	new sorigin[3]
	sorigin[0] = origin[0] + 150
	sorigin[1] = origin[1] + 150
	sorigin[2] = origin[2] + 400
	lightning(sorigin,origin)
	bloody(origin)
	emit_sound(0,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	return PLUGIN_HANDLED 
} 	

// Menu Option Number 3 (Punish Next Round)
public menu_option3(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0 
		++Bantk[gKillers[id]]    
		new name[32] 
		get_user_name(gKillers[id],name,32) 
		set_user_hitzones(gKillers[id],0,BAD_AIM)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s Apprend a viser maintenant (les jambes)",name)
			client_print(gKillers[id],print_chat,"[AMX] Tu dois viser que les jambes maintenant, BONNE CHANCE!")
			return PLUGIN_HANDLED 
}
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s Apprend a viser maintenant (les jambes)",name)
		set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
		show_hudmessage(gKillers[id],"Tu dois viser que les jambes maintenant, BONNE CHANCE!")
	} 
		else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

// Menu Option Number 4 (Reduced Health to 35hp (Default Setting))
public menu_option4(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0 
		++Bantk[gKillers[id]]    
		new name1[32], name2[32]
		new oldhealth
		oldhealth = get_user_health(gKillers[id])
		get_user_name(id,name1,32) 
		get_user_name(gKillers[id],name2,32) 
		set_user_health(gKillers[id],oldhealth - get_cvar_num("tk_reduce"))
		new origin[3]
		get_user_origin(gKillers[id],origin)
		origin[2] = origin[2] - 26
		new sorigin[3]
		sorigin[0] = origin[0] + 150
		sorigin[1] = origin[1] + 150
		sorigin[2] = origin[2] + 400
		lightning(sorigin,origin)
		emit_sound(gKillers[id],CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s a reduit la vie de %s a cause du TK",name1,name2)
			return PLUGIN_HANDLED 
		}
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a reduit la vie de %s a cause du TK",name1,name2)
		} 
			else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

// Menu Option Number 5 (Bury Killer)
public menu_option5(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0  
		++Bantk[gKillers[id]]   
		new name1[32], name2[32] 
		get_user_name(id,name1,32) 
		get_user_name(gKillers[id],name2,32) 
		new origin[3]
		get_user_origin(gKillers[id], origin)
		new height = random_num(20,50)
		origin[2] -= height
		set_user_origin(gKillers[id], origin)
		fireball(origin)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s a enterrer %s tu fais moins le malin!",name1,name2)
			return PLUGIN_HANDLED 
		}	
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a enterrer %s tu fais moins le malin!",name1,name2)
		} 
			else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 


// Menu Option Number 6 (Glow Killer)
public menu_option6(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0 
		++Bantk[gKillers[id]]    
		new name1[32], name2[32] 
		get_user_name(id,name1,32) 
		get_user_name(gKillers[id],name2,32) 
		new red = random_num(50,255)  
		new green = random_num(50,255)  
		new blue = random_num(50,255) 
		set_user_rendering(gKillers[id],kRenderFxGlowShell,red,green,blue,kRenderNormal,16)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s a colorer %s tu fais une belle cible",name1,name2)
			return PLUGIN_HANDLED 
}
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a colorer %s tu fais une belle cible",name1,name2)
	} 
			else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

// Menu Option Number 7 (Make Timebomb (Evil))
public menu_option7(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0  
		++Bantk[gKillers[id]]   
		new arg[32]
		read_argv(1,arg,32)
		new player = gKillers[id]
		if (player){
		if(is_user_alive(player) == 0){
		client_print(id,print_console,"Le joueur est mort et ne peut etre amorcer")
		return PLUGIN_HANDLED
	}
		IsBomb[player] = BOMB_FUSE
		new name2[32]
		get_user_name(player,name2,32)
		set_user_rendering(player,kRenderFxGlowShell, 255,0,0, kRenderNormal,16)
		client_cmd(0,"spk ^"vox/warning _comma _comma detonation device activated^"")	
		client_print(0,print_chat,"%s est devenu une bombe humaine, sauvez Vous!!!", name2)
	}
			else{
			client_print(id,print_console,"Trop tard, il a quitte le jeux!")
		}
	}
	return PLUGIN_HANDLED
}

// Menu Option Number 8 (Punish Next Round)
public menu_option8(id,keys){ 
	if (gPunishMe[gKillers[id]]){ 
		++Bantk[gKillers[id]]
		new name[32] 
		get_user_name(gKillers[id],name,32)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s ne jouera pas le prochain tour",name)
			return PLUGIN_HANDLED 
}       
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[TEAM KILL REVENGE]^n^n%s ne jouera pas le prochain tour",name)
		} 
			else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

// Menu Option Number 9 (Forgive Team Kill)
public menu_option9(id,keys){ 
	if (gPunishMe[gKillers[id]]) { 
		gPunishMe[gKillers[id]]=0 
		++Bantk[gKillers[id]]
		if (get_cvar_num("tk_ban") == 1){
			if(get_cvar_num("tk_forgive") == 1){
				--Bantk[gKillers[id]]
			}
		}
		new name1[32], name2[32] 
		get_user_name(id,name1,32) 
		get_user_name(gKillers[id],name2,32)
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(0,print_chat,"[AMX] %s a pardonner %s c'est un noob!",name1,name2)
			return PLUGIN_HANDLED 
}
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
		show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a pardonner %s c'est un noob!",name1,name2) 
	} 
			else 
			client_print(id,print_chat,"[AMX] Trop tard pour reagir") 
	return PLUGIN_HANDLED 
} 

// Menu Format 
public show_tkmenu(param[]){ 
	if(get_cvar_num("tk_revenge") == 1){
	new szmenu[256], name[32] 
	get_user_name(param[1],name,32) 
	format(szmenu,256,"\yTK Revenge on %s^n^n\w1. Tuer maintenant!^n2. Slap avec \r(50hp)\w^n3. Visee merdique \r(Legs)\w^n4. Reduit la vie \r(35hp)\w^n5. Enterre le^n6. Colorise le^n7. Bombe humaine \r(EVIL)\w^n8. Puni au prochain tour^n^n9. \yPardonne le TK",name) 
	show_menu(param[0],((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)),szmenu) 
	}
} 

// Handle death event
public death_msg(id){ 
	if(get_cvar_num("tk_revenge") == 1){
	new killer = read_data(1) 
	new victim = read_data(2)
	
	if ( killer && (killer!=victim) ) {
		if (get_user_team(killer)==get_user_team(victim)) { 
			gKillers[victim] = killer 
			gPunishMe[killer] = 1 
			new param[2] 
			param[0] = victim 
			param[1] = killer 		
			set_task(0.25,"show_tkmenu",0,param,2) 
			} 
		}
	}
	return PLUGIN_CONTINUE 		
} 

// Punish next round handling
public delayed_kill(param[]){ 
	client_print(param[0],print_chat,"Tu as ete punis, pour avoir tuer un coequipier") 
	user_kill(param[0]) 
	gPunishMe[param[0]]=0
	return PLUGIN_CONTINUE    
} 

// Team attack control & spawn protection/slaying
public damage_event()  
{ 
	if(get_cvar_num("tk_revenge") == 1){
	new victim = read_data(0); 
	new damage = read_data(2); 
	new weapon, hitplace
	new attacker = get_user_attacker(victim,weapon,hitplace); 
	if ( attacker && (attacker!=victim) ) { 
		if (get_user_team(attacker)==get_user_team(victim)) { 
			set_user_flags(attacker,(1<<0),31) 
			gKillers[victim] = attacker 
			new name[32] 
			get_user_name(attacker,name,32) 
			if (tk_spsafe > get_gametime()){
				if(get_cvar_num("tk_spkill") == 1){
						user_kill(attacker)
						new origin[3]
						get_user_origin(attacker,origin)
						origin[2] = origin[2] - 26
						new sorigin[3]
						sorigin[0] = origin[0] + 150
						sorigin[1] = origin[1] + 150
						sorigin[2] = origin[2] + 400
						blood(origin) 
						fireball(origin) 
						explode(origin)
						emit_sound(attacker,CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
						if(get_cvar_num("tk_sayhud") == 0){
							client_print(0,print_chat,"[AMX] %s a ete tuer, pour avoir attaquer un coequipier!",name)
							return PLUGIN_HANDLED 
}
						set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 3.0, 0.02, 0.02, 10) 
						show_hudmessage(0,"[VENGEANCE DE LA VICTIME]^n^n%s a ete tuer, pour avoir attaquer un coequipier!",name)
						return PLUGIN_HANDLED
				}		
				set_user_health(victim, get_user_health(victim) + damage); 
				user_slap(attacker,damage)
				user_slap(attacker,0)
				client_cmd(attacker,"drop")
				client_cmd(attacker,"drop")
				new armor = get_user_armor(victim)
				if (armor > 1){
					set_user_armor(victim, 100)
					return PLUGIN_CONTINUE
				}
				if(get_cvar_num("tk_sayhud") == 0){
					return PLUGIN_HANDLED 
}
				set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10)
				show_hudmessage(attacker,"[ATTAQUE SUR COEQUIPIERS]^n^nProtection de debut de round^nDommage %dhp retransmis!", damage)
				show_hudmessage(victim,"[PROTECTION DEBUT DE ROUND]^n^nDommage %dhp retransmis!", damage)
				return PLUGIN_HANDLED
	}
			new wpn[32]
			new ammo, clip, myweapon = get_user_weapon(attacker,ammo,clip)		
			get_weaponname(myweapon,wpn,32)
			replace(wpn,32,"weapon_",""); 
			new start[3], end[3] 
			get_user_origin(victim,start,0) 
			get_user_origin(attacker,end,0)
			new distance = get_distance(start,end)
			new adistance = distance 
			if(get_cvar_num("tk_sayhud") == 0){
				return PLUGIN_HANDLED 
}
			set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10) 
			show_hudmessage(attacker,"[RAPPORT ATTAQUE COEQUIPIER]^n^nTu vas etre surement puni!^nLe dernier tirs a causer %ihp de dommage dans %s^navec %s de %dft",damage, body_part[hitplace], wpn, adistance / 39) 
			} 
		}
	} 
	return PLUGIN_HANDLED
} 

// Reset all punishments & handle banning for team kills
public reset_hud(id){ 	
	if(get_cvar_num("tk_revenge") == 1){
	if(get_cvar_num("tk_spkill")  == 1){
		if(get_cvar_num("tk_spsafe") > 0){
			client_print(id,print_chat,"[AMX] La protection TK est actif, n'attaquez pas vos coequipiers") 
			}
		}
	if (get_cvar_num("tk_ban") == 1){
		if (Bantk[id] == get_cvar_num("tk_bancount") + 1){
			new BanAuthid[256]
			new Bname[33]
			get_user_authid(id,BanAuthid,256)
			get_user_name(id,Bname,32)
			client_cmd(id,"echo [AMX] Tu as ete banni 5 minutes pour TK!;disconnect")
			server_cmd("banid %i %s;writeid",get_cvar_num("tk_bantime"),BanAuthid)
			client_print(0,print_chat,"[AMX] %s a ete banni %i minutes pour avoir TK %i fois", Bname, get_cvar_num("tk_bantime"), get_cvar_num("tk_bancount") )
		}
	}
	set_user_rendering(id)
	remove_task(1)
	remove_task(0)
	if (gPunishMe[id]){ 
		gPunishMe[id] = 0 
		new param[2] 
		param[0] = id 
		set_task(0.25,"delayed_kill",0,param,2) 
	} 
	if(get_cvar_num("tk_ban")  == 1){
		if (Bantk[id] > 1){
			if(get_cvar_num("tk_sayhud") == 0){
				client_print(id,print_chat,"[AMX] Tu as tuer %i coequipiers,sur %i attention, tu vas etre banni", Bantk[id] -1, get_cvar_num("tk_bancount")) 
				}
				else
				{
				set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10) 
				show_hudmessage(id,"[RAPPORT ATTAQUE COEQUIPIER]^n^nTu as tuer %i coequipiers,sur %i attention, tu vas etre banni", Bantk[id] -1, get_cvar_num("tk_bancount"))
				}
			}
		}
	}
	return PLUGIN_CONTINUE 
} 

// FF autoreply
public reply_ff(id){
	
	if(get_cvar_num("mp_friendlyfire") == 0){
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(id,print_chat,"[AMX] Friendly Fire est inactif")
			return PLUGIN_HANDLED 
		}
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10) 
		show_hudmessage(id,"Friendly Fire est inactif^nTu ne crains rien!")
		}
		else
		{
		if(get_cvar_num("tk_sayhud") == 0){
			client_print(id,print_chat,"[AMX] Friendly Fire est actif")		
			return PLUGIN_HANDLED 
		}		
		set_hudmessage(220,80,0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10) 
		show_hudmessage(id,"Friendly Fire est actif^nFais attention!")			
	}
	return PLUGIN_HANDLED
}

// Set levels for new players
public client_connect(id){ 
	gPunishMe[id] = 0 
	IsBomb[id] = 0
	Bantk[id] = 1
	return PLUGIN_CONTINUE 
} 

// Set levels for leaving players
public client_disconnect(id){ 
	gPunishMe[id] = 0 
	IsBomb[id] = 0
	Bantk[id] = 1
	return PLUGIN_CONTINUE 
} 

// Reset punishment markers
public reset_punishment(){ 
	for(new id=0;id<33;++id)  
        gPunishMe[id] = 0 
	return PLUGIN_CONTINUE         
}

// Spawn Protection/slay
public new_round() { 
    tk_spsafe = get_gametime() + get_cvar_float("tk_spsafe")    
} 

// Spawn Protection/slay
public roundtime(id) { 
    new remaining = read_data(1); 
     
    if (remaining == get_cvar_float("mp_roundtime") * 60) { 
        new_round(); 
    } 
     
    return PLUGIN_CONTINUE; 
} 

// MOTD window with Plugin Information
public tk_info(id){
	show_motd(id,"Shows options for punishment after a player is TK'd. Live damage showing Damage, weapon and distance. Spawn protection for 10 second.^n^nMenu options are^n^n1. Kill Now^n2. Slap with 50hp^n3. Give bad aim^n4. Reduce Health to 35hp^n5. Bury Killer^n6. Glow Killer^n7. Make Timebomb (Evil)^n8. Punish next round^n9. Forgive TK^n^nSettings Include:^n^nSpawn Protection^nMirror Damage^nSlay on attack^nBan team kills^nPunishment levels changeable^n^nWritten by Rav","TKR 2.41 -SpS- Actarus")
	return PLUGIN_HANDLED
}

// Pre-Load Special Effects
public plugin_precache()
{
	precache_sound( "ambience/thunder_clap.wav")
	precache_sound( "weapons/headshot2.wav")
	smoke = precache_model("sprites/steam1.spr")
	light = precache_model("sprites/lgtning.spr") 
	white = precache_model("sprites/white.spr")
	fire = precache_model("sprites/explode1.spr")
	precache_sound( "buttons/blip2.wav")
	bloodspray = precache_model("sprites/bloodspray.spr") 
	blooddrop = precache_model("sprites/blood.spr") 
	return PLUGIN_CONTINUE
}

public plugin_init(){ 
	register_plugin("TK Revenge Extra","2.41","-SpS- Actarus") 
	gMenu = register_menuid("TK Revenge") 
	register_menucmd(gMenu,(1<<0),"menu_option1") 
	register_menucmd(gMenu,(1<<1),"menu_option2") 
	register_menucmd(gMenu,(1<<2),"menu_option3")     
	register_menucmd(gMenu,(1<<3),"menu_option4") 
	register_menucmd(gMenu,(1<<4),"menu_option5") 
	register_menucmd(gMenu,(1<<5),"menu_option6")
	register_menucmd(gMenu,(1<<6),"menu_option7")
	register_menucmd(gMenu,(1<<7),"menu_option8")
	register_menucmd(gMenu,(1<<8),"menu_option9")
	register_event("TextMsg","reset_punishment","a","2&#Game_C","2&#Game_w") 
	register_event("Damage", "damage_event", "b", "2!0");
	register_event("ResetHUD","reset_hud","b")
	register_event("RoundTime", "roundtime", "bc") 
	register_event("DeathMsg","death_msg","a")
	register_clcmd("say tkinfo","tk_info")
	set_task(1.0,"timebomb_timer",3,"",0,"a",9999)
	set_cvar_float("mp_t",0.0) 
	register_cvar("tk_spkill", "0")
	register_cvar("tk_spsafe", "10.0")
	register_cvar("tk_reduce", "35.0")
	register_cvar("tk_slap", "50.0")
	register_cvar("tk_bancount", "4.0")
	register_cvar("tk_bantime", "5.0")
	register_cvar("tk_ban", "1.0")
	register_cvar("tk_brange", "250.0")
	register_cvar("tk_sayhud", "1")
	register_cvar("tk_revenge", "1.0")
	register_cvar("tk_forgive", "1.0")
	register_cvar("tk_revenge", "1.0")
	register_clcmd("say ff","reply_ff")
	register_clcmd("say ffon","reply_ff")
	register_cvar("amx_rvs_tkrevenge_extra", "TKR 2.41 par -SpS- Actarus",FCVAR_SERVER) 
	return PLUGIN_CONTINUE
} 
log error

Quote:
L 02/27/2019 - 113:57: Start of error session.
L 02/27/2019 - 113:57: Info (map "gg_goodtimes") (file "addons/amxmodx/logs/error_20190227.log")
L 02/27/2019 - 113:57: [FUN] Invalid player 3
L 02/27/2019 - 113:57: [AMXX] Displaying debug trace (plugin "tk_revenge_extra.amxx", version "2.41")
L 02/27/2019 - 113:57: [AMXX] Run time error 10: native error (native "set_user_rendering")
L 02/27/2019 - 113:57: [AMXX] [0] 78632.attach::reset_hud (line 805)
L 02/27/2019 - 113:57: [FUN] Invalid player 4
L 02/27/2019 - 113:57: [AMXX] Displaying debug trace (plugin "tk_revenge_extra.amxx", version "2.41")
L 02/27/2019 - 113:57: [AMXX] Run time error 10: native error (native "set_user_rendering")
L 02/27/2019 - 113:57: [AMXX] [0] 78632.attach::reset_hud (line 805)
L 02/27/2019 - 113:57: [FUN] Invalid player 5
L 02/27/2019 - 113:57: [AMXX] Displaying debug trace (plugin "tk_revenge_extra.amxx", version "2.41")
L 02/27/2019 - 113:57: [AMXX] Run time error 10: native error (native "set_user_rendering")
L 02/27/2019 - 113:57: [AMXX] [0] 78632.attach::reset_hud (line 805)
MrGarfield is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 02-27-2019 , 13:40   Re: tk_revenge_extra error
Reply With Quote #2

Because the player isn't connected when "set_user_rendering" is used on him. Check "is_user_connected" before using the native.
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
MrGarfield
Senior Member
Join Date: Feb 2013
Old 02-28-2019 , 02:19   Re: tk_revenge_extra error
Reply With Quote #3

ok OciXCrom I do not know much in plugin that mean there is a change on the line 805? Check "is_user_connected" before using the native for me not to say a lot of things, I thought it was coming from my server

Last edited by MrGarfield; 02-28-2019 at 02:21.
MrGarfield is offline
MrGarfield
Senior Member
Join Date: Feb 2013
Old 03-02-2019 , 10:12   Re: tk_revenge_extra error
Reply With Quote #4

up someone could help me please I do not know much thank you
MrGarfield is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 03-02-2019 , 13:42   Re: tk_revenge_extra error
Reply With Quote #5

I told you what you need to do. If you don't know and aren't willing to try, don't post in the Scripting Help section. Use the Plugin Requests section.
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
MrGarfield
Senior Member
Join Date: Feb 2013
Old 03-03-2019 , 03:44   Re: tk_revenge_extra error
Reply With Quote #6

it's true that I know nothing about the plugin but since the whole week I'm looking for, I find you a little hard when you do not even know if I searched, I asked more about the error and nobody do not answer me. so explain to me how can I do when we do not know anything about the plugin? after if I posted here is that I was sent, I already made a mistake in the forum by explaining my problem and told me to post here (Scripting Help) after the forum alliedmods is a forum of help and I do not think all the people who post know anything about coding, After I do not think I was badly polite or aggressive and I do not think I'm the only one wrong to post in the wrong section. It does not matter I will not take my head with this
thanks anyway
MrGarfield is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 03-03-2019 , 07:01   Re: tk_revenge_extra error
Reply With Quote #7

I explained you perfectly everything you need to know about how to do it yourself and where to post if you don't know how to do it yourself, even though I told you how.
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:44.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode