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

Pytanie dotyczące "BartTime"


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 1stADXionC

    Wszechobecny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:443
  • Imię:Rafał
  • Lokalizacja:Wrocław
Offline

Napisano 04.12.2016 12:07

Witam.

Próbuję zrobić aby na nożu ładował się pasek 'BarTime', po załadowaniu się paska zostaje wystrzelona rakieta.

Mój kod:

 



#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>


#define TIME 5.0 
#define UNIKAT 2013


new const nazwa[] = "Mag";
new const opis[] = "testr";
new const bronie = 1<<CSW_UMP45;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;


new ma_klase[33];
new sprite_blast;
new msgBarTime;


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


cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    
register_event("CurWeapon", "knife", "be", "1=1");
      
register_touch("rocket", "*" , "DotykRakiety");


RegisterHam(Ham_Spawn, "player", "fwSpawn_Rakiety", 1);


msgBarTime = get_user_msgid("BarTime");
}


public plugin_precache()
{
sprite_blast = precache_model("sprites/csas/cod/dexplo.spr");
precache_model("models/csas/cod/rpgrocket.mdl");
}


public cod_class_enabled(id)
{
ma_klase[id] = true;
}


public cod_class_disabled(id)
{
ma_klase[id] = false;
}


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 knife(id)
{
if(ma_klase[id]) 
{
if(read_data(2) == CSW_KNIFE)
{
if(!task_exists(id+UNIKAT))
{
new data[1];
data[0] = id;
bartime(id, floatround(TIME))
set_task(TIME, "cod_class_skill_used", id+UNIKAT, data, 1)
}
}
else
{
if(task_exists(id+UNIKAT))
{
remove_task(id+UNIKAT);
bartime(id, 0);
}


set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
}
}
}


public cod_class_skill_used(id)
{
if (is_user_alive(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/csas/cod/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);


set_hudmessage(255, 255, 0, -1.0, 0.2, 0, 6.0, 3.0)
show_hudmessage(id, "[Mag] Wyczarowales fireboll'a")
}
}


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);
}


stock bartime(id, czas) 
{
message_begin(MSG_ONE_UNRELIABLE, msgBarTime, .player = id);
write_short(czas);
message_end();    
}

Logi:

 


L 12/04/2016 - 11:50:13: Plugin called message_begin with an invalid message id (0).
L 12/04/2016 - 11:50:13: [AMXX] Displaying debug trace (plugin "codclass_testmaga.amxx")
L 12/04/2016 - 11:50:13: [AMXX] Run time error 10: native error (native "message_begin")
L 12/04/2016 - 11:50:13: [AMXX]    [0] codclass_testmaga.sma::bartime (line 165)
L 12/04/2016 - 11:50:13: [AMXX]    [1] codclass_testmaga.sma::knife (line 65)

 


Użytkownik 1stADXionC edytował ten post 04.12.2016 12:12

  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 986
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 04.12.2016 12:15

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Nieodpowiednio umieszczony kod. Skorzystaj z Umieszczanie kodu na forum

Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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