Преработка на Zombie Plague CSO countdown

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Stilex
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 27 Авг 2021, 23:58
Се отблагодари: 13 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Преработка на Zombie Plague CSO countdown

Мнение от Stilex » 04 Фев 2023, 22:51

Възможно ли е от този код да се премахне lang-a който взема плъгина от cstrike/addons/amxmodx/data/lang
С други думи да се премахне lang-a и да се напише това съобщение: Infection on: %s

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

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieplague>

new const ZP_CSO_PLUGIN_NAME[] = "[ZP] CSO Countdown"
new const ZP_CSO_PLUGIN_VERSION[] = "5.0"
new const ZP_CSO_PLUGIN_AUTHOR[] = "jc980"

new zp_cso_sec, zp_center_textmsg

new const zp_cso_roundstart[][] = 
{
	"sound/zombie_plague/cso/zombi_start.mp3"
}

new zp_cso_countchant[10][] = 
{ 
	"zombie_plague/cso/1.wav",
	"zombie_plague/cso/2.wav",
	"zombie_plague/cso/3.wav",
	"zombie_plague/cso/4.wav",
	"zombie_plague/cso/5.wav",
	"zombie_plague/cso/6.wav",
	"zombie_plague/cso/7.wav",
	"zombie_plague/cso/8.wav",
	"zombie_plague/cso/9.wav",
	"zombie_plague/cso/10.wav" 
}

public plugin_init() 
{
	register_plugin(ZP_CSO_PLUGIN_NAME, ZP_CSO_PLUGIN_VERSION, ZP_CSO_PLUGIN_AUTHOR)
	register_event("HLTV", "zp_cso_round_start", "a", "1=0", "2=0")
	zp_center_textmsg = get_user_msgid("TextMsg")
}

public plugin_precache()
{
	register_dictionary("zp_cso_countdown.txt")
	
	new i
	
	for(i = 0; i < sizeof zp_cso_roundstart; i++) 
		engfunc(EngFunc_PrecacheGeneric, zp_cso_roundstart[i])
		
	for(i = 0; i < sizeof zp_cso_countchant; i++) 
		engfunc(EngFunc_PrecacheSound, zp_cso_countchant[i])
}

public zp_cso_round_start()
{
	new iMP3, MP3[64]
	
	iMP3 = random_num(0,charsmax(zp_cso_roundstart))
	copy(MP3, charsmax(MP3), zp_cso_roundstart[iMP3])
	
	client_cmd(0,"mp3 play ^"%s^"", MP3)
	
	zp_cso_sec = 15
	
	zp_cso_countdown()
}

public zp_cso_countdown()
{   	
	new iText[64]
	
	format(iText, charsmax(iText), "%L", LANG_PLAYER, "ZP_CSO_COUNTDOWN_NOTICE", zp_cso_sec)
	zp_clientcenter_text(0, iText)
	
	zp_cso_sec -= 1
	
	if(zp_cso_sec < 10)
	{
		zp_cso_chantdown()
	}
	
	if(zp_cso_sec >= 1)
	{
		set_task(1.0, "zp_cso_countdown")
	}
} 

public zp_cso_chantdown()
{
	new iChant[64], iSound
	
	iSound = zp_cso_sec
	
	if(iSound == -1)
		return PLUGIN_CONTINUE
		
	copy(iChant, charsmax(iChant), zp_cso_countchant[iSound])
	client_cmd(0,"speak ^"%s^"", iChant)
        return PLUGIN_CONTINUE
}

stock zp_clientcenter_text(id, zp_message[])
{
	new dest
	if (id) dest = MSG_ONE
	else dest = MSG_ALL
	
	message_begin(dest, zp_center_textmsg, {0,0,0}, id)
	write_byte(4)
	write_string(zp_message)
	message_end()
}

Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

Re: Преработка на Zombie Plague CSO countdown

Мнение от Dennis » 05 Фев 2023, 01:24

Here is ours, we currently using. It anticipates on zp_delay as well.

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

/**
================================
    ┌──────────────────────────┐
    │	   DEXzombie.com  	   │
    └──────────────────────────┘
	v1.0 - 20.12.2022
		Initial release

================================
*/
#define VERSION "1.0"

#include <amxmodx>
#include <zombieplague>
#define TASKID	1355

new const g_szRoundStart[] = "DEX/nano/menu.wav";
new const g_szZombieInfected[] = "DEX/0-come.wav";
new g_szSounds[][] =
{
    "DEX/1.wav",
	"DEX/2.wav",
	"DEX/3.wav",
	"DEX/4.wav",
	"DEX/5.wav",
	"DEX/6.wav",
	"DEX/7.wav",
	"DEX/8.wav",
	"DEX/9.wav",
	"DEX/10.wav"
};

new g_szCounter;

public plugin_init()
{
	register_plugin("[ZP] Countdown", VERSION, "DEX");
	register_event("HLTV", "Event_HLTV", "a", "1=0", "2=0");
}

public plugin_precache()
{
	precache_sound(g_szRoundStart);
	precache_sound(g_szZombieInfected);

	for (new i = 0; i < sizeof g_szSounds; i++)
		precache_sound(g_szSounds[i]);
}
public zp_round_started(gamemode,id)
{
	if (task_exists(TASKID))
		remove_task(TASKID)
	return PLUGIN_CONTINUE
}
public Event_HLTV()
{
	client_cmd(0, "spk %s", g_szRoundStart);
	g_szCounter = get_cvar_num("zp_delay");
	Toggle_CountDown();
}

public Toggle_CountDown()
{ 
	if (11 < g_szCounter < 16)
	{
		set_dhudmessage(0, 179, 0, -1.0, 0.28, 1, 0.9, 1.0, 0.1, 0.1);
		show_dhudmessage(0, "-= ATTENTION =-");
	}

	if (0 < g_szCounter < 11)
	{
		emit_sound(0, CHAN_VOICE, g_szSounds[g_szCounter - 1], 1.0, ATTN_NORM, 0, PITCH_NORM);
		set_dhudmessage(random_num(100, 250), random_num(100, 250), random_num(100, 250), -1.0, 0.28, 1, 0.9, 1.0, 0.1, 0.1);
		show_dhudmessage(0, "-= %i =-", g_szCounter);
	}

	if (g_szCounter == 0)
	{
		emit_sound(0, CHAN_VOICE, g_szZombieInfected, 1.0, ATTN_NORM, 0, PITCH_NORM);
		set_hudmessage(179, 0, 0, -1.0, 0.28, 1, 0.9, 1.0, 0.1, 0.1);
		show_dhudmessage(0, "-= COME MY CHILDREN =-");
	}
	g_szCounter--;

	if (g_szCounter >= 0)
		set_task(1.0, "Toggle_CountDown",TASKID);
}

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

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

Кой е на линия

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