Teraz robi bym, ale tylko w czasie jednej rudny. Jak zaczyna się kolejna runda to nie działa pisze "Nie mozesz juz uzyc skilla !"
Musze wejść na serwer jeszcze raz żeby działało i tak za każdym razem.
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.
|
Guest Message by DevFuse
aVee`
Rejestracja: 01.11.2011Aktualnie: Nieaktywny
Poza forum Ostatnio: 22.01.2012 11:00
Statystyki
- Grupa: Użytkownik
- Całość postów: 36
- Odwiedzin: 2 804
- Tytuł: Życzliwy
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
AdaM
-
Płeć
Mężczyzna
-
Lokalizacja
STG
-
Zainteresowania
Cs 1,6
Kontakt
Moje posty
W temacie: Klasa AirMan
21.01.2012 12:05
W temacie: Klasa AirMan
20.01.2012 11:53
Przerobiłem tą klasę na premium dodałem trochę broni, ale... nalot działa tylko granaty nie wybuchają - skaczą w powietrzu.
@edit
Wgralem orginalne pliki i tez posicki nie bybuchaja tylko skacza w miejscu...
@edit
Wgralem orginalne pliki i tez posicki nie bybuchaja tylko skacza w miejscu...
#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta_util>
#include <hamsandwich>
#define MAX 32
new const nazwa[] = "AirMan [UltraPremium]";
new const opis[] = "Mozesz wezwac Nalot pod (E) 2x na runde !";
new const bronie = (1<<CSW_AUG)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_USP)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE)|(1<<CSW_SG552)|(1<<CSW_AK47);
new const zdrowie = 60;
new const kondycja = 40;
new const inteligencja = 0;
new const wytrzymalosc = 20;
new sprite_blast;
new bool:nalot[MAX+1];
new ilosc_uzyc[33]
new PobraneOrigin[3], ZmienKilla[2];
new ma_klase[33]
public plugin_init() {
register_plugin(nazwa, "1.0", "_nothing_");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_Spawn, "player", "Spawn", 1)
}
public plugin_precache()
{
sprite_blast = precache_model("sprites/dexplo.spr");
precache_model("models/p_hegrenade.mdl");
precache_model("models/cod_plane.mdl");
precache_sound("mw/jet_fly1.wav");
precache_sound("mw/air_friend.wav");
precache_sound("mw/air_enemy.wav");
precache_sound("mw/air_give.wav");
}
public Spawn(id)
{
ilosc_uzyc[id] = 2
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_F))
{
client_print(id, print_chat, "[Robocop] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ilosc_uzyc[id] = 2
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ilosc_uzyc[id] = 0
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if(ilosc_uzyc[id]>0)
{
CreateNalot(id);
ilosc_uzyc[id]--;
client_print(id,print_center,"Pozostal%s ci jeszcze %d nalot%s",((ilosc_uzyc[id]==1)?"":"o"),ilosc_uzyc[id],((ilosc_uzyc[id]==1)?"":(ilosc_uzyc[id]<0 && ilosc_uzyc[id]>0)?"t":"ow"))
}
else
{
client_print(id,print_center,"Nie mozesz juz uzyc skilla !")
}
return PLUGIN_CONTINUE;
}
public CreateNalot(id)
{
new num, players[32];
get_players(players, num, "gh");
for(new a = 0; a < num; a++)
{
new i = players[a];
if(get_user_team(id) != get_user_team(i))
client_cmd(i, "spk sound/mw/air_enemy.wav");
else
client_cmd(i, "spk sound/mw/air_friend.wav");
}
print_info(id, "Airstrike");
set_task(1.0, "CreateBombs", id+997, _, _, "a", 3);
CreatePlane(id);
nalot[id] = false;
}
public CreateBombs(taskid)
{
new id = (taskid-997);
new radlocation[3];
PobraneOrigin[0] += random_num(-300,300);
PobraneOrigin[1] += random_num(-300,300);
PobraneOrigin[2] += 50;
for(new i=0; i<15; i++)
{
radlocation[0] = PobraneOrigin[0]+1*random_num(-150,150);
radlocation[1] = PobraneOrigin[1]+1*random_num(-150,150);
radlocation[2] = PobraneOrigin[2];
new Float:LocVec[3];
IVecFVec(radlocation, LocVec);
create_ent(id, "bomb", "models/p_hegrenade.mdl", 2, 10, LocVec);
}
}
public CreatePlane(id)
{
new Float:Origin[3], Float:Angle[3], Float:Velocity[3], ent;
get_user_origin(id, PobraneOrigin, 3);
velocity_by_aim(id, 1000, Velocity);
entity_get_vector(id, EV_VEC_origin, Origin);
entity_get_vector(id, EV_VEC_v_angle, Angle);
Angle[0] = Velocity[2] = 0.0;
Origin[2] += 200.0;
create_ent(id, "samolot", "models/cod_plane.mdl", 2, 8, Origin, ent);
entity_set_vector(ent, EV_VEC_velocity, Velocity);
entity_set_vector(ent, EV_VEC_angles, Angle);
emit_sound(ent, CHAN_ITEM, "mw/jet_fly1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
set_task(4.5, "del_plane", ent+5731);
}
public del_plane(taskid)
remove_entity(taskid-5731);
public touchedrocket(ent, id)
{
if(!is_valid_ent(ent))
return PLUGIN_CONTINUE;
bombs_explode(ent, 100.0, 150.0);
return PLUGIN_CONTINUE;
}
stock print_info(id, const nagroda[], const nazwa[] = "y")
{
new nick[64];
get_user_name(id, nick, 63);
client_print(0, print_chat, "%s wezwan%s przez %s", nagroda, nazwa, nick);
}
stock create_ent(id, szName[], szModel[], iSolid, iMovetype, Float:fOrigin[3], &ent=-1)
{
new ent1 = create_entity("info_target");
entity_set_string(ent1, EV_SZ_classname, szName);
entity_set_model(ent1, szModel);
entity_set_int(ent1, EV_INT_solid, iSolid);
entity_set_int(ent1, EV_INT_movetype, iMovetype);
entity_set_edict(ent1, EV_ENT_owner, id);
entity_set_origin(ent1, fOrigin);
if(ent != -1)
ent = ent1;
}
bombs_explode(ent, Float:zadaje, Float:promien)
{
if(!is_valid_ent(ent))
return;
new attacker = entity_get_edict(ent, EV_ENT_owner);
new Float:entOrigin[3], Float:fDamage, Float:Origin[3];
entity_get_vector(ent, EV_VEC_origin, entOrigin);
entOrigin[2] += 1.0;
new entlist[33];
new numfound = find_sphere_class(ent, "player", promien, entlist, 32);
for(new i=0; i < numfound; i++)
{
new victim = entlist[i];
if(!is_user_alive(victim) || get_user_team(attacker) == get_user_team(victim))
continue;
entity_get_vector(victim, EV_VEC_origin, Origin);
fDamage = zadaje - floatmul(zadaje, floatdiv(get_distance_f(Origin, entOrigin), promien));
fDamage *= estimate_take_hurt(entOrigin, victim, 0);
if(fDamage>0.0)
UTIL_Kill(attacker, victim, fDamage, DMG_BULLET);
}
Sprite_Blast(entOrigin);
remove_entity(ent);
}
stock Float:estimate_take_hurt(Float:fPoint[3], ent, ignored)
{
new Float:fFraction, Float:fOrigin[3], tr;
entity_get_vector(ent, EV_VEC_origin, fOrigin);
engfunc(EngFunc_TraceLine, fPoint, fOrigin, DONT_IGNORE_MONSTERS, ignored, tr);
get_tr2(tr, TR_flFraction, fFraction);
if(fFraction == 1.0 || get_tr2(tr, TR_pHit) == ent)
return 1.0;
return 0.6;
}
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);
}
stock Sprite_Blast(Float:iOrigin[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_EXPLOSION);
write_coord(floatround(iOrigin[0]));
write_coord(floatround(iOrigin[1]));
write_coord(floatround(iOrigin[2]));
write_short(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();
}
W temacie: Zmiana modelu gracza dla klasy/perku
31.12.2011 15:33
No to jak zrobić ten warunek, tzn żeby osoby posiadające daną klasę miała ten skin a nie wszystkie klasy.
W temacie: Zmiana modelu gracza dla klasy/perku
31.12.2011 11:00
Wszystko robię dobrze, klasa autora działa - wstawię skin i jest, a stalker nie działa, pobiera się skin ale nie działa.
Już się naumiałem, d0n tHe Pr0oo w twoim kodzie jest kilka błędów jak przerobie swoje klasy premium to wstawię poprawioną wersje.
Niby jak testowałem sam to działała, ale jak wgrałem na serwer to wszyscy mieli takiego skina.
Już się naumiałem, d0n tHe Pr0oo w twoim kodzie jest kilka błędów jak przerobie swoje klasy premium to wstawię poprawioną wersje.
Niby jak testowałem sam to działała, ale jak wgrałem na serwer to wszyscy mieli takiego skina.
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
#include <cstrike>
new const nazwa[] = "Robocop [Premium]";
new const opis[] = "Posiada AWP oraz zestaw pistoletow, rakiete.";
new const bronie = (1<<CSW_AWP)|(1<<CSW_DEAGLE)|(1<<CSW_GLOCK18)|(1<<CSW_USP);
new const zdrowie = 50;
new const kondycja = 10;
new const inteligencja = 10;
new const wytrzymalosc = 50;
new sprite_blast;
new ilosc_rakiet_gracza[33];
new poprzednia_rakieta_gracza[33];
new skoki[33];
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_touch("rocket", "*" , "DotykRakiety");
RegisterHam(Ham_Spawn, "player", "fwSpawn_Rakiety", 1);
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
}
public plugin_precache()
{
sprite_blast = precache_model("sprites/dexplo.spr");
precache_model("models/rpgrocket.mdl");
precache_model("models/player/robo/robo.mdl");
precache_model("models/player/roboT/roboT.mdl");
}
public client_disconnect(id)
{
new entRakiety = find_ent_by_class(0, "rocket");
while(entRakiety > 0)
{
if(entity_get_edict(entRakiety, EV_ENT_owner) == id)
remove_entity(entRakiety);
entRakiety = find_ent_by_class(entRakiety, "rocket");
}
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_C))
{
client_print(id, print_chat, "[Robocop] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ilosc_rakiet_gracza[id] = 1;
give_item(id, "weapon_flashbang");
cs_set_user_model(id, (get_user_team(id) == 1)? "robo": "roboT");
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
cs_reset_user_model(id);
}
public cod_class_skill_used(id)
{
if (!ilosc_rakiet_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
}
else
{
if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
}
else
{
if (is_user_alive(id))
{
poprzednia_rakieta_gracza[id] = floatround(get_gametime());
ilosc_rakiet_gracza[id]--;
new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);
new Ent = create_entity("info_target");
entity_set_string(Ent, EV_SZ_classname, "rocket");
entity_set_model(Ent, "models/rpgrocket.mdl");
vAngle[0] *= -1.0;
entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);
entity_set_int(Ent, EV_INT_effects, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);
VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
}
}
}
public fwSpawn_Rakiety(id)
{
if(is_user_alive(id))
ilosc_rakiet_gracza[id] = 1;
cs_set_user_model(id, (get_user_team(id) == 1)? "robo": "roboT");
}
public DotykRakiety(ent)
{
if (!is_valid_ent(ent))
return;
new attacker = entity_get_edict(ent, EV_ENT_owner);
new Float:fOrigin[3];
entity_get_vector(ent, EV_VEC_origin, fOrigin);
new iOrigin[3];
for(new i=0;i<3;i++)
iOrigin[i] = floatround(fOrigin[i]);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();
new entlist[33];
new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32);
for (new i=0; i < numfound; i++)
{
new pid = entlist[i];
if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
continue;
cod_inflict_damage(attacker, pid, 55.0, 0.9, ent, (1<<24));
}
remove_entity(ent);
}
public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id])
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 2;
return FMRES_IGNORED;
}
W temacie: Zmiana modelu gracza dla klasy/perku
30.12.2011 20:30
W tym kawałku masz błąd:
- na czerwono
ilosc_rakiet_gracza[id] = 2;
give_item(id, "weapon_hegrenade");
cs_set_user_model(id, (get_user_team(id) == 1)? "classic2": "swat");
ma_klase[id] = true;
Po poprawieniu tego serwer odpala pobierają się skiny, ale w grze ich nie widać.
- na czerwono
ilosc_rakiet_gracza[id] = 2;
give_item(id, "weapon_hegrenade");
cs_set_user_model(id, (get_user_team(id) == 1)? "classic2": "swat");
ma_klase[id] = true;
Po poprawieniu tego serwer odpala pobierają się skiny, ale w grze ich nie widać.
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Posty: aVee`
- Regulamin