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
 

NwNwH - zdjęcie

NwNwH

Rejestracja: 29.11.2023
Aktualnie: Nieaktywny
Poza forum Ostatnio: 24.02.2024 14:12
-----

Moje tematy

Problem z func_wall

10.02.2024 20:05

Dobry wieczór, mam problem z warunkiem if(equal(szClassEnt_2, "func_wall")), gdy daje blok w bariere to nic się nie dzieje, natomiast granat normalnie działa jak rzucam w bariere to odrzuca i printuje wiadomość.

Fragment pluginu pochodzi z pluginu na bariery z paczki BaseBuilder Turbo(najnowsza wersja na github)
Amxx - 1.9.0.5271, wszystkie moduły odblokowane

public fwd_touch(toucher, touched){
	
	
	if( !pev_valid(toucher) || !pev_valid(touched) || touched == 0 || toucher == 0 )
		return PLUGIN_CONTINUE
	new szClassEnt_1[33], szClassEnt_2[33]
	pev(toucher, pev_classname, szClassEnt_1, sizeof(szClassEnt_1) )
	pev(touched, pev_classname, szClassEnt_2, sizeof(szClassEnt_2) )
	
	
	if( entity_get_int(toucher, EV_INT_solid) != SOLID_TRIGGER ) 
		return PLUGIN_CONTINUE
	
	if( equal(szClassEnt_1, "blockBarrier") ){
			
		if( equal(szClassEnt_2, "grenade") ){
                        ColorChat(0, GREEN, "proszę nie rzucac granatem na spawna");
			if( pev(touched, pev_iuser1) == 0){
				new Float:fVelocity[3]
				pev(touched, pev_velocity, fVelocity)
				fVelocity[0] *= -1;
				fVelocity[1] *= -1;
				fVelocity[2] *= -1;
				set_pev(touched, pev_velocity, fVelocity)
				set_pev(touched, pev_iuser1, 1)
				
			}
		}
		if(equal(szClassEnt_2, "player")){
			if( get_user_team(touched) == 1 && is_user_alive(touched)){
				if( task_exists(touched+TASK_GOD) ){
					remove_task(touched+TASK_GOD)
				}
				set_task(0.1, "offBarrierGod", touched+TASK_GOD)
				userIsInBarrier[touched]=true
			}
		}
		if(equal(szClassEnt_2, "func_wall")){
			ColorChat(0, GREEN, "proszę nie blokowac spawnu");
		}
	}
		
	if( !equal(szClassEnt_1, "blockBarrier") && !equal(szClassEnt_1, "func_wall"))
		return PLUGIN_CONTINUE
	
		
	if( !equal(szClassEnt_2, "func_wall")  ){		
		return PLUGIN_CONTINUE
	}

	if( equal(szClassEnt_2, "func_wall" ) && equal(szClassEnt_1, "func_wall") && getLock(toucher) != 2)
		return PLUGIN_CONTINUE
	
	
	if( getOwner(touched) != 0 ){ // -- TO NIE DZIAŁA XD --

                ColorChat(0, GREEN, "przeszlo przez warunek ownera");
		if(  getMover(touched)  ){ //0
                        ColorChat(0, GREEN, "przeszlo przez warunek movera");
			new Float:fOrigin[3]
			entity_get_vector(touched, EV_VEC_vuser4, fOrigin)
			if( fOrigin[0] != 0.0 || fOrigin[1] != 0.0 || fOrigin[2] != 0.0 ){
				ColorChat(getLastMover(touched), GREEN, "---^x01 Klocek cofniety!^x04 |^x01 Nie wsadzaj klocka w bariere!^x04 ---")
				entity_set_origin(touched, fOrigin)
			}else{
				//bb_set_claimed(getOwner(touched), bb_get_claimed(getOwner(touched))-1)
				
				if( getLock(touched) == 3 ){
					new szClass[10], szTarget[7];
					entity_get_string(touched, EV_SZ_classname, szClass, 9);
					entity_get_string(touched, EV_SZ_targetname, szTarget, 6);
						
						
					if( !equal(szClass, "func_wall")) 
						return PLUGIN_CONTINUE
					if( equal(szTarget, "ignore") )
						return PLUGIN_CONTINUE
					if( equal(szTarget, "barrier") )
						return PLUGIN_CONTINUE					
					if( equal(szClass, "blockBarrier") )
						return PLUGIN_CONTINUE
					
					remove_entity(touched)
				}else{
					set_pev(touched, pev_iuser1, 0) 
					entity_set_origin(touched, Float:{0.0,0.0,0.0});
				}
			}
			
		}else{			
			set_pev(touched,pev_rendermode,kRenderTransColor)
			set_pev(touched,pev_rendercolor, Float:{255.0,0.0,0.0} )
			set_pev(touched,pev_renderamt, 255.0 )
			set_task(0.1, "checkRemove", touched)
		}
	}
	return PLUGIN_CONTINUE
} 

Dziwny problem z natywem

03.01.2024 21:56

Witam, mam następujący problem:
Po wpisaniu komendy /klan, wywala plugin tam gdzie ma być użyta komenda /klan 

L 01/03/2024 - 21:36:15: [AMXX] Run time error 10: native error (native "klanymenu")
L 01/03/2024 - 21:36:15: [AMXX]    [0] paintballcore.sma::cmdSay (line 2017)

W pluginie gdzie natyw jest zarejestrowany plugin_natives jest tak zrobiony

public plugin_natives() {
       register_native("klanymenu", "Cmd_Klan", 1);
}

Jest on dosłownie pod plugin_init.

W plugins ini, dawałem na samą góre, na sam dół i nic sie nie zmieniło, debuga ma też.

Natomiast w pluginie gdzie jest system komend, nad cmdSayem dałem taką komende

native klanymenu(id);
public cmdSay(id){
.... tu dalsza czesc kodu jest
if (equal(szMessage, "/klan",5)){
	klanymenu(id);
	return PLUGIN_HANDLED;
}

Próbowałem komende native klanymenu(id) dawać w pliku .inc, lecz to nic nie zmieniło.

Zrobiłem również sam czysty plugin z tym natywem i zadziałało, ale nie wiem dlaczego w tym pluginie na klany mi to blokuje.

Musze tak czy siak zrobić natywy, bo nie uruchomie tej komendy, bo nie działają register_clcmd w innych pluginach niz w silniku xD i jeszcze natywy na monety z modu.
Próbowałem użyć innego pluginu na klany, lecz to nic nie pomogło i dalej był ten sam błąd.

Załączam więc kod źródłowy pluginu na klany, bo raczej coś blokuje w tym pluginie, ale nie wiem co.

 

Problem z zapisem fVault

29.11.2023 23:04

Dzień dobry, chciałem zrobić plugin na misje ale mam dziwny problem.

Fragment kodu z systemu misji

https://pastebin.com/VYGeyerM

 

No i dziwne jest to ze jak uzywam w pokazywaniu postepu samej zmiennej "rundyM" to mi pokazuje postęp, ale jak pokazuje juz z [id] to nie pokazuje, nie moge usunac [id] w zmiennej w zapisie bo po prostu chyba nie da sie. I rowniez nie zapisuje fvault tego.

 

Kod zapisu postepu misji:

 
Kod z client connect i client disconnect:
https://pastebin.com/4QLehq1a
 
sory ze na pastebinie ale tutaj źle mi się jakoś kod wkleja i trzeba za dużo poprawiać
 
amxx: 1.8.3