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

Problem z klasą


  • Zamknięty Temat jest zamknięty
9 odpowiedzi w tym temacie

#1 Cinasek

    Wszechwidzący

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:258
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Gdańsk
Offline

Napisano 17.09.2011 13:45

Witam. mam problem z klasą Expert TT, ponieważ chciałbym wgrać do niej eliminator rozrzutu ale jednak coś nie idzie. Niech ktoś mnie poprawi.
Od razu proszę o przypisanie go na jakąś flagę obojętnie na jaką byle gracz który go będzie miał nie posiadał jakiś większych uprawnień.


#include <amxmodx>
#include <codmod>
#include <hamsandwich>

#define DMG_BULLET (1<<9)

new const nazwa[] = "Expert TT (VIP)";
new const opis[] = "Posiada AK47, Glock, Granat HE oraz Eliminator rozrzutu";
new const bronie = 1<<CSW_AK47 | 1<<CSW_GLOCK18 | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 20;
new const inteligencja = 5;
new const wytrzymalosc = 5;

new bool:ma_klase[33];

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;


if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);
if(weapon == CSW_GLOCK18)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}

return HAM_IGNORED;
}

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



public PreThink(id)
{
if(ma_perk[id])
set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}

public UpdateClientData(id, sw, cd_handle)
{
if(ma_perk[id])
set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}

Użytkownik Cinasek edytował ten post 17.09.2011 13:47

  • +
  • -
  • 0

#2 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 17.09.2011 15:02

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod XProblemy z pluginami
do
ModyCall of Duty ModProblemy


  • +
  • -
  • 0

#3 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 17.09.2011 15:17

Nie działa Ci bo masz ma_perk[id], a to jest klasa a nie perk :/ Klasa przypisana na flagę "t"
#include <amxmodx>
#include <codmod>
#include <engine>
#include <hamsandwich>
 
#define DMG_BULLET (1<<9)
 
new const nazwa[] = "Expert TT (VIP)";
new const opis[] = "Posiada AK47, Glock, Granat HE oraz Eliminator rozrzutu";
new const bronie = 1<<CSW_AK47 | 1<<CSW_GLOCK18 | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 20;
new const inteligencja = 5;
new const wytrzymalosc = 5;
 
new bool:ma_klase[33];
 
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
 
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
register_forward(FM_PlayerPreThink, "PreThink");
register_forward(FM_UpdateClientData, "UpdateClientData", 1)
}
 
public cod_class_enabled(id)
{
ma_klase[id] = true;
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[%s] Nie masz uprawnien, aby uzywac tej klasy.", nazwa)
}
return COD_STOP;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public PreThink(id)
{
if(ma_klase[id])
set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}
 
public UpdateClientData(id, sw, cd_handle)
{
if(ma_klase[id])
set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}

Użytkownik radim edytował ten post 17.09.2011 15:25

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#4 Cinasek

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:258
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Gdańsk
Offline

Napisano 17.09.2011 15:43

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

codclass_experttt.sma(6) : warning 201: redefinition of constant/macro (symbol "DMG_BULLET")
codclass_experttt.sma(24) : error 017: undefined symbol "register_forward"
codclass_experttt.sma(24) : warning 215: expression has no effect
codclass_experttt.sma(24) : error 001: expected token: ";", but found ")"
codclass_experttt.sma(24) : error 029: invalid expression, assumed zero
codclass_experttt.sma(24) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.


Coś nadal nie tak jest :/
  • +
  • -
  • 0

#5 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 192
Profesjonalista

  • Postów:438
Offline

Napisano 17.09.2011 15:51

Proszę
#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta_util>
 
new const nazwa[] = "Expert TT (VIP)";
new const opis[] = "Posiada AK47, Glock, Granat HE oraz Eliminator rozrzutu";
new const bronie = 1<<CSW_AK47 | 1<<CSW_GLOCK18 | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 20;
new const inteligencja = 5;
new const wytrzymalosc = 5;
 
new bool:ma_klase[33];
 
public plugin_init()
{
    register_plugin(nazwa, "1.0", "SeeK");
    
    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    register_forward(FM_PlayerPreThink, "PreThink");
    register_forward(FM_UpdateClientData, "UpdateClientData", 1)
}
 
public cod_class_enabled(id)
{
    ma_klase[id] = true;
    if(!(get_user_flags(id) & ADMIN_LEVEL_H))
    {
        client_print(id, print_chat, "[%s] Nie masz uprawnien, aby uzywac tej klasy.", nazwa)
        return COD_STOP
    }
    return COD_CONTINUE
}

public cod_class_disabled(id)
    ma_klase[id] = false;
    
public PreThink(id)
{
    if(ma_klase[id])
        set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}
 
public UpdateClientData(id, sw, cd_handle)
{
    if(ma_klase[id])
        set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}

Użytkownik SeeK edytował ten post 17.09.2011 16:02

  • +
  • -
  • 1
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#6 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 17.09.2011 15:52

Zamiast #include <hamsandwich> wpisujesz #include <fakemeta_util>

Użytkownik radim edytował ten post 17.09.2011 15:52

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#7 Cinasek

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:258
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Gdańsk
Offline

Napisano 17.09.2011 16:03

Proszę

#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta_util>
 
new const nazwa[] = "Expert TT (VIP)";
new const opis[] = "Posiada AK47, Glock, Granat HE oraz Eliminator rozrzutu";
new const bronie = 1<<CSW_AK47 | 1<<CSW_GLOCK18 | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 20;
new const inteligencja = 5;
new const wytrzymalosc = 5;
 
new bool:ma_klase[33];
 
public plugin_init()
{
	register_plugin(nazwa, "1.0", "SeeK");
	
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	register_forward(FM_PlayerPreThink, "PreThink");
	register_forward(FM_UpdateClientData, "UpdateClientData", 1)
}
 
public cod_class_enabled(id)
{
	ma_klase[id] = true;
	if(!(get_user_flags(id) & ADMIN_LEVEL_H))
	{
		client_print(id, print_chat, "[%s] Nie masz uprawnien, aby uzywac tej klasy.", nazwa)
		return COD_STOP
	}
	return COD_CONTINUE
}
 
public cod_class_disabled(id)
	ma_klase[id] = false;
	
public PreThink(id)
{
	if(ma_klase[id])
		set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}
 
public UpdateClientData(id, sw, cd_handle)
{
	if(ma_klase[id])
		set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}



Już sobie poradziłem :)
Usunąłem linikę return COD_STOP działa bez zarzutów oczywiście plus dla obu :) Dziękuję wam :)

Użytkownik Cinasek edytował ten post 17.09.2011 16:11

  • +
  • -
  • 0

#8 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 17.09.2011 16:10

#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta_util>
 
new const nazwa[] = "Expert TT (VIP)";
new const opis[] = "Posiada AK47, Glock, Granat HE oraz Eliminator rozrzutu";
new const bronie = 1<<CSW_AK47 | 1<<CSW_GLOCK18 | 1<<CSW_HEGRENADE;
new const zdrowie = 20;
new const kondycja = 20;
new const inteligencja = 5;
new const wytrzymalosc = 5;
 
new bool:ma_klase[33];
 
public plugin_init()
{
		register_plugin(nazwa, "1.0", "SeeK");
		
		cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
		register_forward(FM_PlayerPreThink, "PreThink");
		register_forward(FM_UpdateClientData, "UpdateClientData", 1)
}
 
public cod_class_enabled(id)
{
		ma_klase[id] = true;
		if(!(get_user_flags(id) & ADMIN_LEVEL_H))
		{
				client_print(id, print_chat, "[%s] Nie masz uprawnien, aby uzywac tej klasy.", nazwa)
				return COD_STOP;
		}
		return COD_CONTINUE;
}
 
public cod_class_disabled(id)
		ma_klase[id] = false;
		
public PreThink(id)
{
		if(ma_klase[id])
				set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}
 
public UpdateClientData(id, sw, cd_handle)
{
		if(ma_klase[id])
				set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}
Teraz na 100% będzie działać. SeeK zapomniał średnika ";" po COD_STOP i COD_CONTINUE

Użytkownik radim edytował ten post 17.09.2011 16:11

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#9 Cinasek

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:258
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Gdańsk
Offline

Napisano 17.09.2011 16:13

Zgadza się działa wystarczyło COD_STOP usunąć ;) Można zamknąć :)
  • +
  • -
  • 0

#10 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 476
  • Lokalizacja:AMXX.PL
Offline

Napisano 17.09.2011 16:14

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Mozna zamknąć.

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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