Problem(error/warning): Skripta ne detektuje kada igrac upuca actora
Deo skripte: [pawn]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;
}
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Nepotrebno
Slika/video ingame problema(obavezno ako je ingame problem): Nepotrebno
https://wiki.sa-mp.com/wiki/OnPlayerGiveDamageActor
Javi mi se večeras na fb pa ću ti reći.
Mozete li biti malo specificniji??
Moraš mu dodati health vrijednost, kao i provjeru IsValidActor
Da li si ovo uzeo u obzir?
(https://i.imgur.com/aZVDmf4.png)
Takodje, da nisi slucajno kreirao dinamicnog aktora pa pokusavas dobiti rezultat preko default callbacka?
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.
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.
Fixano, trebao sam [pawn]return 1;[/pawn] na kraju svake provere za actora posto sam imao vise, glupi ja :'(