Skripta ne detektuje OnPlayerGiveDamageActor


Započeo V01D, Septembar 23, 2020, 10:14:53 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Skripta ne detektuje kada igrac upuca actora
Deo skripte:
new EnemyActor1;

public OnGameModeInit() {

	EnemyActor1 = CreateActor(287, X, Y, Z, Rot);
	SetActorInvulnerable(EnemyActor1, 0);

	return 1;
}

public OnPlayerGiveDamageActor(playerid, damaged_actorid, Float:amount, weaponid, bodypart) {

	if(damaged_actorid == EnemyActor1) {
		
		SendClientMessage(playerid, -1, "Upucao si actora!");
		return 1;
	}
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Nepotrebno
Slika/video ingame problema(obavezno ako je ingame problem): Nepotrebno
Poslednja Izmena: Septembar 23, 2020, 17:07:40 POSLE PODNE od V01D


Galardo

*

mgWhosyGD



Moraš mu dodati health vrijednost, kao i provjeru IsValidActor
You'll be always in my heart, the end and thanks for amazing times. #WeAreLords

Da li si ovo uzeo u obzir?


Takodje, da nisi slucajno kreirao dinamicnog aktora pa pokusavas dobiti rezultat preko default callbacka?
Those parts of the system that you can hit with a hammer (not advised) are called hardware; those program instructions that you can only curse at are called software

Nisam video da si sve to odradio u OGMI.

Ako koristis streamer onda bi problem mogao biti do toga tako da bi mozda bilo pametnije koristiti dinamicne aktore.
Koliko se secam verzije posle 2.9.2 su imale problem sa pozivanjem ovog callbacka iz nekog razloga.

Pokusaj isti taj kod pozvati u nekoj filterskripti koja ce se nadovezivati na mod.

Pokusaj da resinhronizujes aktore povremeno, resetaj im pozicije i apply-aj idle animaciju.

Mozda je cak bug do samp-a posto postoje tako odredjeni callbackovi koji se dosta redje koriste, a ne pozivaju se npr. u gamemode-u vec izricito moze iz fs-a ili uopste ne moze.
Those parts of the system that you can hit with a hammer (not advised) are called hardware; those program instructions that you can only curse at are called software

Vec sam sve to probao, nista ne pomaze, ne poziva se ni za dinamicne actore ( OnPlayerGiveDamageDynamicActor )


Upravo sam uradio benchmark i dobio sledece rezultate:

OnPlayerGiveDamageDynamicActor bez streamera: detektuje hit

OnPlayerGiveDamageDynamicActor  sa streamerom bez koriscenja funkcija iz streamera: detektuje hit

Takodje i callback za dinamicne aktore funkcionise.

Test je uradjen na Windows 10 operativnom sistemu uz streamer plugin 2.9.4 na blank skripti tj. samo delovima koje si ti dao u prvom postu.

Ono sto bih ja pokusao jeste: skinuti nove server fajlove, samp i pawn stdlib update, streamer update ako vec nije, proveriti da li su VCRT-ovi update-ani i korektni.
Those parts of the system that you can hit with a hammer (not advised) are called hardware; those program instructions that you can only curse at are called software

Fixano, trebao sam
return 1;
na kraju svake provere za actora posto sam imao vise, glupi ja :'(