Problem z klasą
Cinasek
17.09.2011
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})
}
Edited by Cinasek, 17.09.2011 13:47.
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})
}
Edited by Cinasek, 17.09.2011 13:47.
sharkowy
17.09.2011
Automatyczna wiadomość
Ten temat został przeniesiony z forum:
AMX Mod X → Problemy z pluginami
do
Mody → Call of Duty Mod → Problemy
radim
17.09.2011
Nie działa Ci bo masz ma_perk[id], a to jest klasa a nie perk Klasa przypisana na flagę "t"
Edited by radim, 17.09.2011 15:25.
#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}) }
Edited by radim, 17.09.2011 15:25.
Cinasek
17.09.2011
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
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
SeeK
17.09.2011
Proszę
Edited by SeeK, 17.09.2011 16:02.
#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}) }
Edited by SeeK, 17.09.2011 16:02.
radim
17.09.2011
Zamiast #include <hamsandwich> wpisujesz #include <fakemeta_util>
Edited by radim, 17.09.2011 15:52.
Edited by radim, 17.09.2011 15:52.
Cinasek
17.09.2011
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
Edited by Cinasek, 17.09.2011 16:11.
radim
17.09.2011
#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
Edited by radim, 17.09.2011 16:11.
Adminek AMXX.PL 17.09.2011
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Mozna zamknąć.
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Mozna zamknąć.
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL