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, " 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, " 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").

