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
CoD Nowy

perk_nuke (bomba atomowa)wadliwe dzialanie perku u graczy no steam

cod nowy

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

#1 AvatarPoz91

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:14
  • GG:
  • Imię:Szymon
  • Lokalizacja:Poznań
Offline

Napisano 14.08.2017 20:37

Witam

 

Perk  moim zdaniem dziwnie działa, u siebie jako gracza steam  działa w porządku.

Aktywuje się i nagle perka nie mam, nie niszczy się od razu a o go wyrzuca.

 

Natomiast gdy gracz NS go zdobędzie raz uruchomi i następnym razem również może, plugin u takiego po prostu nie traci na wytrzymałości oraz nie znika u gracza.

/wyrzuc  drop nie reaguje.

 

o co może chodzić?
 

/* Klasa stworzona przy pomocy AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>

#define MAX 32


new const perk_name[] = "Atomowka";
new const perk_desc[] = "Po uzyciu zabija wszystkich na mapie i znika";

new ma_perk[33];
new bool:nuke_player[MAX+1];
new ZmienKilla[2];

public plugin_init(){
	register_plugin(perk_name, "1.0", "Trikolos")
	cod_register_perk(perk_name, perk_desc);	
	register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
}

public plugin_precache(){
	precache_sound("mw/nuke_friend.wav");
	precache_sound("mw/nuke_enemy.wav"); 
}

public cod_perk_enabled(id)
	ma_perk[id] = true;

public cod_perk_disabled(id)
	ma_perk[id] = false;

public cod_perk_used(id){
	if (is_user_alive(id))
	{
		UzyjChemi(id);
	}
}

public UzyjChemi(id){
	new num, players[32];
	get_players(players, num, "gh");
	for(new a = 0; a < num; a++)
	{
		new i = players[a];
		if(is_user_alive(i))
			Display_Fade(i,(10<<12),(10<<12),(1<<16),255, 42, 42,171);
		
		if(get_user_team(id) != get_user_team(i))
			client_cmd(i, "spk sound/mw/nuke_enemy.wav");
		else
			client_cmd(i, "spk sound/mw/nuke_friend.wav");
	}
	new nick[64];
	get_user_name(id, nick, 63);
	set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 6.0, 7.0);
	show_hudmessage(0, "Gracz %s uruchomil Bombe Atomowa!!!", nick);
	set_task(10.0,"shakehud");
	set_task(13.5,"del_nuke", id);
	set_task(1.0, "wyrzuc", id)
}

public shakehud(){
	new num, players[32];
	get_players(players, num, "gh");
	for(new a = 0; a < num; a++)
	{
		new i = players[a];
		if(is_user_alive(i))
		{
			Display_Fade(i,(3<<12),(3<<12),(1<<16),255, 85, 42,215);
			message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, i);
			write_short(255<<12);
			write_short(4<<12);
			write_short(255<<12);
			message_end();
		}
	}
}

public del_nuke(id){
	new num, players[32];
	get_players(players, num, "gh");
	for(new a = 0; a < num; a++)
	{
		new i = players[a];
		if(is_user_alive(i))
		{
			if(get_user_team(id) != get_user_team(i))
			{
				cs_set_user_armor(i, 0, CS_ARMOR_NONE);
				UTIL_Kill(id, i, float(get_user_health(i)), DMG_BULLET)
			}
			else
				user_silentkill(i);
		}
	}
	nuke_player[id] = false;
}

stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha){
	message_begin(MSG_ONE, get_user_msgid("ScreenFade"),{0,0,0},id);
	write_short(duration);
	write_short(holdtime);
	write_short(fadetype);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	write_byte(alpha);
	message_end();
}

stock UTIL_Kill(atakujacy, obrywajacy, Float:damage, damagebits, ile=0){
	ZmienKilla[ile] |= (1<<atakujacy);
	ExecuteHam(Ham_TakeDamage, obrywajacy, atakujacy, atakujacy, damage, damagebits);
	ZmienKilla[ile] &= ~(1<<atakujacy);
}

public message_DeathMsg(){
	new killer = get_msg_arg_int(1);
	if(ZmienKilla[0] & (1<<killer))
	{
		set_msg_arg_string(4, "grenade");
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}

public wyrzuc(id)
{
	client_cmd(id, "say /drop")
}


  • +
  • -
  • 0

#2 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

Napisano 14.08.2017 21:32

Zamiast:
client_cmd(id, "say /drop")

To:
cod_set_user_perk(id, 0);

Większość graczy NS i mniejsza ilość steamowców mają wgrane protektory, które blokują próbę wykonywania przez serwer komend na kliencie.
W sytuacjach takich jak ta korzystaj tylko i wyłącznie z udostępnianych przez silnik moda natywów (jeden z nich podałem wyżej).
Nie wpływają one na zachowanie klienta, wymiana informacji zachodzi jedynie po stronie serwera.
  • +
  • -
  • 2

#3 AvatarPoz91

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:14
  • GG:
  • Imię:Szymon
  • Lokalizacja:Poznań
Offline

Napisano 15.08.2017 09:22

Faktycznie po załadowaniu całego kodu przez użycie perka znika.

 

Teraz nowe zjawisko mam, kiedy naciskam "c"  jako użycie perku ( odgrywany jest głos, ekran czerwony, dźwięki, wiadomość hud itp itp)  w czasie trwania aż do momentu wybuchu.

Mogę klikać kilka razy  użycie perka przez co głosy  i dzięki powtarzają się z każdym kliknięciem.

 

Da się to jakoś zablokować ?

 

przykład działania -> https://www.youtube....eature=youtu.be


Użytkownik AvatarPoz91 edytował ten post 15.08.2017 09:24

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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