Редактиране на kills_counter ?!

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Редактиране на kills_counter ?!

Мнение от iv69 » 30 Авг 2021, 18:20

Ще може ли някой да преработи кода на serfreeman1337 така, че освен да има kills-counter-а вляво, да има още и damage-counter под него? Онова с постоянното "премигване" ако е проблем за допълнителния damage-counter - съответно или да се остави или да се премахне, по преценка на "редактора". Просто плъгина да е колкото се може по опростен и "олекотен".
Благодаря, а ето и въпросния плъгин:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <hamsandwich>

new sprites[][] = {
	"",
	"number_1",
	"number_2",
	"number_3",
	"number_4",
	"number_5",
	"number_6",
	"number_7",
	"number_8",
	"number_9"
}

new g_maxplayers,g_statusicon

new cvColor,cvBlinkTime,cvOverCount

new idid[33]
new clor[3]

new Float:blinkTime
new overCountSpr[40]

#define RESETBLINK_TASKID	45454

public plugin_init(){
	register_plugin("Kills Counter","0.3","serfreeman1337")
	
	g_maxplayers = get_maxplayers()
	g_statusicon = get_user_msgid("StatusIcon")
	
	cvColor = register_cvar("ks_color","255 255 0")
	cvBlinkTime = register_cvar("ks_blink_time","2.0")
	cvOverCount = register_cvar("ks_over_count_spr","dmg_rad")
	
	RegisterHam(Ham_Killed,"player","fw_PlayerKilled",1)
	RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn",1)
}

public plugin_cfg(){
	new data[20],raw[3][5]
	get_pcvar_string(cvColor,data,19)
	
	parse(data,raw[0],4,raw[1],4,raw[2],4)
	
	clor[0] = str_to_num(raw[0])
	clor[1] = str_to_num(raw[1])
	clor[2] = str_to_num(raw[2])
	
	blinkTime = get_pcvar_float(cvBlinkTime)
	get_pcvar_string(cvOverCount,overCountSpr,39)
}

public fw_PlayerSpawn(id)
	icon(id,0)
	
public fw_PlayerKilled(victim,killer){
	if(0 < killer <= g_maxplayers){
		if(get_user_team(killer) != get_user_team(victim) && ExecuteHam(Ham_IsAlive,killer))
			icon(killer,1)
	}
	
	icon(victim,0)
}

public icon(id,style){
	if(!style){
		if(!idid[id])
			return PLUGIN_CONTINUE
			
		message_begin(MSG_ONE,g_statusicon,_,id)
		write_byte(0) 
		write_string(idid[id] < 10 ? sprites[idid[id]] : overCountSpr)
		message_end()
		
		idid[id] = 0
		
		return PLUGIN_CONTINUE
	}
	
	if(0 < idid[id] < 10){
		message_begin(MSG_ONE,g_statusicon,_,id)
		write_byte(0) 
		write_string(sprites[idid[id]])
		message_end()
	}
	
	idid[id] ++

	message_begin(MSG_ONE,g_statusicon,_,id)
	write_byte(blinkTime > 0.0 ? 2 : 1) 
	write_string(idid[id] < 10 ? sprites[idid[id]] : overCountSpr)
	write_byte(clor[0])
	write_byte(clor[1])
	write_byte(clor[2])
	message_end()
	
	if(blinkTime > 0.0){
		remove_task(RESETBLINK_TASKID + id)
		set_task(2.0,"resetblink",RESETBLINK_TASKID + id)
	}
	
	return PLUGIN_CONTINUE
}

public resetblink(tId){
	new id = tId - RESETBLINK_TASKID
	
	if(!is_user_connected(id))
		return
	
	message_begin(MSG_ONE,g_statusicon,_,id)
	write_byte(1) 
	write_string(idid[id] < 10 ? sprites[idid[id]] : overCountSpr)
	write_byte(clor[0])
	write_byte(clor[1])
	write_byte(clor[2])
	message_end()
}
p.s. Вървят слухове, че от такива плъгини-броячи, сървърите "крашват" след направата на над 9 убийства!? Точно този плъгин е проверен
от мен лично. Просто работи нормално, не товари много, и не води до краш поне не и в този вид!!!

Замислих се за това кое би било по-лесно и бързо: да се преработва вече написан плъгин или просто да се напише нов плъгин на същия принцип, но в новия да има damage_counter вместо kills_counter(ако изобщо някой знае може ли и как да се направи такъв "брояч"? Просто такъв плъгин досега не съм видял никъде а мисля, че идеята си струва...? Ако е така, нека някой да каже и ако е необходимо ще пусна друга заявка за да е всичко "според правилата" ???

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 8 госта