Counter-Strike 1.6
CS1.BG | DUST2 NOSHTA GARMI [RANKED PLAY] #1
45.144.155.113:27015
de_dust2
Играчи: 30/32
de_dust2
Counter-Strike 1.6
Cs-PlovdiV.com - Aim Attack 93.123.16.4:27022 aim_aztec Играчи: 0/16

Молба за промяна в кода

Въпроси и проблеми свързани с AMXModX.
Аватар
Siska
Извън линия
Потребител
Потребител
Мнения: 773
Регистриран на: 03 Дек 2019, 22:29
Местоположение: Bedrock
Се отблагодари: 158 пъти
Получена благодарност: 48 пъти
Обратна връзка:

Молба за промяна в кода

Мнение от Siska » 08 Авг 2023, 08:49

Когато се чуе звука не спира, а остава и работи дълго време. Някой може ли да помогне това дишане, което се чува да спира след като се чуе веднъж ?

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

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Sprint"
#define VERSION "1.2"
#define AUTHOR "akcaliberg"

#define TASKID 58964

#define MAX_PLAYERS 32

new bool:IsUserSprinting[MAX_PLAYERS+1];
new bool:UserCanSprint[MAX_PLAYERS+1];
new gMsgScreenFade;

new Float:LastSprintUsed[MAX_PLAYERS+1];
new Float:LastKeyPressed[MAX_PLAYERS+1];
new Float:LastSprintReleased[MAX_PLAYERS+1];
new Float:SprintTime[MAX_PLAYERS+1];
new Float:gCooldown, Float:gSprinttime, Float:gSprintspeed,
Float:gKeyPressInterval,gShowUsage,gBreathing, gBlockJump, gScreenFade[9];

new const EXHAUSTED_BREATH[] = "player/breathe2.wav";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_cvar("sprint_cooldown","5");
	register_cvar("sprint_timemax","2.5");
	register_cvar("sprint_speed","400.0");
	register_cvar("sprint_keylisten_interval","0.2");
	register_cvar("sprint_blockjump","0");
	register_cvar("sprint_breathsound","2");
	register_cvar("sprint_screenfade_enabled","1");
	register_cvar("sprint_screenfade_rgba","0 20 200 50");
	register_cvar("sprint_screenfade_rgba2","255 0 0 50");
	register_cvar("sprint_showusage","1");
	
	register_event("HLTV","eNewRound","a","1=0","2=0");
	register_event("TeamInfo", "eTeamInfo", "a");
	
	register_forward(FM_PlayerPreThink, "fwd_PlayerPreThink");
	
	RegisterHam(Ham_Spawn,"player","fwd_PlayerSpawnPost",1);
	
	gMsgScreenFade = get_user_msgid("ScreenFade");
	
	register_concmd("sprint_reloadcvars", "CacheCvars", ADMIN_CVAR);
	
	if(gShowUsage) set_task(300.0,"ShowUsage",TASKID, .flags="b");
	
}
public plugin_precache() {
	precache_sound(EXHAUSTED_BREATH)
}
public plugin_cfg() {
	CacheCvars(0,0,0) // function will ignore the level check if the id equals 0
}
public eNewRound() {
	CacheCvars(0,0,0)
}
public eTeamInfo() {
	new id = read_data(1);
	
	new szTeam[12];
	read_data(2, szTeam, charsmax(szTeam));
	
	UserCanSprint[id] = (szTeam[0] == 'S' || szTeam[0] == 'U') ? false : true;
}
public CacheCvars(id, level, cid) {
	
	if(id != 0 && !cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
	
	gCooldown = get_cvar_float("sprint_cooldown");
	gSprinttime = get_cvar_float("sprint_timemax");
	gSprintspeed = get_cvar_float("sprint_speed");
	gKeyPressInterval = get_cvar_float("sprint_keylisten_interval");
	gShowUsage = get_cvar_num("sprint_showusage");
	gBreathing = get_cvar_num("sprint_breathsound");
	gBlockJump = get_cvar_num("sprint_blockjump");
	gScreenFade[0] = get_cvar_num("sprint_screenfade_enabled");
	
	new szRGBA[16], szR[4], szG[4], szB[4], szA[4];
	get_cvar_string("sprint_screenfade_rgba",szRGBA,15);
	parse(szRGBA, szR, 3, szG, 3, szB, 3, szA, 3);
	
	gScreenFade[1] = str_to_num(szR);
	gScreenFade[2] = str_to_num(szG);
	gScreenFade[3] = str_to_num(szB);
	gScreenFade[4] = str_to_num(szA);
	
	get_cvar_string("sprint_screenfade_rgba2",szRGBA,15);
	parse(szRGBA, szR, 3, szG, 3, szB, 3, szA, 3);
	
	gScreenFade[5] = str_to_num(szR);
	gScreenFade[6] = str_to_num(szG);
	gScreenFade[7] = str_to_num(szB);
	gScreenFade[8] = str_to_num(szA);
	
	return PLUGIN_HANDLED
}
public client_putinserver(id) {
	if(gShowUsage) set_task(10.0,"ShowUsage",id+TASKID)
}
public fwd_PlayerSpawnPost(id) {
	SprintTime[id] = 0.0;
}
public fwd_PlayerPreThink(id) {
	if(!UserCanSprint[id]) return;
	
	static button,oldbuttons,flags, Float:speed;
	
	button = pev(id, pev_button);
	oldbuttons = pev(id, pev_oldbuttons); 
	pev(id, pev_maxspeed, speed);
	flags = pev(id, pev_flags);
	
	
	if(!(flags & FL_DUCKING) && speed != 1.0) {
		
		// Pressed
		if(button & IN_FORWARD && !(oldbuttons & IN_FORWARD)) {
			if( (get_gametime() - LastKeyPressed[id]) < gKeyPressInterval ) {
				if( (get_gametime() - LastSprintReleased[id]) >= gCooldown)  {
					LastSprintUsed[id] = get_gametime();
					IsUserSprinting[id] = true;
					SprintTime[id] = 0.0
					if(gScreenFade[0]) SetScreenFadeEffect(id, 1)
				}
				else if( SprintTime[id] > 0.0 && SprintTime[id] < gSprinttime ) {
					LastSprintUsed[id] = get_gametime();
					IsUserSprinting[id] = true;
					if(gScreenFade[0]) SetScreenFadeEffect(id, 1)
				}
				
			}
			LastKeyPressed[id] = get_gametime();
		}
		// Holding
		else if( oldbuttons & IN_FORWARD && button & IN_FORWARD ) {
			if(IsUserSprinting[id]) {
				if(speed != gSprintspeed) set_pev(id, pev_maxspeed, gSprintspeed );
				if( ( SprintTime[id] + get_gametime() - LastSprintUsed[id] ) > gSprinttime) {
					IsUserSprinting[id] = false;
					ExecuteHamB(Ham_Item_PreFrame, id);
					LastSprintReleased[id] = get_gametime();
					SprintTime[id] = 0.0;
					if(gScreenFade[0]) SetScreenFadeEffect(id, 2)
					
					// Exhausted breath sound
					switch(gBreathing) {
						case 1: client_cmd(id, "spk %s",EXHAUSTED_BREATH);
						case 2: emit_sound(id, CHAN_AUTO, EXHAUSTED_BREATH, VOL_NORM, ATTN_NORM, 0, PITCH_NORM); 
					}
					
				}
			}
		}
		// Released
		else if( oldbuttons & IN_FORWARD && !(button & IN_FORWARD)) {
			if(IsUserSprinting[id]) {
				LastSprintReleased[id] = get_gametime();
				IsUserSprinting[id] = false;
				SprintTime[id] += ( get_gametime() - LastSprintUsed[id]);
				ExecuteHamB(Ham_Item_PreFrame, id);
				if(gScreenFade[0]) SetScreenFadeEffect(id, 0)
			}
		}
		// Ducking
		if(IsUserSprinting[id] && button & IN_DUCK) {
			LastSprintReleased[id] = get_gametime();
			IsUserSprinting[id] = false;
			SprintTime[id] += ( get_gametime() - LastSprintUsed[id]);
			ExecuteHamB(Ham_Item_PreFrame, id);
			if(gScreenFade[0]) SetScreenFadeEffect(id, 0)
		}
		// Jumping
		if(gBlockJump && IsUserSprinting[id] && button & IN_JUMP) {
			LastSprintReleased[id] = get_gametime();
			IsUserSprinting[id] = false;
			SprintTime[id] += ( get_gametime() - LastSprintUsed[id]);
			ExecuteHamB(Ham_Item_PreFrame, id);
			if(gScreenFade[0]) SetScreenFadeEffect(id, 0)
		}
	}
}
public SetScreenFadeEffect(id, flag) {
	
	switch(flag) {
		case 0: {
			message_begin(MSG_ONE_UNRELIABLE, gMsgScreenFade, _, id)
			write_short(0)
			write_short(0)
			write_short(0)
			write_byte(0)
			write_byte(0)
			write_byte(0)
			write_byte(0)
			message_end()
		}
		case 1: {
			message_begin(MSG_ONE_UNRELIABLE, gMsgScreenFade, _, id)
			write_short(0) // duration (will be ignored because of the flag)
			write_short(0) // holdtime
			write_short(0x0004) // FFADE_STAYOUT
			write_byte(gScreenFade[1]) // r
			write_byte(gScreenFade[2]) // g
			write_byte(gScreenFade[3]) // b
			write_byte(gScreenFade[4]) // alpha
			message_end()
		}
		case 2: {
			message_begin(MSG_ONE_UNRELIABLE, gMsgScreenFade, _, id)
			write_short(4096) // duration
			write_short(2048) // holdtime
			write_short(0x0000) // FFADE_IN
			write_byte(gScreenFade[5]) // r
			write_byte(gScreenFade[6]) // g
			write_byte(gScreenFade[7]) // b
			write_byte(gScreenFade[8]) // alpha
			message_end()
		}
	}
}
public ShowUsage(id) {
	id -= TASKID
	client_print(id,print_chat,"[SPRINT] You can sprint in this server by double-tapping forward (W) key. ");
}
[code]
Последно промяна от Siska на 18 Сеп 2023, 15:39, променено общо 3 пъти.
Търсих врага и го открих : това съм аз , трябва да се победя...
Изображение
WWW.CSMEGAGAMING.COM Изображение Изображение Skype : Sisi-1_1

Аватар
hellmoss
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 80
Регистриран на: 15 Окт 2016, 20:24
Се отблагодари: 10 пъти
Получена благодарност: 14 пъти
Обратна връзка:

Re: Молба за поправка на плъгин Sprint

Мнение от hellmoss » 11 Авг 2023, 18:19

1. Модифицираш .wav файла чрез програма премахвайки cue точките които предизвикват loop. Препоръчвам GoldWave.
или
2. Еднократно емитваш празен .wav файл когато звука трябва да спре да се чува по същия канал и от същото id.

Естествено ще трябва да се създаде нов файл който да бъде прекешнат и в двата случая.
xLd Zombie Plague -- 46.4.77.125
https://discord.gg/kbjN5JRxWb

Аватар
Siska
Извън линия
Потребител
Потребител
Мнения: 773
Регистриран на: 03 Дек 2019, 22:29
Местоположение: Bedrock
Се отблагодари: 158 пъти
Получена благодарност: 48 пъти
Обратна връзка:

Re: Молба за поправка на плъгин Sprint

Мнение от Siska » 11 Авг 2023, 19:26

Благодаря ! По принцип при определени обстоятелства едва ли щях да те разбера , но същото нещо ми показа и друг човек. В действителност ми се искаше да ползвам звук от играта , за да не се налага да качвам отделен звук на сървъра , защото и без това са твърде много.
Търсих врага и го открих : това съм аз , трябва да се победя...
Изображение
WWW.CSMEGAGAMING.COM Изображение Изображение Skype : Sisi-1_1

Аватар
hellmoss
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 80
Регистриран на: 15 Окт 2016, 20:24
Се отблагодари: 10 пъти
Получена благодарност: 14 пъти
Обратна връзка:

Re: Молба за поправка на плъгин Sprint

Мнение от hellmoss » 11 Авг 2023, 19:59

Ако ползваш метод 2, в valve\sound\common има null.wav.
xLd Zombie Plague -- 46.4.77.125
https://discord.gg/kbjN5JRxWb

Аватар
Siska
Извън линия
Потребител
Потребител
Мнения: 773
Регистриран на: 03 Дек 2019, 22:29
Местоположение: Bedrock
Се отблагодари: 158 пъти
Получена благодарност: 48 пъти
Обратна връзка:

Re: Молба за поправка на плъгин Sprint

Мнение от Siska » 11 Авг 2023, 21:16

Преди време казах на хрома, че един плъгин е смотан, а той казва - не е смотан плъгина , а играта е смотана.
Може да заключвате, явно нищо не може да се направи.
По принцип има много плъгини , които използват звуци от играта и няма проблем с тях, което значи , че може да се напише по друг начин ?
Търсих врага и го открих : това съм аз , трябва да се победя...
Изображение
WWW.CSMEGAGAMING.COM Изображение Изображение Skype : Sisi-1_1

Аватар
runthenwalk
Извън линия
Рекламатор
Рекламатор
Мнения: 44
Регистриран на: 06 Авг 2021, 19:41
Се отблагодари: 10 пъти
Получена благодарност: 4 пъти

Re: Молба за поправка на плъгин Sprint

Мнение от runthenwalk » 12 Авг 2023, 12:01

Крома гледа цс 1.6 от погледа на скриптъра, смотан е той а не играта. Тя е морално остаряла, само това.

Ако ти е толкова важен плъгина да го дадем на един човек да го направи ако искаш.

Аватар
Siska
Извън линия
Потребител
Потребител
Мнения: 773
Регистриран на: 03 Дек 2019, 22:29
Местоположение: Bedrock
Се отблагодари: 158 пъти
Получена благодарност: 48 пъти
Обратна връзка:

Re: Молба за поправка на плъгин Sprint

Мнение от Siska » 12 Авг 2023, 13:45

Опитвам се да го направя да работи само , когато извадя ножа...
Някой има ли желание да погледне ?
Може би нещо такова трябва да се добави :

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

public fwd_PlayerPreThink(id) {
    if (!UserCanSprint[id] || get_user_weapon(id) != CSW_KNIFE) {
        return;
    }
Търсих врага и го открих : това съм аз , трябва да се победя...
Изображение
WWW.CSMEGAGAMING.COM Изображение Изображение Skype : Sisi-1_1

Аватар
hellmoss
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 80
Регистриран на: 15 Окт 2016, 20:24
Се отблагодари: 10 пъти
Получена благодарност: 14 пъти
Обратна връзка:

Re: Молба за поправка на плъгин Sprint

Мнение от hellmoss » 29 Авг 2023, 14:38

Siska написа: 12 Авг 2023, 13:45 Опитвам се да го направя да работи само , когато извадя ножа...
Някой има ли желание да погледне ?
Може би нещо такова трябва да се добави :

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

public fwd_PlayerPreThink(id) {
    if (!UserCanSprint[id] || get_user_weapon(id) != CSW_KNIFE) {
        return;
    }
Аз какво бях казал за cue точките? Трябва да се махнат и да прекешнеш нов звук, елементарно!

Изображение
xLd Zombie Plague -- 46.4.77.125
https://discord.gg/kbjN5JRxWb

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

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта