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

Problem z perkiem

cod nowy

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

#1 HadesSoul

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 18.07.2017 06:00

Witam mam taki problem że zastosowałem na serwerze 

 

https://amxx.pl/topi...-system-perków/

 

I chciałbym stworzyć perk z niewidzialnością ale żeby był trudny czyli potrzeba  go wylosować ale jeśli dodaje to losowanie do perku to nie działa niewidzialność  

 

Za pomoc daje +

Załączone pliki


  • +
  • -
  • 0

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 18.07.2017 20:32

if(random_num(1, 5)==1 || 2 || 3 || 4)

zamień na

if(random_num(1, 5)!=5)


  • +
  • -
  • 0

#3 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 18.07.2017 21:18

Niestety w perku dalej nie działa niewidzialność  


  • +
  • -
  • 0

#4 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 21.07.2017 05:35

Da rade ktoś pomóż 


  • +
  • -
  • 0

#5 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 21.07.2017 16:46

#include <amxmodx>
#include <perki>
#include <ColorChat>
#include <engine>

new const perk_name[] = "Krycie";
new const perk_desc[] = "Twoja widocznosc spada do LW";

public plugin_init() 
{
	register_plugin(perk_name, "1.0", "QTM_Peyote");
	
	register_perk(perk_name, perk_desc, 50, 100);
}
public perk_enabled(id, wartosc)
{
	if(!random(5))
	{
		ColorChat(id, GREEN, "[Matka Sakmana] ^1Niestety nie otrzymasz perku! Nie udalo ci sie go wylosowac!")
		return PERK_STOP
	}

	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, wartosc);	

	return PERK_CONTINUE
}

public perk_disabled(id)
{
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
}

  • +
  • -
  • 1

#6 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 23.07.2017 10:52

Niestety Ale teraz działa niewidzialność ale nie działa losowanie  

 


  • +
  • -
  • 0

#7 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 23.07.2017 11:31

#include <amxmodx>
#include <perki>
#include <ColorChat>
#include <engine>

new const perk_name[] = "Krycie";
new const perk_desc[] = "Twoja widocznosc spada do LW";

public plugin_init() 
{
	register_plugin(perk_name, "1.0", "QTM_Peyote");
	
	register_perk(perk_name, perk_desc, 50, 100);
}
public perk_enabled(id, wartosc)
{
	if(random(5))
	{
		ColorChat(id, GREEN, "[Matka Sakmana] ^1Niestety nie otrzymasz perku! Nie udalo ci sie go wylosowac!")
		return PERK_STOP
	}

	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, wartosc);	

	return PERK_CONTINUE
}

public perk_disabled(id)
{
	set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
}

  • +
  • -
  • 1

#8 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 24.07.2017 15:50

Sorki że cię męczę lecz starałem się sam coś wymyślić lecz lipa  teraz jest taka sprawa że losowanie działa ale jak nie wylosuje automatycznie plugin się wyłącza jeśli dodam debug to plugin zostaje lecz niedostane go już w ogóle do losowania  ale inna osoba może go dostać ale jak nie wylosuje to ta sama sytuacja . Myślałem trochę i chyba wina leży w tym 

 

 

 

public UstawPerk(id, perk, wartosc, pokaz_info)

{
if(!ilosc_perkow)
return PLUGIN_CONTINUE;
 
static obroty[33];
 
if(obroty[id]++ >= 5)
{
UstawPerk(id, 0, 0, 0);
obroty[id] = 0;
return PLUGIN_CONTINUE;
}
 
perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc ||  wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc; 
 
new ret;
 
new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "perk_disabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, perk);
DestroyForward(forward_handle);
 
perk_gracza[id] = 0;
 
forward_handle = CreateOneForward(pluginy_perkow[perk], "perk_enabled", FP_CELL, FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, wartosc, perk);
DestroyForward(forward_handle);
 
if(ret == 4)
{
UstawPerk(id, -1, -1, 1);
return PLUGIN_CONTINUE;
}
 
ExecuteForward(perk_zmieniony, ret, id, perk, wartosc);
 
if(ret == 4)
{
UstawPerk(id, -1, -1, 1);
return PLUGIN_CONTINUE;
}
 
perk_gracza[id] = perk;
wartosc_perku_gracza[id] = wartosc;
 
obroty[id] = 0;
 
if(pokaz_info && perk_gracza[id]) 
chat_color(id, "!g[Krysztal] !yZdobyles %s.", nazwy_perkow[perk_gracza[id]]);
 
return PLUGIN_CONTINUE;
}

 


Użytkownik HadesSoul edytował ten post 24.07.2017 15:52

  • +
  • -
  • 0

#9 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.07.2017 16:03

Opisz jeszcze raz co jest nie tak bo nie zrozumiałem nic z tego. Jeżeli wstawiasz kod to daj go łaskawie w tagi od kodu, bo chyba temu tabulacja się rozjeżdza.

 

Coś pokombinujemy ;)


  • +
  • -
  • 0

#10 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 24.07.2017 18:11

Sprawa jest taka że plugin perki dostaje errory gdy perk krycie nie zostaje wylosowany jeśli dopisze perk.amxx debug  to się nie wyłącza ale wtedy perk krycie zostaje zablokowany dla użytkownika i go niedostanie już do końca mapy jeśli jest 2 graczy na serwerze to na przykład Player 1 nie wylosował perku i go niedostanie do końca mapy ale Player 2 może go jeszcze wylosować bo nie zabił ale jeśli zabije i będzie ze nie udało mu się  go wylosować to wtedy perk zostaje zablokowany i nie dropnie go  


public UstawPerk(id, perk, wartosc, pokaz_info)
{
	if(!ilosc_perkow)
		return PLUGIN_CONTINUE;
	
	static obroty[33];
	
	if(obroty[id]++ >= 5)
	{
		UstawPerk(id, 0, 0, 0);
		obroty[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
	wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc ||  wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc; 
	
	new ret;
	
	new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "perk_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, perk);
	DestroyForward(forward_handle);
	
	perk_gracza[id] = 0;
	
	forward_handle = CreateOneForward(pluginy_perkow[perk], "perk_enabled", FP_CELL, FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, wartosc, perk);
	DestroyForward(forward_handle);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1);
		return PLUGIN_CONTINUE;
	}
	
	ExecuteForward(perk_zmieniony, ret, id, perk, wartosc);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1);
		return PLUGIN_CONTINUE;
	}
	
	perk_gracza[id] = perk;	
	wartosc_perku_gracza[id] = wartosc;
	
	obroty[id] = 0;
	
	if(pokaz_info && perk_gracza[id]) 
		chat_color(id, "!g[Krysztal] !yZdobyles %s.", nazwy_perkow[perk_gracza[id]]);
	
	return PLUGIN_CONTINUE;
}

Użytkownik HadesSoul edytował ten post 24.07.2017 18:13

  • +
  • -
  • 0

#11 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.07.2017 19:38

Jakie errory to są, chodzi mi o logi z debuga


  • +
  • -
  • 1

#12 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 24.07.2017 20:15

L 07/24/2017 - 16:48:27: [AMXX]    [579] perki.sma::UstawPerk (line 241)
L 07/24/2017 - 16:48:27: [AMXX]    [580] perki.sma::UstawPerk (line 241)
L 07/24/2017 - 16:48:27: [AMXX]    [581] perki.sma::SmiercGraczaPost (line 95)
L 07/24/2017 - 16:48:42: [AMXX] Displaying debug trace (plugin "perki.amxx")
L 07/24/2017 - 16:48:42: [AMXX] Run time error 3: stack error 
L 07/24/2017 - 16:48:42: [AMXX]    [0] perki.sma::UstawPerk (line 241)
L 07/24/2017 - 16:48:42: [AMXX]    [1] perki.sma::UstawPerk (line 241)

  • +
  • -
  • 0

#13 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.07.2017 22:01

(line 241) która to. Czy ja musze wypytywać o takie rzeczy? Ty szukasz pomocy, dostarcz potrzebne rzeczy


  • +
  • -
  • 0

#14 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 24.07.2017 23:41

linia 95/// 			UstawPerk(attacker, -1, -1, 1); /// 

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
		
	if(get_user_team(id) != get_user_team(attacker))
	{					
		if(!perk_gracza[attacker])
			UstawPerk(attacker, -1, -1, 1);
	}	
	return HAM_IGNORED;
}


linia 241///       	UstawPerk(id, 0, 0, 0);  ////  


public UstawPerk(id, perk, wartosc, pokaz_info)
{
	if(!ilosc_perkow)
		return PLUGIN_CONTINUE;
	
	static obroty[33];
	
	if(obroty[id]++ >= 5)
	{
		UstawPerk(id, 0, 0, 0);
		obroty[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
	wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc ||  wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc; 
	
	new ret;
	
	new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "perk_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, perk);
	DestroyForward(forward_handle);
	
	perk_gracza[id] = 0;
	
	forward_handle = CreateOneForward(pluginy_perkow[perk], "perk_enabled", FP_CELL, FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, wartosc, perk);
	DestroyForward(forward_handle);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1);
		return PLUGIN_CONTINUE;
	}
	
	ExecuteForward(perk_zmieniony, ret, id, perk, wartosc);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1);
		return PLUGIN_CONTINUE;
	}
	
	perk_gracza[id] = perk;	
	wartosc_perku_gracza[id] = wartosc;
	
	obroty[id] = 0;
	
	if(pokaz_info && perk_gracza[id]) 
		chat_color(id, "!g[Krysztal] !yZdobyles %s.", nazwy_perkow[perk_gracza[id]]);
	
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 0

#15 HadesSoul

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:67
  • Imię:sebw
  • Lokalizacja:warszawa
Offline

Napisano 28.07.2017 15:43

ref


  • +
  • -
  • 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