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

Plugin Error


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
gmamirel
New Member
Join Date: Aug 2016
Old 06-30-2018 , 08:28   Plugin Error
Reply With Quote #1

Hello i have this plugin:
Code:
#include <amxmodx>

#define Autor " [Argo]"
#define Versiune "1.5"
#define Nume "Mun"

new cvar_on, cvar_tag, cvar_show, cvar_hudcolor, cvar_hudposition

new TaG[8], r, kills[32], HasALeader = 0, bool:Something, Count = 0, OldMaxKills = 0, OldMaxKillsID = 0, rMaxKills = 0,
rMaxKillsID = 0, SyncShowLeader

public plugin_init(){
register_plugin(Nume, Versiune, Autor)

register_dictionary("score_leader.txt")

register_event("HLTV", "NewRoundEvent", "a", "1=0", "2=0")

cvar_tag = register_cvar("leader_board_tag", "CSFREE")
cvar_on = register_cvar("leader_board", "1")
cvar_show = register_cvar("leader_board_show", "2")
cvar_hudcolor = register_cvar("leader_board_hudcolor", "255 170 0")
cvar_hudposition = register_cvar("leader_board_hudposition", "0.05 -1.0")

get_pcvar_string(cvar_tag, TaG, charsmax(TaG))

SyncShowLeader = CreateHudSyncObj()

set_task(0.5, "rLeaderCheckTask", _, _, _, "b", 0)
}

public rLeaderCheckTask(){
if(get_pcvar_num(cvar_on) == 0){
return PLUGIN_HANDLED
}

new rPlayers[32], rNum, rPID
get_players(rPlayers, rNum)

if(get_user_frags(rMaxKillsID) == 0){
if(!is_user_connected(rMaxKillsID)){
OldMaxKills = 0
OldMaxKillsID = 0
rMaxKills = 0
rMaxKillsID = 0

if(Count > 0)ColorChatAlpha(0, "%L", LANG_PLAYER, "DISCONNECTED", TaG)

Count = 0
}
OldMaxKills = 0
OldMaxKillsID = 0
rMaxKills = 0
rMaxKillsID = 0

if(Count > 0)ColorChatAlpha(0, "%L", LANG_PLAYER, "RESET_SCORE", TaG)

Count = 0
}

for(r = 0;r < rNum;r++){
rPID = rPlayers[r]
kills[rPID] = get_user_frags(rPID)

if(Count == 0){
if(get_user_frags(rPID) == 0){
Something = false
}
else {
Something = true
Count++
}
}

ShowWhosLeader(rPID)

if(kills[rPID] > kills[rMaxKillsID]){
rMaxKillsID = rPID
rMaxKills = kills[rMaxKillsID]
}
}

if(!Something)return PLUGIN_HANDLED

CheckLeader(rMaxKillsID)

return PLUGIN_HANDLED
}

public CheckLeader(rMaxKillsID){
if(OldMaxKills == rMaxKills || OldMaxKillsID == rMaxKillsID)
return

if(rMaxKills > 0 && HasALeader == 0){
ColorChatAlpha(0, "%L", LANG_PLAYER, "THE_LEADER", TaG, get_pname(rMaxKillsID), kills[rMaxKillsID], kills[rMaxKillsID] == 1 ? "" : "s", get_user_deaths(rMaxKillsID), get_user_deaths(rMaxKillsID) == 1 ? "" : "s")
HasALeader = 1
OldMaxKills = get_user_frags(rMaxKillsID)
OldMaxKillsID = rMaxKillsID
}
else if(rMaxKills > 0 && HasALeader == 1){
ColorChatAlpha(0, "%L", LANG_PLAYER, "THE_NEW_LEADER", TaG, get_pname(rMaxKillsID), kills[rMaxKillsID], kills[rMaxKillsID] == 1 ? "" : "s", get_user_deaths(rMaxKillsID), get_user_deaths(rMaxKillsID) == 1 ? "" : "s")
OldMaxKills = rMaxKills
OldMaxKillsID = rMaxKillsID
}
}

public ShowWhosLeader(id){
if(get_pcvar_num(cvar_show) == 1){
static hud_red, hud_green, hud_blue, Float:hud_x, Float:hud_y

new color[16], red[4], green[4], blue[4], position[19], positionX[6], positionY[6]
get_pcvar_string(cvar_hudcolor, color, 15)
get_pcvar_string(cvar_hudposition, position, 18)
parse(color, red, 3, green, 3, blue, 3)
parse(position, positionX, 6, positionY, 6)

hud_red = str_to_num(red)
hud_green = str_to_num(green)
hud_blue = str_to_num(blue)
hud_x = str_to_float(positionX)
hud_y = str_to_float(positionY)

if(!Something){
set_hudmessage(hud_red, hud_green, hud_blue, hud_x, hud_y, 0, 0.5, 0.5)
ShowSyncHudMsg(id, SyncShowLeader, "[The Leader]^n%s", "Still no Leader")
}
else {
set_hudmessage(hud_red, hud_green, hud_blue, hud_x, hud_y, 0, 0.5, 0.5)
ShowSyncHudMsg(id, SyncShowLeader, "[The Leader]^n%s", get_pname(rMaxKillsID))
}
}
}

public NewRoundEvent(id){
if(get_pcvar_num(cvar_show) == 2){
if(!Something){
ColorChatAlpha(id, "%L", LANG_PLAYER, "STILL_NO_LEADER2", TaG)
}
else {
ColorChatAlpha(id, "%L", LANG_PLAYER, "CURRENT_LEADER", TaG, get_pname(rMaxKillsID))
}
}
}

stock get_pname(index){
new rName[32]
get_user_name(index, rName, charsmax(rName))

return rName
}

stock ColorChatAlpha(index, const text[], any:...){
new MaxPlayers, MsgSayText
static Msg[128]
vformat(Msg, sizeof(Msg) - 1, text, 3)

replace_all(Msg, sizeof(Msg) - 1, "!g", "^x04")
replace_all(Msg, sizeof(Msg) - 1, "!n", "^x01")
replace_all(Msg, sizeof(Msg) - 1, "!t", "^x03")

MaxPlayers = get_maxplayers()
MsgSayText = get_user_msgid("SayText")

if(!index){
for(new i = 0; i < MaxPlayers; i++){
if(!is_user_connected(i))
continue;

message_begin(MSG_ONE_UNRELIABLE, MsgSayText, _, i)
write_byte(i)
write_string(Msg)
message_end()
}	
}
}
But i have this error in amx logs:
L 06/30/2018 - 00:00:01: [AMXX] [0] CSFREE-Leader.sma::rLeaderCheckTask (line 62)
L 06/30/2018 - 00:00:01: [AMXX] Displaying debug trace (plugin "CSFREE-Leader.amxx")
L 06/30/2018 - 00:00:01: [AMXX] Run time error 4: index out of bounds

Please Help Me. Thank you

Last edited by gmamirel; 06-30-2018 at 09:09.
gmamirel is offline
Adryyy
Member
Join Date: Oct 2011
Old 11-06-2018 , 09:30   Re: Plugin Error
Reply With Quote #2

Code:
#include <amxmodx>

#define Autor " [Argo]"
#define Versiune "1.5"
#define Nume "Mun"

new cvar_on, cvar_tag, cvar_show, cvar_hudcolor, cvar_hudposition

new TaG[8], r, kills[32], HasALeader = 0, bool:Something, Count = 0, OldMaxKills = 0, OldMaxKillsID = 0, rMaxKills = 0,
rMaxKillsID = 0, SyncShowLeader

public plugin_init(){
	register_plugin(Nume, Versiune, Autor)
	
	register_dictionary("score_leader.txt")
	
	register_event("HLTV", "NewRoundEvent", "a", "1=0", "2=0")
	
	cvar_tag = register_cvar("leader_board_tag", "CSFREE")
	cvar_on = register_cvar("leader_board", "1")
	cvar_show = register_cvar("leader_board_show", "2")
	cvar_hudcolor = register_cvar("leader_board_hudcolor", "255 170 0")
	cvar_hudposition = register_cvar("leader_board_hudposition", "0.05 -1.0")
	
	get_pcvar_string(cvar_tag, TaG, charsmax(TaG))
	
	SyncShowLeader = CreateHudSyncObj()
	
	set_task(0.5, "rLeaderCheckTask", _, _, _, "b", 0)
}

public rLeaderCheckTask(){
	if(get_pcvar_num(cvar_on) == 0){
		return PLUGIN_HANDLED
	}
	
	new rPlayers[32], rNum, rPID
	get_players(rPlayers, rNum,"ch")
	
	if(get_user_frags(rMaxKillsID) == 0){
		if(!is_user_connected(rMaxKillsID)){
			OldMaxKills = 0
			OldMaxKillsID = 0
			rMaxKills = 0
			rMaxKillsID = 0
			
			if(Count > 0)ColorChatAlpha(0, "%L", LANG_PLAYER, "DISCONNECTED", TaG)
			
			Count = 0
		}
		OldMaxKills = 0
		OldMaxKillsID = 0
		rMaxKills = 0
		rMaxKillsID = 0
		
		if(Count > 0)ColorChatAlpha(0, "%L", LANG_PLAYER, "RESET_SCORE", TaG)
		
		Count = 0
	}
	
	for(r = 0;r < rNum;r++){
		rPID = rPlayers[r]
		if(!is_user_connected(rPID))	continue
		kills[rPID] = get_user_frags(rPID)
		
		if(Count == 0){
			if(get_user_frags(rPID) == 0){
				Something = false
			}
			else {
				Something = true
				Count++
			}
		}
		
		ShowWhosLeader(rPID)
		
		if(kills[rPID] > kills[rMaxKillsID]){
			rMaxKillsID = rPID
			rMaxKills = kills[rMaxKillsID]
		}
	}
	
	if(!Something)return PLUGIN_HANDLED
	
	CheckLeader(rMaxKillsID)
	
	return PLUGIN_HANDLED
}

public CheckLeader(rMaxKillsID){
	if(OldMaxKills == rMaxKills || OldMaxKillsID == rMaxKillsID)
		return
	
	if(rMaxKills > 0 && HasALeader == 0){
		ColorChatAlpha(0, "%L", LANG_PLAYER, "THE_LEADER", TaG, get_pname(rMaxKillsID), kills[rMaxKillsID], kills[rMaxKillsID] == 1 ? "" : "s", get_user_deaths(rMaxKillsID), get_user_deaths(rMaxKillsID) == 1 ? "" : "s")
		HasALeader = 1
		OldMaxKills = get_user_frags(rMaxKillsID)
		OldMaxKillsID = rMaxKillsID
	}
	else if(rMaxKills > 0 && HasALeader == 1){
		ColorChatAlpha(0, "%L", LANG_PLAYER, "THE_NEW_LEADER", TaG, get_pname(rMaxKillsID), kills[rMaxKillsID], kills[rMaxKillsID] == 1 ? "" : "s", get_user_deaths(rMaxKillsID), get_user_deaths(rMaxKillsID) == 1 ? "" : "s")
		OldMaxKills = rMaxKills
		OldMaxKillsID = rMaxKillsID
	}
}

public ShowWhosLeader(id){
	if(get_pcvar_num(cvar_show) == 1){
		static hud_red, hud_green, hud_blue, Float:hud_x, Float:hud_y
		
		new color[16], red[4], green[4], blue[4], position[19], positionX[6], positionY[6]
		get_pcvar_string(cvar_hudcolor, color, 15)
		get_pcvar_string(cvar_hudposition, position, 18)
		parse(color, red, 3, green, 3, blue, 3)
		parse(position, positionX, 6, positionY, 6)
		
		hud_red = str_to_num(red)
		hud_green = str_to_num(green)
		hud_blue = str_to_num(blue)
		hud_x = str_to_float(positionX)
		hud_y = str_to_float(positionY)
		
		if(!Something){
			set_hudmessage(hud_red, hud_green, hud_blue, hud_x, hud_y, 0, 0.5, 0.5)
			ShowSyncHudMsg(id, SyncShowLeader, "[The Leader]^n%s", "Still no Leader")
		}
		else {
			set_hudmessage(hud_red, hud_green, hud_blue, hud_x, hud_y, 0, 0.5, 0.5)
			ShowSyncHudMsg(id, SyncShowLeader, "[The Leader]^n%s", get_pname(rMaxKillsID))
		}
	}
}

public NewRoundEvent(id){
	if(get_pcvar_num(cvar_show) == 2){
		if(!Something){
			ColorChatAlpha(id, "%L", LANG_PLAYER, "STILL_NO_LEADER2", TaG)
		}
		else {
			ColorChatAlpha(id, "%L", LANG_PLAYER, "CURRENT_LEADER", TaG, get_pname(rMaxKillsID))
		}
	}
}

stock get_pname(index){
	new rName[32]
	get_user_name(index, rName, charsmax(rName))
	
	return rName
}

stock ColorChatAlpha(index, const text[], any:...){
	new MaxPlayers, MsgSayText
	static Msg[128]
	vformat(Msg, sizeof(Msg) - 1, text, 3)
	
	replace_all(Msg, sizeof(Msg) - 1, "!g", "^x04")
	replace_all(Msg, sizeof(Msg) - 1, "!n", "^x01")
	replace_all(Msg, sizeof(Msg) - 1, "!t", "^x03")
	
	MaxPlayers = get_maxplayers()
	MsgSayText = get_user_msgid("SayText")
	
	if(!index){
		for(new i = 0; i < MaxPlayers; i++){
			if(!is_user_connected(i))
				continue;
			
			message_begin(MSG_ONE_UNRELIABLE, MsgSayText, _, i)
			write_byte(i)
			write_string(Msg)
			message_end()
		}	
	}
}
Adryyy is offline
Send a message via Yahoo to Adryyy Send a message via Skype™ to Adryyy
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 12:52.


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