Aktori


Započeo dazer, Novembar 15, 2018, 20:36:56 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Nije error/warning.. Problem je u tome sto imam sistem zona kao sto je bilo na SM, da se kreiraju aktori IG, i sada napravljeno je sve sve se kreira i kada se trebaju kreirat aktori kliknem ljevi klik i ne desi se nista..
Dio skripte:
if( CreatingGZone[ playerid ] == 1 ) {

		    new Float:Pos[ 3 ];
			GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );

	        CreatingPos[ playerid ][ 0 ] = Pos[ 0 ];
	        CreatingPos[ playerid ][ 1 ] = Pos[ 1 ];
            SendInfoMessage( playerid, "Koristi "col_server"LMB"col_white" da postavis pozicije. {0072FF}))" );
	        SendInfoMessage( playerid, "Sada sacuvaj poziciju desnog gornjeg ugla polja. {0072FF}))" );
	        CreatingGZone[ playerid ]++;
        }
        else if( CreatingGZone[ playerid ] == 2 ) {

            new Float:Pos[ 4 ];
            new id = CreatingGZoneID[ playerid ];

			if( id == -1 ) return SendErrorMessage( playerid, "Vec ima maksimalni broj gang zona. {FF0000}))" );

			GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
			GetPlayerFacingAngle( playerid, Pos[ 3 ] );

	        CreatingPos[ playerid ][ 2 ] = Pos[ 0 ];
	        CreatingPos[ playerid ][ 3 ] = Pos[ 1 ];
	        CreatingGZone[ playerid ]++;

            GZone_Reset( id );

            if( CreatingPos[ playerid ][ 0 ] > CreatingPos[ playerid ][ 2 ] ) {
			    gZoneInfo[ id ][ gZoneMaxX ] = CreatingPos[ playerid ][ 0 ];
				gZoneInfo[ id ][ gZoneMinX ] = CreatingPos[ playerid ][ 2 ];
			}
			else if( CreatingPos[ playerid ][ 2 ] > CreatingPos[ playerid ][ 0 ] ) {
			    gZoneInfo[ id ][ gZoneMaxX ] = CreatingPos[ playerid ][ 2 ];
				gZoneInfo[ id ][ gZoneMinX ] = CreatingPos[ playerid ][ 0 ];
			}

			if( CreatingPos[ playerid ][ 1 ] > CreatingPos[ playerid ][ 3 ] ) {
			    gZoneInfo[ id ][ gZoneMaxY ] = CreatingPos[ playerid ][ 1 ];
				gZoneInfo[ id ][ gZoneMinY ] = CreatingPos[ playerid ][ 3 ];
			}
			else if( CreatingPos[ playerid ][ 3 ] > CreatingPos[ playerid ][ 1 ] ) {
			    gZoneInfo[ id ][ gZoneMaxY ] = CreatingPos[ playerid ][ 3 ];
				gZoneInfo[ id ][ gZoneMinY ] = CreatingPos[ playerid ][ 1 ];
			}

            gZoneInfo[ id ][ gZoneID ] = GangZoneCreate( gZoneInfo[ id ][ gZoneMinX ], gZoneInfo[ id ][ gZoneMinY ], gZoneInfo[ id ][ gZoneMaxX ], gZoneInfo[ id ][ gZoneMaxY ] );
            
			gZoneInfo[ id ][ gZoneRectAngle ] = CreateDynamicRectangle( gZoneInfo[ id ][ gZoneMinX ], gZoneInfo[ id ][ gZoneMinY ], gZoneInfo[ id ][ gZoneMaxX ], gZoneInfo[ id ][ gZoneMaxY ], -1, -1, -1 );

            SendInfoMessage( playerid, "Koristi "col_server"LMB"col_white" da postavis pozicije. {0072FF}))" );
			SendInfoMessage( playerid, "Sada sacuvaj poziciju za pickup i text. {0072FF}))" );
        }
        else if( CreatingGZone[ playerid ] == 3 ) {

            new Float:Pos[ 3 ];

            GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );

            CreatingGZone[ playerid ]++;
            
            new id = IsCordsInGZone( CreatingGZoneID[ playerid ], Pos[ 0 ], Pos[ 1 ] );

		    if( id != CreatingGZoneID[ playerid ] ) return SendErrorMessage( playerid, "Moras sacuvati u zoni koju kreiras. {FF0000}))" );

            gZoneInfo[ id ][ gZonePickupPos ][ 0 ] = Pos[ 0 ];
            gZoneInfo[ id ][ gZonePickupPos ][ 1 ] = Pos[ 1 ];
            gZoneInfo[ id ][ gZonePickupPos ][ 2 ] = Pos[ 2 ];
            SPD( playerid, dialog_AKTOR_SKIN, DSI, "Aktori", "Unesite ID-ove skinova koje ce nositi aktori:\nMorate unijeti 3 ID-a.", "Unesi", "" );
		}
        else if( CreatingGZone[ playerid ] == 4 ) {

            new id = CreatingGZoneID[ playerid ];
			if( id == -1 ) return SendErrorMessage( playerid, "Vec ima maksimalni broj gang zona. {FF0000}))" );

			new Float:Pos[ 4 ];
			GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
			GetPlayerFacingAngle( playerid, Pos[ 3 ] );
			
			if(!IsValidActor(gZoneInfo[ id ][ gZoneActor ][ 0 ]) || ActorPos[ id ][ 0 ][ 0 ] == 0.00) {
			    GetPlayerPos(
					playerid,
					ActorPos[ id ][ 0 ][ 0 ],
					ActorPos[ id ][ 0 ][ 1 ],
					ActorPos[ id ][ 0 ][ 2 ]
				);
				GetPlayerFacingAngle( playerid, ActorPos[ id ][ 0 ][ 3 ] );
			    gZoneInfo[ id ][ gZoneActor ][ 0 ] = CreateActor( gZoneInfo[ id ][ gZoneActorSkins ][ 0 ],
					ActorPos[ id ][ 0 ][ 0 ],
					ActorPos[ id ][ 0 ][ 1 ],
					ActorPos[ id ][ 0 ][ 2 ],
					ActorPos[ id ][ 0 ][ 3 ]
				);
				gZoneInfo[ id ][ ActorAlive ][ 0 ] = true;
				SendInfoMessage( playerid, "Kreiran prvi aktor, preostala jos: 2. {0072FF}))" );
			}
			else if(!IsValidActor(gZoneInfo[ id ][ gZoneActor ][ 1 ]) || ActorPos[ id ][ 1 ][ 0 ] == 0.00) {
			    GetPlayerPos(
					playerid,
					ActorPos[ id ][ 1 ][ 0 ],
					ActorPos[ id ][ 1 ][ 1 ],
					ActorPos[ id ][ 1 ][ 2 ]
				);
				GetPlayerFacingAngle( playerid, ActorPos[ id ][ 1 ][ 3 ] );
			    gZoneInfo[ id ][ gZoneActor ][ 1 ] = CreateActor( gZoneInfo[ id ][ gZoneActorSkins ][ 1 ],
					ActorPos[ id ][ 1 ][ 0 ],
					ActorPos[ id ][ 1 ][ 1 ],
					ActorPos[ id ][ 1 ][ 2 ],
					ActorPos[ id ][ 1 ][ 3 ]
				);
				gZoneInfo[ id ][ ActorAlive ][ 1 ] = true;
				SendInfoMessage( playerid, "Kreiran drugi aktor, preostalo: 1. {0072FF}))" );
			}
			else if(!IsValidActor(gZoneInfo[ id ][ gZoneActor ][ 2 ]) || ActorPos[ id ][ 2 ][ 0 ] == 0.00) {
			    GetPlayerPos(
					playerid,
					ActorPos[ id ][ 2 ][ 0 ],
					ActorPos[ id ][ 2 ][ 1 ],
					ActorPos[ id ][ 2 ][ 2 ]
				);
				GetPlayerFacingAngle( playerid, ActorPos[ id ][ 2 ][ 3 ] );
			    gZoneInfo[ id ][ gZoneActor ][ 2 ] = CreateActor( gZoneInfo[ id ][ gZoneActorSkins ][ 2 ],
					ActorPos[ id ][ 2 ][ 0 ],
					ActorPos[ id ][ 2 ][ 1 ],
					ActorPos[ id ][ 2 ][ 2 ],
					ActorPos[ id ][ 2 ][ 3 ]
				);
				gZoneInfo[ id ][ ActorAlive ][ 2 ] = true;
				gZoneInfo[ id ][ gZoneTaken ] = false;
	            gZoneInfo[ id ][ gZoneTakeable ] = true;
	            gZoneInfo[ id ][ gZoneTime ] = 0;
				gZoneInfo[ id ][ gZonePickup ] = CreateDynamicPickup( 1313, 1, gZoneInfo[ id ][ gZonePickupPos ][ 0 ], gZoneInfo[ id ][ gZonePickupPos ][ 1 ], gZoneInfo[ id ][ gZonePickupPos ][ 2 ], 0, 0 );
				gZoneInfo[ id ][ gZone3D ] = CreateDynamic3DTextLabel( ""col_white"[ TERITORIJA ]\nTeritorija je "col_server"slobodna"col_green"\nMozete"col_white" pokrenuti zauzimanje teritorije", BELA, gZoneInfo[ id ][ gZonePickupPos ][ 0 ], gZoneInfo[ id ][ gZonePickupPos ][ 1 ], gZoneInfo[ id ][ gZonePickupPos ][ 2 ], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0 );
				new stringic[ 24 ];
				format( stringic, sizeof( stringic ), "0x%s66", gZoneInfo[ id ][ gZoneColor ] );
	            GangZoneShowForAll( gZoneInfo[ id ][ gZoneID ], HexToInt( stringic ) );
	            sql_create_gangzone( id );
	            CreatingGZone[ playerid ] = -1;
	            CreatingGZoneID[ playerid ] = -1;
	            SendInfoMessage( playerid, "Svi aktori kreirani. {0072FF}))" );
	            SendInfoMessage( playerid, "Uspjesno ste kreirali Gang Zonu. {0072FF}))" );
			}
        }
//TU JE DIALOG ZA SETANJE SKINOVA AKTORIMA
else if( dialogid == dialog_AKTOR_SKIN ) {
	    new skin[ 3 ];
	    if( sscanf( inputtext, "iii", skin[0],skin[1],skin[2] ) ) return SPD( playerid, dialog_AKTOR_SKIN, DSI, "Aktori", "Unesite ID-ove skinova koje ce nositi aktori:\nMorate unijeti 3 ID-a.", "Unesi", "" );
	    new id = CreatingGZoneID[ playerid ];
		if( id == -1 ) return SendErrorMessage( playerid, "Vec ima maksimalni broj gang zona. {FF0000}))" );
        CreatingGZone[ playerid ]++;
        gZoneInfo[ id ][ gZoneActorSkins ][0] = skin[0];
        gZoneInfo[ id ][ gZoneActorSkins ][1] = skin[1];
        gZoneInfo[ id ][ gZoneActorSkins ][2] = skin[2];
		SendInfoMessage( playerid, "Sada koristite "col_server"LMB"col_white" da postavite poziciju aktora. {0072FF}))" );
		SendInfoMessage( playerid, "Postoje 3 aktora, njima se seta vasa pozicija. {0072FF}))" );
	}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
//

Slika/video ingame problema(obavezno ako je ingame problem): KLIK

Jel imaa u on playerkeystatechange da ti kada stisnes levi klik kreira actora ?


I LOVE VODKA AND SLAV COUNTRY'S

Pa tu gore ti je dio skripte iz tog djela, naravno da ima, i prvih 3 "koraka" kreiranja rade ali kada se dodje do aktora ne


Jel si siguran da nema debugova ?

Citat: ShomY071 poslato Novembar 18, 2018, 18:58:00 POSLE PODNE
Jel si siguran da nema debugova ?
Naravno da jesam

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team

[12:22:26] 
[12:22:26] Server Plugins
[12:22:26] --------------
[12:22:26]  Loading plugin: sscanf.so
[12:22:26] 

[12:22:26]  ===============================

[12:22:26]       sscanf plugin loaded.     

[12:22:26]          Version:  2.8.2        

[12:22:26]    (c) 2012 Alex "Y_Less" Cole  

[12:22:26]  ===============================

[12:22:26]   Loaded.
[12:22:26]  Loading plugin: crashdetect.so
[12:22:26]   Failed (/usr/lib32/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by plugins/crashdetect.so))
[12:22:26]  Loading plugin: mysql_static.so
[12:22:26]  >> plugin.mysql: R39-5 successfully loaded.
[12:22:26]   Loaded.
[12:22:26]  Loading plugin: streamer.so
[12:22:26] 

*** Streamer Plugin v2.9.4 by Incognito loaded ***

[12:22:26]   Loaded.
[12:22:26]  Loading plugin: MapAndreas.so
[12:22:26]   Loaded.
[12:22:26]  Loading plugin: SKY.so
[12:22:26]   Loaded.
[12:22:26]  Loading plugin: pawnraknet.so
[12:22:26] Pawn.RakNet plugin v1.2.0 by urShadow loaded
[12:22:26]   Loaded.
[12:22:26]  Loading plugin: pawncmd.so
[12:22:26] Pawn.CMD plugin v3.1.2 by urShadow loaded
[12:22:26]   Loaded.
[12:22:26]  Loaded 7 plugins.

[12:22:26] 
[12:22:26] Filterscripts
[12:22:26] ---------------
[12:22:26]   Loading filterscript 'Laser.amx'...
[12:22:26]   Loaded 1 filterscripts.

[12:22:26]  
[12:22:26]  
[12:22:26]  
[12:22:26]  ======================================= 
[12:22:26]  |                                     | 
[12:22:26]  |        YSI version 3.09.0684        | 
[12:22:26]  |        By Alex "Y_Less" Cole        | 
[12:22:26]  |                                     | 
[12:22:26]  ======================================= 
[12:22:26]  
[12:22:26]  
[12:22:26]  
[12:22:26] Konekcija uspesna +++++++++++++++++++++++++++++
[12:22:27] ====================================================
> Enwhile Script Version v1.0
> Scripters: Miki & Slade
> Mappers: //
> Gamemode succesfully started for 517ms.
====================================================
[12:22:27] Number of vehicle models: 0
[12:22:48] [connection] +++++++++++++ requests connection cookie.
[12:22:49] [connection] incoming connection: ++++++++ id: 0
[12:22:49] [join] Miki has joined the server (0:++++++++)
[12:49:25] [part] Miki has left the server (0:1)

Probaj da ovamo dole pod CreatingZone == 4 (tj de kreiras aktore) stavis umesto ovog tvog GetPlayerPos-a obican - GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
I probaj da spojis sve u jednoj liniji, mada msm da nije do toga al ono, nista mi drugo ne pada na pamet
    gZoneInfo[ id ][ gZoneActor ][ 2 ] = CreateActor( gZoneInfo[ id ][ gZoneActorSkins ][ 2 ],
					ActorPos[ id ][ 2 ][ 0 ],
					ActorPos[ id ][ 2 ][ 1 ],
					ActorPos[ id ][ 2 ][ 2 ],
					ActorPos[ id ][ 2 ][ 3 ]
				);

Citat: ShomY071 poslato Novembar 18, 2018, 20:03:37 POSLE PODNE
Probaj da ovamo dole pod CreatingZone == 4 (tj de kreiras aktore) stavis umesto ovog tvog GetPlayerPos-a obican - GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
I probaj da spojis sve u jednoj liniji, mada msm da nije do toga al ono, nista mi drugo ne pada na pamet
    gZoneInfo[ id ][ gZoneActor ][ 2 ] = CreateActor( gZoneInfo[ id ][ gZoneActorSkins ][ 2 ],
					ActorPos[ id ][ 2 ][ 0 ],
					ActorPos[ id ][ 2 ][ 1 ],
					ActorPos[ id ][ 2 ][ 2 ],
					ActorPos[ id ][ 2 ][ 3 ]
				);

Nije do toga, sve je isto..