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"


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
15 odpowiedzi 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:28

Witam.

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

 

Logi:

 

L 12/04/2016 - 12:46:24: Start of error session.
L 12/04/2016 - 12:46:24: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20161204.log")
L 12/04/2016 - 12:46:24: [HAMSANDWICH] Function fwSpawn_Rakiety not found.
L 12/04/2016 - 12:46:24: [AMXX] Displaying debug trace (plugin "codclass_testmaga.amxx")
L 12/04/2016 - 12:46:24: [AMXX] Run time error 10: native error (native "RegisterHam")
L 12/04/2016 - 12:46:24: [AMXX]    [0] codclass_testmaga.sma::plugin_init (line 34)
L 12/04/2016 - 12:46:33: Plugin called message_begin with an invalid message id (0).
L 12/04/2016 - 12:46:33: [AMXX] Displaying debug trace (plugin "codclass_testmaga.amxx")
L 12/04/2016 - 12:46:33: [AMXX] Run time error 10: native error (native "message_begin")
L 12/04/2016 - 12:46:33: [AMXX]    [0] codclass_testmaga.sma::bartime (line 173)
L 12/04/2016 - 12:46:33: [AMXX]    [1] codclass_testmaga.sma::knife (line 76)

 

Załączone pliki


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

  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#2 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 13:11

miałeś błąd tutaj powinno byc

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

a bylo

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

dodatkowo

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

serwer nie znajduje funkcji fwSpawn_Rakiety przez co nie kontynuuje kodu i nie lapie id message'a przez co msgBarTime=0 usun 

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

lub dodaj powyższą funkcje 


  • +
  • -
  • 1

Cześć


#3 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 13:15

miałeś błąd tutaj powinno byc

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

a bylo

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

dodatkowo

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

serwer nie znajduje funkcji fwSpawn_Rakiety przez co nie kontynuuje kodu i nie lapie id message'a przez co msgBarTime=0 usun 

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

lub dodaj powyższą funkcje 

 

 

Podczas kompilacji errory:

 

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


Warning: Tag mismatch on line 123
Error: Undefined symbol "player" on line 171
Warning: Expression has no effect on line 171
Error: Expected token: ";", but found ")" on line 171
Error: Invalid expression, assumed zero on line 171
Error: Too many error messages on one line on line 171


Compilation aborted.
4 Errors.
Could not locate output file C:\Users\Pyra\Desktop\codclass_testmaga.amx (compile failed).

  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#4 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 13:17

usun "player=id" i zostaw samo "id"


  • +
  • -
  • 1

Cześć


#5 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 13:42

usun "player=id" i zostaw samo "id"

 

Dzięki działa, lecz:

  • Rakieta nie wybucha
  • Jak zmienić aby pasek się ładował, gdy idziemy po równej ziemi. Podczas: skoku, chodzeniu po schodach nie ładował.

  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#6 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 13:52

dlatego ze zarejestrowane dotkniecie jest dla classname rocket

register_touch("rocket", "*" , "DotykRakiety");

a ty ustawiasz classname na fireball

entity_set_string(fEntity,EV_SZ_classname,"fireball") 

Użytkownik rzeznik9871 edytował ten post 04.12.2016 13:53

  • +
  • -
  • 1

Cześć


#7 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 16:45

 

dlatego ze zarejestrowane dotkniecie jest dla classname rocket

register_touch("rocket", "*" , "DotykRakiety");

a ty ustawiasz classname na fireball

entity_set_string(fEntity,EV_SZ_classname,"fireball") 

Dzięki! Pomogło.

A jak zrobić aby ładowało się tylko gdy idziemy po prostej drodze, gdy podskoczymy zaczyna ładować od nowa.


  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#8 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 18:22

task lub think gracza i sprawdzanie czy stoi na ziemi


  • +
  • -
  • 1

Cześć


#9 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 18:34

task lub think gracza i sprawdzanie czy stoi na ziemi

stock bool:is_user_moving(id){
    new Float:fVelocity[3];
    pev(id, pev_velocity, fVelocity);
    if(fVelocity[ 0 ] != 0.0 || fVelocity[ 1 ] != 0.0 || fVelocity[ 2 ] != 0.0)
        return true;
    
    return false;
    
}

Zamieniłem:

  • if(!task_exists(id+UNIKAT))

 

Na:

  • if(!(is_user_moving(id)) && get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)) && weapon == 29))

Lecz to powoduję, że pasek się ładuję jak gracz stoi w miejscu.


  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#10 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 19:14

public client_PreThink(id)
{
	if(!is_user_alive(id) || !ma_klase[id])
		return;
		
	if(task_exists(id+UNIKAT) && !get_entity_flags(id) & FL_ONGROUND || task_exists(id+UNIKAT) && get_user_weapon(id)!=CSW_KNIFE)
	{
		remove_task(id+UNIKAT)
		bartime(id,0)
		return;
	}
	
	if(!task_exists(id) && get_entity_flags(id) & FL_ONGROUND && get_user_weapon(id)==CSW_KNIFE)
	{
		set_task(5.0,"fireball",id+UNIKAT)
		bartime(id,5)
		return;
	}
}
	
public fireball(id)
{

	id-=UNIKAT
	
	if (is_user_alive(id))
	{	
		new Float:vOrigin[3]
		new fEntity
		entity_get_vector(id,EV_VEC_origin, vOrigin)
		fEntity = create_entity("info_target")
		entity_set_model(fEntity, "models/csas/cod/rpgrocket.mdl")
		entity_set_origin(fEntity, vOrigin)
		entity_set_int(fEntity,EV_INT_effects,64)
		entity_set_string(fEntity,EV_SZ_classname,"rocket")
		entity_set_int(fEntity, EV_INT_solid, SOLID_BBOX)
		entity_set_int(fEntity,EV_INT_movetype,5)
		entity_set_edict(fEntity,EV_ENT_owner,id)
		
		new Float:fl_iNewVelocity[3]
		VelocityByAim(id, 500, fl_iNewVelocity)
		entity_set_vector(fEntity, EV_VEC_velocity, fl_iNewVelocity)
		
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
		write_byte(22) 
		write_short(fEntity) 
		write_short(sprite_beam) 
		write_byte(45) 
		write_byte(4) 
		write_byte(255) 
		write_byte(0) 
		write_byte(0) 
		write_byte(25)
		message_end() 
		
		set_dhudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
		show_dhudmessage(id, "[Mag] Wyczarowales fireboll'a")
	}	
	return PLUGIN_HANDLED
}

usun CurWeapon'a

powinno dzialac ale nie jestem pewny i nie mam jak sprawdzic


  • +
  • -
  • 1

Cześć


#11 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 19:45

public client_PreThink(id)
{
	if(!is_user_alive(id) || !ma_klase[id])
		return;
		
	if(task_exists(id+UNIKAT) && !get_entity_flags(id) & FL_ONGROUND || task_exists(id+UNIKAT) && get_user_weapon(id)!=CSW_KNIFE)
	{
		remove_task(id+UNIKAT)
		bartime(id,0)
		return;
	}
	
	if(!task_exists(id) && get_entity_flags(id) & FL_ONGROUND && get_user_weapon(id)==CSW_KNIFE)
	{
		set_task(5.0,"fireball",id+UNIKAT)
		bartime(id,5)
		return;
	}
}
	
public fireball(id)
{

	id-=UNIKAT
	
	if (is_user_alive(id))
	{	
		new Float:vOrigin[3]
		new fEntity
		entity_get_vector(id,EV_VEC_origin, vOrigin)
		fEntity = create_entity("info_target")
		entity_set_model(fEntity, "models/csas/cod/rpgrocket.mdl")
		entity_set_origin(fEntity, vOrigin)
		entity_set_int(fEntity,EV_INT_effects,64)
		entity_set_string(fEntity,EV_SZ_classname,"rocket")
		entity_set_int(fEntity, EV_INT_solid, SOLID_BBOX)
		entity_set_int(fEntity,EV_INT_movetype,5)
		entity_set_edict(fEntity,EV_ENT_owner,id)
		
		new Float:fl_iNewVelocity[3]
		VelocityByAim(id, 500, fl_iNewVelocity)
		entity_set_vector(fEntity, EV_VEC_velocity, fl_iNewVelocity)
		
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
		write_byte(22) 
		write_short(fEntity) 
		write_short(sprite_beam) 
		write_byte(45) 
		write_byte(4) 
		write_byte(255) 
		write_byte(0) 
		write_byte(0) 
		write_byte(25)
		message_end() 
		
		set_dhudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
		show_dhudmessage(id, "[Mag] Wyczarowales fireboll'a")
	}	
	return PLUGIN_HANDLED
}

usun CurWeapon'a

powinno dzialac ale nie jestem pewny i nie mam jak sprawdzic

 

 

Teraz pojawia się pasek lecz sie nie ładuję, a po x sekundach zaczyna wywalać rakiety (spam)


  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#12 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 20:25

	if(!task_exists(id+UNIKAT) && get_entity_flags(id) & FL_ONGROUND && get_user_weapon(id)==CSW_KNIFE)
	{
		set_task(5.0,"fireball",id+UNIKAT)
		bartime(id,5)
		return;
	}

wiedzialem ze cos spierdole w warunkach ^^


  • +
  • -
  • 1

Cześć


#13 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 20:50

Sprawdze jutro jak wroce z pracy, a czy bedzie mozliwosc zrobienia, ze jak rakieta zostanie wystrzelona laduje kolejny pasek? Poniewaz aktualnie trzeba bylo zmieniac bron.
  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#14 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 04.12.2016 20:53

to co ci podalem jezeli juz dziala (nie mam codmoda,nie mam jak sprawdzic a wiadomo jak to na sucho w teori dziala a w praktyce moze co innego wyjsc przez niedopatrzenia) to bedzie ladowac sie co wystrzelenie


  • +
  • -
  • 1

Cześć


#15 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 21:20

Dam jutro znać, dzięki z góry ;)
  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 


#16 1stADXionC

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

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

Napisano 04.12.2016 22:17

	if(!task_exists(id+UNIKAT) && get_entity_flags(id) & FL_ONGROUND && get_user_weapon(id)==CSW_KNIFE)
	{
		set_task(5.0,"fireball",id+UNIKAT)
		bartime(id,5)
		return;
	}

wiedzialem ze cos spierdole w warunkach ^^

 

 

Po sprawdzeniu, wszystko już prawie ładnie działa lecz tylko problem jest związany z ładowaniem paska, tzn: ładuję się on nawet gdy gracz skacze.


  • +
  • -
  • 0

DiabloMod - 10%

 

COD:MW3 - BETATESTY

 





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

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