OnPlayerGiveDamageActor ne funkcionira


Započeo mmlinaric, Novembar 29, 2019, 16:06:45 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): OnPlayerGiveDamageActor ne radi uopce
Dio skripte:
public OnPlayerGiveDamageActor(playerid, damaged_actorid, Float: amount, weaponid, bodypart)
{
	print("aktor upucan");
	for(new gZone__ID; gZone__ID < sizeof(gZoneInfo); gZone__ID++) {
	    if(damaged_actorid == gZoneInfo[ gZone__ID ][ gZoneActor ][ 0 ] && gZoneInfo[ gZone__ID ][ ActorAlive ][ 0 ] ||
		   damaged_actorid == gZoneInfo[ gZone__ID ][ gZoneActor ][ 1 ] && gZoneInfo[ gZone__ID ][ ActorAlive ][ 1 ] ||
		   damaged_actorid == gZoneInfo[ gZone__ID ][ gZoneActor ][ 2 ] && gZoneInfo[ gZone__ID ][ ActorAlive ][ 2 ])
		{
		    if( PlayerInfo[ playerid ][ xZauzimanjeVreme ] != 0 || !gZoneInfo[ gZone__ID ][ gZoneTakeable ]
			||  PlayerInfo[ playerid ][ xClan ] == gZoneInfo[ gZone__ID ][ gZoneGangID ]
			||  gZoneInfo[ gZone__ID ][ gZoneTime ] != 0
			||  (GetFactionType( playerid ) == ORG_TIP_BANDA && GetFactionType( playerid ) == ORG_TIP_MAFIJA)) return 1;
			//Animacije dodaj u if-ove.
			if(damaged_actorid == gZoneInfo[ gZone__ID ][ gZoneActor ][ 0 ]) {
				gZoneInfo[ gZone__ID ][ ActorAlive ][ 0 ] = false;
		  		SCM( playerid, NARACRVENA, "Srusio si jednog od cuvara teritorija, srusi ih sve da zapocnes zauzimanje." );
                ApplyActorAnimation(gZoneActor, "SMOKING", "M_smklean_loop", 4.1, 1, 0, 0, 0, 0);
			}
			else if(damaged_actorid == gZoneInfo[ gZone__ID ][ gZoneActor ][ 1 ]) {
				gZoneInfo[ gZone__ID ][ ActorAlive ][ 1 ] = false;
				SCM( playerid, NARACRVENA, "Srusio si jednog od cuvara teritorija, srusi ih sve da zapocnes zauzimanje." );
                ApplyActorAnimation(gZoneActor, "SMOKING", "M_smklean_loop", 4.1, 1, 0, 0, 0, 0);
			}
			else if(damaged_actorid == gZoneInfo[ gZone__ID ][ gZoneActor ][ 2 ]) {
				gZoneInfo[ gZone__ID ][ ActorAlive ][ 2 ] = false;
				SCM( playerid, NARACRVENA, "Srusio si jednog od cuvara teritorija, srusi ih sve da zapocnes zauzimanje." );
                ApplyActorAnimation(gZoneActor, "SMOKING", "M_smklean_loop", 4.1, 1, 0, 0, 0, 0);
			}
			if(!gZoneInfo[ gZone__ID ][ ActorAlive ][ 0 ]
			&& !gZoneInfo[ gZone__ID ][ ActorAlive ][ 1 ]
			&& !gZoneInfo[ gZone__ID ][ ActorAlive ][ 2 ])
			{
				new Orga = 0, Protiv = 0, hour, minute, seconds;
				gettimeEx( hour, minute, seconds );
				FixHour( hour );
				hour = shifthour;
				foreach( Player, i ) {

				    if( gZoneInfo[ gZone__ID ][ gZoneGangID ] != -1 ) {
						if( PlayerInfo[ i ][ xClan ] == gZoneInfo[ gZone__ID ][ gZoneGangID ] ) Protiv++;
					}
			 	    if( PlayerInfo[ i ][ xClan ] == PlayerInfo[ playerid ][ xClan ] ) Orga++;
				}
			    if( weaponid >= 22 && weaponid <= 40) {
			        if( ( hour >= 09 ) && ( hour <= 23 ) ) {
					    if( gZoneInfo[ gZone__ID ][ gZoneGangID ] != -1 ) {

			                OrgPoruka( gZoneInfo[ gZone__ID ][ gZoneGangID ], 0x95b4a2FF, "[TERITORIJA] Druga banda pokusava da zauzme vasu teritoriju." );
						}
						new stringic[ 24 ];
			            format( stringic, sizeof( stringic ), "0x%s99", org_info[ PlayerInfo[ playerid ][ xClan ] ][ oColor ] );
						GangZoneFlashForAll( gZoneInfo[ gZone__ID ][ gZoneID ], HexToInt( stringic ) );
						SCM( playerid, NARACRVENA, "SRUSIO SI SVE CUVARE, ZAUZIMANJE ZAPOCETO." );
						SCM( playerid, NARACRVENA, "Moras ostati ziv sledecih 5 minuta kako bi je osvojio." );
						SCM( playerid, NARACRVENA, "Ne smes se previse udaljiti od mesta zauzimanja, jer ce zauzimanje biti prekinuto.");
						gZoneInfo[ gZone__ID ][ gZoneTime ] = 30;
						gZone_gID[ playerid ] = gZone__ID;
						gZone_Time[ playerid ] = 300;
						gZone_Timer[ playerid ] = SetTimerEx( "ZonaZauzmi", 1000, true, "i", playerid );
						PlayerInfo[ playerid ][ xZauzimanjeVreme ] = 30;
						OrgPoruka( PlayerInfo[ playerid ][ xClan ], 0x95b4a2FF, "[TERITORIJA] Clan vase organizacije pokusava da zauzme tudju teritoriju." );
					}
				}
			}
		}
	}
    return true;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): /
Slika/video ingame problema(obavezno ako je ingame problem): /

znaci, nisam radio ovaj sistem tako da nisam nesto ni upucen sto ne radi i sl..
radi se o tome kada covjek upuca sva 3 aktora na zoni  (ta 3 aktora se kreiraju in game sa zonama), trebalo bi se pokrenut zauzimanje. aktori se stvore na svakoj zoni ali kad ih probam upucat ne radi sistem (niti se u consoli ispise ono "aktor upucan").

Haha, vjerovao ili ne ja sam ga radio, to je moj kod u callbacku, sad nisam siguran dal sam to radio za tebe ili je taj mod došao tebi u ruke, ali znam i naravno primjetim po pisanju koda, inače kad sam ja testirao sve je okej radilo haha

Riješenje kod pozivanja callbacka je da skineš actoru invulnerable (vjerovatno je na true), a budući da sistem radi da se aktor rani, a ne ubije, umjesto toga koristi SetActorHealth.
https://wiki.sa-mp.com/wiki/SetActorHealth
Poslednja Izmena: Novembar 29, 2019, 17:47:57 POSLE PODNE od Slade

Citat: Slade poslato Novembar 29, 2019, 17:46:42 POSLE PODNE
Haha, vjerovao ili ne ja sam ga radio, to je moj kod u callbacku, sad nisam siguran dal sam to radio za tebe ili je taj mod došao tebi u ruke, ali znam i naravno primjetim po pisanju koda, inače kad sam ja testirao sve je okej radilo haha

Riješenje kod pozivanja callbacka je da skineš actoru invulnerable (vjerovatno je na true), a budući da sistem radi da se aktor rani, a ne ubije, umjesto toga koristi SetActorHealth.
https://wiki.sa-mp.com/wiki/SetActorHealth
@Slade da pricao mi je miki da si ti radio taj sistem, ja sam kupio enwhile poslje :)
fora je sto je SetActorInvulnerable vec na false. to sam prvo i provjerio

Citat: Slade poslato Novembar 29, 2019, 17:46:42 POSLE PODNE
Haha, vjerovao ili ne ja sam ga radio, to je moj kod u callbacku, sad nisam siguran dal sam to radio za tebe ili je taj mod došao tebi u ruke, ali znam i naravno primjetim po pisanju koda, inače kad sam ja testirao sve je okej radilo haha

Riješenje kod pozivanja callbacka je da skineš actoru invulnerable (vjerovatno je na true), a budući da sistem radi da se aktor rani, a ne ubije, umjesto toga koristi SetActorHealth.
https://wiki.sa-mp.com/wiki/SetActorHealth

A i ovo je tvoj nacin ist ko na Gheto xD
skazy42O

Reborn - Developer & Owner
- www.reborn-ogc.com

https://github.com/samp-incognito/samp-streamer-plugin/wiki/Natives-(Actors)

https://github.com/samp-incognito/samp-streamer-plugin/wiki/Callbacks

Probaj prebaciti u Dynamic, i možda kreiraš dynamic actora pa koristi callback od gore

I nemoj koristiti SCM ( Sečem Curi Muda ) jebem ti sunce


Sirah says
Chillin' in Kyoto grand with my man Skrill
Chain smokin' nicotine sayin' fuck a fast deal
We got that white girl so we make those skrill checks
Fuck a white girl, talk ill, neck karate chop her grill, bitch I kill
Born from the center of a storm
All these boys flappin' gums about how they're hard, bitch I'm harder
Martyr to the swag on the corner
Beat your girl with the drums as the bass makes that bitch cum
Bass makes that bitch cum




Laughin' at the world.


Pošalji gdje kreiraš aktora, takodjer izvodivo je i na drugi način, key fire u kombinaciji sa aktorom kojeg nišani, ali budući da je to loš način, samo u slučaju nužde