Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Edycja Pluginu

Przerobienie nożówki

edycja pluginu

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 MzKzMzUzE

    Pomocny

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:41
Online

Napisano 19.11.2025 10:22

Dzień dobry, czy byłaby możliwość aby do mojej nożówki dopisać parę linijek o respawnie? Aktualnie plug działa tak, że po zginięciu czekam aż wszyscy się wybiją i runda się zakończy a chciałbym aby po zginięciu od razu się odradzać. Plugin testowałem 1vs1.

Załączone pliki


  • +
  • -
  • 0

#2 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 32
Życzliwy

  • Postów:196
Offline

Napisano 19.11.2025 15:59

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

#define LEVEL_LEVEL ADMIN_CFG

new bool:g_AutoRR = true;
new bool:g_KnifeArena = false;

new g_HudColors[][3] = {
    {0,100,255},
    {0,205,0},
    {255,255,0},
    {0,255,255},
    {255,48,48},
    {255,127,0},
    {238,18,137},
    {139,69,19},
    {155,48,255}
};

public plugin_init()
{
    register_plugin("Auto-Restart-Knives (Optimized)", "1.0", "ChatGPT");

    register_dictionary("auto_restart_knives.txt");
    register_concmd("amx_auto_rr_knives", "cmdAutoRR", LEVEL_LEVEL, "1 = ON | 0 = OFF");

    register_cvar("auto_rr_time", "50");

    register_event("TextMsg", "restart_time", "a", "2&#Game_C");
    register_event("CurWeapon", "switchweapon", "be", "1=1", "2!29");

    RegisterHam(Ham_Killed, "player", "player_killed", 1);

    return PLUGIN_CONTINUE;
}

public cmdAutoRR(id)
{
    if(!(get_user_flags(id) & LEVEL_LEVEL)) {
        client_print(id, print_console, "[AMXX] %L", LANG_PLAYER, "NO_ACCESS");
        return PLUGIN_HANDLED;
    }

    new arg[2];
    read_argv(1, arg, charsmax(arg));

    if(equal(arg, "1")) {
        g_AutoRR = true;
        client_print(id, print_console, "[AMXX] %L", LANG_PLAYER, "ENABLED");
    } else if (equal(arg, "0")) {
        g_AutoRR = false;
        client_print(id, print_console, "[AMXX] %L", LANG_PLAYER, "DISABLED");
    } else {
        client_print(id, print_console, "amx_auto_rr_knives 1 = ON | 0 = OFF");
    }

    return PLUGIN_HANDLED;
}

public switchweapon(id)
{
    if(g_KnifeArena)
        engclient_cmd(id, "weapon_knife");

    return PLUGIN_CONTINUE;
}

public restart_time()
{
    if(!g_AutoRR)
        return;

    new restart_time = get_cvar_num("auto_rr_time");
    g_KnifeArena = true;

    pause("ac", "ptb.amxx");
    pause("ac", "automaticknifeduel.amxx");
    pause("ac", "spawn_protection_pl.amxx");
    pause("ac", "alt_end_round_sounds.amxx");
    pause("ac", "dib3.amxx");
    pause("ac", "adrenaline.amxx");

    show_timer_hud(restart_time);

    for(new i = 1; i <= restart_time; i++)
        set_task(float(restart_time - i), "taskCountDown", i);

    set_task(float(restart_time), "restart_map");
}

public taskCountDown(time_left)
{
    if(time_left <= 0) return;

    static msg[64];
    format(msg, charsmax(msg), "%d", time_left);

    new idx = (time_left % sizeof g_HudColors);
    set_hudmessage(g_HudColors[idx][0], g_HudColors[idx][1], g_HudColors[idx][2],
        0.75, 0.70, 2, 0.02, 1.0, 0.01, 0.1);

    show_hudmessage(0, "%L", LANG_PLAYER, "AUTO_RR_FOR_SEC", time_left);

    if(time_left == 3)
        client_cmd(0, "spk misc/szczecinffa/three.wav");
    else if (time_left == 2)
        client_cmd(0, "spk misc/szczecinffa/two.wav");
    else if (time_left == 1)
        client_cmd(0, "spk misc/szczecinffa/one.wav");
}

public restart_map()
{
    if(!g_AutoRR)
        return;

    set_cvar_float("sv_restart", 1.0);
    g_KnifeArena = false;

    unpause("ac", "ptb.amxx");
    unpause("ac", "automaticknifeduel.amxx");
    unpause("ac", "spawn_protection_pl.amxx");
    unpause("ac", "alt_end_round_sounds.amxx");
    unpause("ac", "dib3.amxx");
    unpause("ac", "adrenaline.amxx");

    client_cmd(0, "spk misc/szczecinffa/hohoho.wav");

    set_task(2.0, "hud_after_restart");
}

public hud_after_restart()
{
    set_hudmessage(0, 100, 255, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1);
    show_hudmessage(0, "%L", LANG_PLAYER, "NICE_GAME");
}

public player_killed(victim, attacker, shouldgib)
{
    if(g_KnifeArena)
        set_task(0.1, "respawn_player", victim);

    return HAM_IGNORED;
}

public respawn_player(id)
{
    if(is_user_connected(id))
        ExecuteHamB(Ham_CS_RoundRespawn, id);
}

public plugin_precache()
{
    precache_sound("misc/szczecinffa/one.wav");
    precache_sound("misc/szczecinffa/two.wav");
    precache_sound("misc/szczecinffa/three.wav");
    precache_sound("misc/szczecinffa/hohoho.wav");
    precache_sound("misc/szczecinffa/basshunter2.wav");
}

stock show_timer_hud(time) {
    set_hudmessage(0, 100, 255, 0.75, 0.70, 2, 0.02, 1.0, 0.01, 0.1);
    show_hudmessage(0, "%L", LANG_PLAYER, "AUTO_RR_FOR_SEC", time);
}

sprawdz czy sie kompiluje 


  • +
  • -
  • 0

#3 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:41
Online

Napisano 19.11.2025 21:47

Kompiluje lecz bez zmian plus nie działa muzyka rozgrzewkowa.


  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 586
Godlike

  • Postów:12 061
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 21.11.2025 09:45

Jakieś logi ?


  • +
  • -
  • 0

#5 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:41
Online

Napisano 22.11.2025 19:02

Logi czego? Plugin się załącza, nie pluje errorami. Z tym, że nie działa respawn i dodatkowo nie leci muza. Sory jak czegoś nie zrozumiałem :) Widzę również, że sma które zapodał mordoryjacz jest mocno skrócone od oryginału.


  • +
  • -
  • 0

#6 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 32
Życzliwy

  • Postów:196
Offline

Napisano 23.11.2025 17:44

Logi czego? Plugin się załącza, nie pluje errorami. Z tym, że nie działa respawn i dodatkowo nie leci muza. Sory jak czegoś nie zrozumiałem :) Widzę również, że sma które zapodał mordoryjacz jest mocno skrócone od oryginału.

dzialanie kodu jest te same tylko skrocone bez niepotrzebnych linijek 


  • +
  • -
  • 0

#7 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:41
Online

Napisano 28.11.2025 19:27

Przy pomocy szanownego kolegi na PW po części udało się osiągnąć to co chciałem. Działa respawn natomiast mimo wszystko kończy rundę gdy wszyscy się wybiją i zaczyna nową. Nie da się tego odczuć w momencie gdzie gdy w teamie są 2 3 osoby ale przy 1vs1 już owszem. Podeślę aktualne .sma może ktoś by zerknął?


  • +
  • -
  • 0

#8 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:41
Online

Napisano 29.11.2025 08:16

Teraz dopiero zauważyłem, że nie podesłałem .sma a nie mogę edytować posta. Zepnie to ktoś w jeden post?

 

 

Załączony plik  auto_restart_knives.sma   14,54 KB  3 Ilość pobrań
  auto_restart_knives.amxx


  • +
  • -
  • 0

#9 Boziak

    Życzliwy

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:23
  • Imię:b
Offline

Napisano 29.11.2025 16:29

#include <amxmodx>
#include <reapi>

#define DEBUG

new WarmUp = 50;
new bool:b_WarmUp;

public plugin_init(){
	register_plugin("Warmup", "v0.1", "Boziak.");
	RegisterHookChain(RG_RoundEnd, "RG_RoundEnd_Post", 1);
	#if defined DEBUG
	register_clcmd("say /w", "forcewarm");
	#endif
}

#if defined DEBUG
public forcewarm(){
	b_WarmUp = true;
	set_task(3.0, "task_WarmUp");
	server_cmd("sv_restart 3");
}
#endif

public RG_RoundEnd_Post(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay){
	if(event == ROUND_GAME_COMMENCE){
		b_WarmUp = true;
		set_task(3.0, "task_WarmUp");
		server_cmd("sv_restart 3");
	}
}

public task_WarmUp(){
	switch(WarmUp){
		case 50:{
			set_cvar_string("mp_forcerespawn", "1");
			set_cvar_string("mp_buytime", "0");
			set_cvar_string("mp_round_infinite", "1");
			set_cvar_string("mp_give_player_c4", "0");
			set_cvar_string("mp_t_default_weapons_secondary", "knife");
			set_cvar_string("mp_ct_default_weapons_secondary", "knife");
		}
		case 3: client_cmd(0, "spk vox/three");
		case 2: client_cmd(0, "spk vox/two");
		case 1: client_cmd(0, "spk vox/one");
		case 0:{
			b_WarmUp = false;
			WarmUp = 50;
			set_cvar_string("mp_forcerespawn", "0");
			set_cvar_string("mp_buytime", "1.0");
			set_cvar_string("mp_round_infinite", "0");
			set_cvar_string("mp_give_player_c4", "1");
			set_cvar_string("mp_t_default_weapons_secondary", "glock18");
			set_cvar_string("mp_ct_default_weapons_secondary", "usp");
			server_cmd("sv_restart 3");
		}
	}

	if(WarmUp > 0 && WarmUp != 50){
		new text[64];
		formatex(text, charsmax(text), "Rozgrzewka: %d", WarmUp);
		message_begin(0, 23);
		write_byte(29);
		write_byte(1);
		write_short(clamp(floatround(-1.00 * 8192), -32768, 32767));
		write_short(clamp(floatround(0.80 * 8192), -32768, 32767));
		write_byte(0);
		write_byte(0);
		write_byte(255);
		write_byte(0);
		write_byte(255); 
		write_byte(0);
		write_byte(0); 
		write_byte(0); 
		write_byte(255); 
		write_short(clamp(floatround(0.1 * 256), 0, 65535));
		write_short(clamp(floatround(0.1 * 256), 0, 65535));
		write_short(clamp(floatround(1.10 * 256), 0, 65535));
		write_string(text);
		message_end();
	}
	WarmUp--
	if(b_WarmUp) set_task(1.0, "task_WarmUp");
}

Masz bo płakać mi się chce jak widzę ten kod.

Mam nadzieję że muzykę sobie dodasz już sam nie będzie to trudne.

Plugin wymaga REAPI, ReHLDS, ReGameDLL.

 

Nauczcie się korzystać wpierw z tego co oferuje silnik a nie dodajecie kolejne moduły aby uzykać tak proste efekty. Wymuszanie noża w CurWeapon to mistrzostwo,  ZWIĘKSZYĆ MOC! REAKTOR WYTRZYMA!

 

 

 


Użytkownik Boziak edytował ten post 29.11.2025 16:43

  • +
  • -
  • 0





Użytkownicy przeglądający ten temat: 2

1 użytkowników, 1 gości, 0 anonimowych