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
Klasa

1/x przez V sekund

klasa

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

#21 Ziome3eg

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:52
  • Imię:Kuba
  • Lokalizacja:Nowy Sącz
Offline

Napisano 23.11.2017 18:23

znalazłem 2 błędy: 1. mniej ważny po uzyciu trzeba zmienić broń na inną i zpowrotem aby model się wczytał, a 2 ważnejszy można tego używać cały czas (co minie 5 sek można to znów włączyć)

 

I jeszcze pytanko Zmieniając

 

if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 

 

Na

 

if((button & IN_ATTACK) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 

 

Bd działało na LPM ?

chcesz aby było 1/1 z lewego/prawego czy z obu ?


  • +
  • -
  • 0

#22 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 23.11.2017 18:48

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

#define model "models/v_cod_class_knife.mdl"

forward cod_class_enabled(id, klasa)
forward cod_class_disabled(id, klasa)
forward cod_class_skill_used(id)

native cod_register_class(const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci)

new bool:g_player_has_class[33],Float:g_player_item_time[33],bool:g_player_item_used[33],g_maxplayers

public plugin_precache()
	precache_model(model)
	
public plugin_init() {
	register_plugin("cod class nazwa klasy", "1.0", "fresh")
	
	cod_register_class("Nazwa","Opis",0,0,0,0,0)
	
	RegisterHam(Ham_TakeDamage,"player","bacon_player_takedamage_pre",false)
	RegisterHam(Ham_Killed,"player","bacon_player_killed_post",true)
	
	register_event("CurWeapon","event_curweapon","be","1=1","2=29")
	register_logevent("logevent_roundend", 2, "1=Round_End")
	
	g_maxplayers = get_maxplayers()
}

public cod_class_enabled(id)
	g_player_has_class[id] = true

public cod_class_disabled(id)
	g_player_has_class[id] = false
	
public cod_class_skill_used(id)
{	
	if(g_player_item_used[id])
	{
		engclient_print(id,engprint_center,"Umiejetnosc klasy mozesz uzyc tylko raz na runde")
		return;
	}
	
	set_task(5.0,"task_remove_knife_model",id)
	g_player_item_time[id] = get_gametime() + 5.0
	g_player_item_used[id] = true
	
	if(get_user_weapon(id) == CSW_KNIFE)
		set_pev(id,pev_viewmodel2,"models/v_knife.mdl")	
}

public bacon_player_takedamage_pre(id,inflictor,attacker,Float:damage,damagetype)
{
	if(!is_user_alive(attacker) || !g_player_has_class[attacker] || get_gametime() > g_player_item_time[attacker])
		return HAM_IGNORED
	
	static button
	button = pev(attacker,pev_button)
	if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 
	{
		static Float:health
		pev(id,pev_health,health)
		SetHamParamFloat(4,health*10.0)	
		return HAM_HANDLED
	}
	
	return HAM_IGNORED
}

public bacon_player_killed_post(id,attacker,shouldgib)
	if(task_exists(id))
		remove_task(id)

public event_curweapon(id)
{
	if(!is_user_alive(id) || !g_player_has_class[id] || get_gametime() > g_player_item_time[id])
		return;
	
	set_pev(id,pev_viewmodel2,model)
}

public logevent_roundend()
{
	static id;
	for(id = 1;id <= g_maxplayers;id++)
		g_player_item_used[id] = false
}
	
public task_remove_knife_model(id)
{
	if(!g_player_has_class[id])
		return;
		
	static weapon;
	weapon = get_user_weapon(id)
	if(weapon != CSW_KNIFE)
		return;
		
	static viewmodel[64]
	pev(id,pev_viewmodel2,viewmodel,63)
	if(equal(viewmodel,model))
	{
		weapon = get_pdata_cbase(id, 370)
		if(pev_valid(weapon))
			ExecuteHam(Ham_Item_Deploy,weapon)
	}
}

tylko z ppm -> (button & IN_ATTACK2)

tylko z lpm -> (button & IN_ATTACK)

a jak z obu to poprostu wyjeb to z warunku

 

Edit: jeszcze bylo zle poprawione


Użytkownik rzeznik9871 edytował ten post 23.11.2017 18:54

  • +
  • -
  • 0

Cześć


#23 ChrisN

    Wszechpomocny

  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 23.11.2017 18:49

znalazłem 2 błędy: 1. mniej ważny po uzyciu trzeba zmienić broń na inną i zpowrotem aby model się wczytał, a 2 ważnejszy można tego używać cały czas (co minie 5 sek można to znów włączyć)

 

I jeszcze pytanko Zmieniając

 

if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 

 

Na

 

if((button & IN_ATTACK) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 

 

Bd działało na LPM ?

 

Co do tego IN_ATTACK2 a IN_ATTACK to tak, pierwszy to LPM drugi to PPM

Tutaj masz poprawiony z blokadą

 

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
 
#define model "models/v_cod_class_knife.mdl"
 
forward cod_class_enabled(id, klasa)
forward cod_class_disabled(id, klasa)
forward cod_class_skill_used(id)
 
native cod_register_class(const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci)
 
new bool:g_player_has_class[33],Float:g_player_item_time[33]
new bool:wykorzystal[33];
 
public plugin_precache()
precache_model(model)
 
public plugin_init() {
register_plugin("cod class nazwa klasy", "1.0", "fresh")
 
cod_register_class("Nazwa","Opis",0,0,0,0,0)
 
RegisterHam(Ham_TakeDamage,"player","bacon_player_takedamage_pre",false)
RegisterHam(Ham_Killed,"player","bacon_player_killed_post",true)
register_event("ResetHUD", "ResetHUD", "abe");
 
register_event("CurWeapon","event_curweapon","be","1=1","2=29")
}
 
public cod_class_enabled(id)
{
g_player_has_class[id] = true;
ResetHUD(id);
}
 
public cod_class_disabled(id)
g_player_has_class[id] = false
 
public cod_class_skill_used(id)
{ 
if(!is_user_alive(id))
return;
 
if(wykorzystal[id])
{
ColorChat(id, RED, "Wykorzystales juz swoja umiejetnosc.");
return;
}
 
wykorzystal[id] = true;
 
set_task(5.0, "task_remove_knife_model", id)
g_player_item_time[id] = get_gametime() + 5.0
static weapon;
weapon = get_pdata_cbase(id, 370)
if(pev_valid(weapon))
ExecuteHam(Ham_Item_Deploy,weapon)
}
 
public bacon_player_takedamage_pre(id,inflictor,attacker,Float:damage,damagetype)
{
if(!is_user_alive(attacker) || !g_player_has_class[attacker] || get_gametime() > g_player_item_time[attacker])
return HAM_IGNORED
 
static button
button = pev(attacker,pev_button)
if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 
{
static Float:health
pev(id,pev_health,health)
SetHamParamFloat(4,health*10.0) 
return HAM_HANDLED
}
 
return HAM_IGNORED
}
 
public bacon_player_killed_post(id,attacker,shouldgib)
if(task_exists(id))
remove_task(id)
 
public event_curweapon(id)
{
if(!is_user_alive(id) || !g_player_has_class[id] || get_gametime() > g_player_item_time[id])
return;
 
set_pev(id,pev_viewmodel2,model)
}
 
public task_remove_knife_model(id)
{
if(!g_player_has_class[id])
return;
 
static weapon;
weapon = get_user_weapon(id)
if(weapon != CSW_KNIFE)
return;
 
static viewmodel[64]
pev(id,pev_viewmodel2,viewmodel,63)
if(equal(viewmodel,model))
{
weapon = get_pdata_cbase(id, 370)
if(pev_valid(weapon))
ExecuteHam(Ham_Item_Deploy,weapon)
}
}
 
public ResetHUD(id)
wykorzystal[id] = false;

  • +
  • -
  • 1

#24 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 23.11.2017 21:58

chrisN twój kod daje do klasy scouta i he nwm czm. 1 Problem jeszcze isnieje, ale olać go. rzeznik twój kod nie daje broni ale troche nie działa(można użyc umiejetnosci jeszcze raz po zabiciu wszystkich wrogów i niemożna włączyć w następnej rundzie)


  • +
  • -
  • 0

#25 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 23.11.2017 22:44

podmien 

register_logevent("logevent_roundend", 2, "1=Round_End")

na

register_logevent("logevent_roundend", 2, "1=Round_Start")

a bron rejestrujesz tutaj w trzecim parametrze 

cod_register_class("Nazwa","Opis",0,0,0,0,0)

np.

cod_register_class("Nazwa","Opis", (1<<CSW_AK47 | 1<<CSW_USP) ,0,0,0,0)

i pisz jaki jest ten jeden blad to sie go naprawi niestety ale tak to jest jak daje sie suchy kod bez sprawdzenia no ale tak jak mowie nie mam coda


  • +
  • -
  • 1

Cześć


#26 Ziome3eg

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:52
  • Imię:Kuba
  • Lokalizacja:Nowy Sącz
Offline

Napisano 24.11.2017 00:09

podmien 

register_logevent("logevent_roundend", 2, "1=Round_End")

na

register_logevent("logevent_roundend", 2, "1=Round_Start")

a bron rejestrujesz tutaj w trzecim parametrze 

cod_register_class("Nazwa","Opis",0,0,0,0,0)

np.

cod_register_class("Nazwa","Opis", (1<<CSW_AK47 | 1<<CSW_USP) ,0,0,0,0)

i pisz jaki jest ten jeden blad to sie go naprawi niestety ale tak to jest jak daje sie suchy kod bez sprawdzenia no ale tak jak mowie nie mam coda

albo tutaj ma prawie całą gotową klasę, przerobiłem typowo pod codmoda, ma #include codmod i typowe ustawienie

#include <amxmodx>

#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
 
#define model "models/v_cod_class_knife.mdl"
 
new const nazwa[]   = "Nazwa";
new const opis[]    = "Posiada 1/1 z kosy oraz unikalny model na 5 sekund.";
new const bronie    = (1<<CSW_FAMAS);
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
 
new bool:ma_klase[33],Float:g_player_item_time[33],bool:g_player_item_used[33],g_maxplayers
 
public plugin_precache()
precache_model(model)
 
public plugin_init() {
register_plugin("cod class nazwa klasy", "1.0", "fresh")
 
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
 
RegisterHam(Ham_TakeDamage,"player","bacon_player_takedamage_pre",false)
RegisterHam(Ham_Killed,"player","bacon_player_killed_post",true)
 
register_event("CurWeapon","event_curweapon","be","1=1","2=29")
register_logevent("logevent_roundend", 2, "1=Round_Start")
 
g_maxplayers = get_maxplayers()
}
 
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
                
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if(g_player_item_used[id])
{
ColorChat(id, RED, "Umiejetnosc klasy mozesz uzyc tylko raz na runde.");
return;
}
 
set_task(5.0,"task_remove_knife_model",id)
g_player_item_time[id] = get_gametime() + 5.0
g_player_item_used[id] = true
 
if(get_user_weapon(id) == CSW_KNIFE)
set_pev(id,pev_viewmodel2,"models/v_knife.mdl")
}
 
public bacon_player_takedamage_pre(id,inflictor,attacker,Float:damage,damagetype)
{
if(!is_user_alive(attacker) || !ma_klase[attacker] || get_gametime() > g_player_item_time[attacker])
return HAM_IGNORED
 
static button
button = pev(attacker,pev_button)
if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 
{
static Float:health
pev(id,pev_health,health)
SetHamParamFloat(4,health*10.0)
return HAM_HANDLED
}
 
return HAM_IGNORED
}
 
public bacon_player_killed_post(id,attacker,shouldgib)
if(task_exists(id))
remove_task(id)
 
public event_curweapon(id)
{
if(!is_user_alive(id) || !ma_klase[id] || get_gametime() > g_player_item_time[id])
return;
 
set_pev(id,pev_viewmodel2,model)
}
 
public logevent_roundend()
{
static id;
for(id = 1;id <= g_maxplayers;id++)
g_player_item_used[id] = false
}
 
public task_remove_knife_model(id)
{
if(!ma_klase[id])
return;
 
static weapon;
weapon = get_user_weapon(id)
if(weapon != CSW_KNIFE)
return;
 
static viewmodel[64]
pev(id,pev_viewmodel2,viewmodel,63)
if(equal(viewmodel,model))
{
weapon = get_pdata_cbase(id, 370)
if(pev_valid(weapon))
ExecuteHam(Ham_Item_Deploy,weapon)
}
}

Użytkownik Ziome3eg edytował ten post 24.11.2017 00:10

  • +
  • -
  • 0

#27 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 24.11.2017 19:18

To ten błąd

 

1. mniej ważny po uzyciu trzeba zmienić broń na inną i zpowrotem aby model się wczytał

 

 

Reszta ok.


  • +
  • -
  • 0

#28 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 24.11.2017 20:18

To ten błąd

 

1. mniej ważny po uzyciu trzeba zmienić broń na inną i zpowrotem aby model się wczytał

 

 

Reszta ok.

tak to jest jak sie wieczorem nie mysli trzymaj teraz powinno byc wszystko git

public cod_class_skill_used(id)
{	
	if(g_player_item_used[id])
	{
		engclient_print(id,engprint_center,"Umiejetnosc klasy mozesz uzyc tylko raz na runde")
		return;
	}
	
	set_task(5.0,"task_remove_knife_model",id)
	g_player_item_time[id] = get_gametime() + 5.0
	g_player_item_used[id] = true
	
	if(get_user_weapon(id) == CSW_KNIFE)
		set_pev(id,pev_viewmodel2,model)	
}

  • +
  • -
  • 1

Cześć


#29 ChrisN

    Wszechpomocny

  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 24.11.2017 20:20

podmien 

register_logevent("logevent_roundend", 2, "1=Round_End")
na
register_logevent("logevent_roundend", 2, "1=Round_Start")
a bron rejestrujesz tutaj w trzecim parametrze 
cod_register_class("Nazwa","Opis",0,0,0,0,0)
np.
cod_register_class("Nazwa","Opis", (1<<CSW_AK47 | 1<<CSW_USP) ,0,0,0,0)
i pisz jaki jest ten jeden blad to sie go naprawi niestety ale tak to jest jak daje sie suchy kod bez sprawdzenia no ale tak jak mowie nie mam coda
albo tutaj ma prawie całą gotową klasę, przerobiłem typowo pod codmoda, ma #include codmod i typowe ustawienie
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
 
#define model "models/v_cod_class_knife.mdl"
 
new const nazwa[]   = "Nazwa";
new const opis[]    = "Posiada 1/1 z kosy oraz unikalny model na 5 sekund.";
new const bronie    = (1<<CSW_FAMAS);
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
 
new bool:ma_klase[33],Float:g_player_item_time[33],bool:g_player_item_used[33],g_maxplayers
 
public plugin_precache()
precache_model(model)
 
public plugin_init() {
register_plugin("cod class nazwa klasy", "1.0", "fresh")
 
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
 
RegisterHam(Ham_TakeDamage,"player","bacon_player_takedamage_pre",false)
RegisterHam(Ham_Killed,"player","bacon_player_killed_post",true)
 
register_event("CurWeapon","event_curweapon","be","1=1","2=29")
register_logevent("logevent_roundend", 2, "1=Round_Start")
 
g_maxplayers = get_maxplayers()
}
 
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
                
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if(g_player_item_used[id])
{
ColorChat(id, RED, "Umiejetnosc klasy mozesz uzyc tylko raz na runde.");
return;
}
 
set_task(5.0,"task_remove_knife_model",id)
g_player_item_time[id] = get_gametime() + 5.0
g_player_item_used[id] = true
 
if(get_user_weapon(id) == CSW_KNIFE)
set_pev(id,pev_viewmodel2,"models/v_knife.mdl")
}
 
public bacon_player_takedamage_pre(id,inflictor,attacker,Float:damage,damagetype)
{
if(!is_user_alive(attacker) || !ma_klase[attacker] || get_gametime() > g_player_item_time[attacker])
return HAM_IGNORED
 
static button
button = pev(attacker,pev_button)
if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker) 
{
static Float:health
pev(id,pev_health,health)
SetHamParamFloat(4,health*10.0)
return HAM_HANDLED
}
 
return HAM_IGNORED
}
 
public bacon_player_killed_post(id,attacker,shouldgib)
if(task_exists(id))
remove_task(id)
 
public event_curweapon(id)
{
if(!is_user_alive(id) || !ma_klase[id] || get_gametime() > g_player_item_time[id])
return;
 
set_pev(id,pev_viewmodel2,model)
}
 
public logevent_roundend()
{
static id;
for(id = 1;id <= g_maxplayers;id++)
g_player_item_used[id] = false
}
 
public task_remove_knife_model(id)
{
if(!ma_klase[id])
return;
 
static weapon;
weapon = get_user_weapon(id)
if(weapon != CSW_KNIFE)
return;
 
static viewmodel[64]
pev(id,pev_viewmodel2,viewmodel,63)
if(equal(viewmodel,model))
{
weapon = get_pdata_cbase(id, 370)
if(pev_valid(weapon))
ExecuteHam(Ham_Item_Deploy,weapon)
}
}

XDdddd bez komentarza

@SP3D1 ja tam w tej klasie nic nie zmieniałem tylko dodałem blokade.
  • +
  • -
  • 0

#30 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 24.11.2017 20:36

SP3D Był tak głupi że zmienił

cod_register_class("Nazwa","Opis",0,0,0,0,0)

na

cod_register_class("Nazwa","Opis",CSW_KNIFE,0,0,0,0)

Nwm po co to zrobiłem ale zrobiłem

 

Przez to dawało scouta i he

 

Ok działa wszystko. + poleciały, ale mam do was jeszcze jedno zadanie mianowicie dodajcie aby tez przez 5 sek działalo to co jest nizej.

Przy okazji dobrze rozumię to niżej np. wartość 20 kiedy bd mieli otrzymac 30 dmg -20 dmg (wartość) otrzymamy 10 dmg ?

Załączone pliki


Użytkownik SP3D! edytował ten post 24.11.2017 20:52

  • +
  • -
  • 0





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

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

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

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg