Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Elvedin_Wayne poslato Avgust 03, 2017, 16:23:11 POSLE PODNE

Naslov: Kreiranje IG !
Poruka od: Elvedin_Wayne poslato Avgust 03, 2017, 16:23:11 POSLE PODNE
Skripta koju koristim: Edit ATH
Detaljan opis problema: Pozdrav momci , ovako imam jedan problem sa kojim muku mučim već par dana ali nikako da ga riješim naime rječ je o editu Athlone moda...
Ovako kreiram npr kontejner(ili bilo koji objekat etc. atm, radar...) i sada kada završim pozicioniranje (editovanje) objekta , stvori(kreira) mi se u njemu i zadnji graffit (tag) koji sam predhodno kreirao , evo dio dole ispod
Dio skripte:
[pawn]OnPlayerEditDynamicObject // To je kada se završi editovanje objekta odnosno pritisne save ikonica..[/pawn]


Evo sada vam nastavak skripte

[pawn]public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
new Float:oldX, Float:oldY, Float:oldZ,
  Float:oldRotX, Float:oldRotY, Float:oldRotZ;
GetObjectPos(objectid, oldX, oldY, oldZ);
GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);

if( response == EDIT_RESPONSE_FINAL )
{
            new tagid = TagPromena[ playerid ]; // ovo sam premjeÅ¡tao i gore i dole , al opet ista stvar ili se stvore errori .. :(
     if( ObjectEdition_TYPE[ playerid ] != 255 ) {
   new hid = inProperty[ playerid ];
      new i = ObjectEdition_TYPE[ playerid ];
   if( hid != -1 ) {
    Furniture[ hid ][ i ][ f_X ] = x;
       Furniture[ hid ][ i ][ f_Y ] = y;
       Furniture[ hid ][ i ][ f_Z ] = z;
       Furniture[ hid ][ i ][ f_rX ] = rx;
       Furniture[ hid ][ i ][ f_rY ] = ry;
       Furniture[ hid ][ i ][ f_rZ ] = rz;
       Furniture[ hid ][ i ][ f_VW ] = GetPlayerVirtualWorld( playerid );
       SCM( playerid, BECOLOR, "Namestaj sacuvan");
       DestroyDynamicObject( Furniture[ hid ][ i ][ f_Object ] );
       Furniture[ hid ][ i ][ f_Object ] = CreateDynamicObject( Furniture[ hid ][ i ][ f_Model ], Furniture[ hid ][ i ][ f_X ], Furniture[ hid ][ i ][ f_Y ], Furniture[ hid ][ i ][ f_Z ], Furniture[ hid ][ i ][ f_rX ], Furniture[ hid ][ i ][ f_rY ], Furniture[ hid ][ i ][ f_rZ ], II[ hid ][ iVW ], II[ hid ][ iInterior ], -1, 200.0 );
       SaveFurniture( hid ); ObjectEdition_TYPE[ playerid ] = 255;
       return 1;
   }
  }
  if( EditDGate[ playerid ] != -1 ) {
      new g = EditDGate[ playerid ];
     
      GateData[ g ][ gatePos ][ 0 ] = x;
   GateData[ g ][ gatePos ][ 1 ] = y;
   GateData[ g ][ gatePos ][ 2 ] = z;
   GateData[ g ][ gatePos ][ 3 ] = rx;
   GateData[ g ][ gatePos ][ 4 ] = ry;
   GateData[ g ][ gatePos ][ 5 ] = rz;
   
   Info( playerid, "Uspesno sacuvana pozicija zatvorene kapije.");
   SCM( playerid, BECOLOR, "Sada sacuvajte poziciju otvorene kapije.");
     
            EditDynamicObject( playerid, GateData[ g ][ gateObject ] );
   SaveGate( g ); EditDGate[ playerid ] = -1; EditDGateMove[ playerid ] = g;
      return 1;
  }
  if( EditDGateMove[ playerid ] != -1 ) {
      new g = EditDGateMove[ playerid ];

      GateData[ g ][ gateMove ][ 0 ] = x;
   GateData[ g ][ gateMove ][ 1 ] = y;
   GateData[ g ][ gateMove ][ 2 ] = z;
   GateData[ g ][ gateMove ][ 3 ] = rx;
   GateData[ g ][ gateMove ][ 4 ] = ry;
   GateData[ g ][ gateMove ][ 5 ] = rz;

   Info( playerid, "Uspesno sacuvana pozicija otvorene kapije.");
   SPD( playerid, dialog_CREATEGATE_2, DSI, D_NASLOV, "Unesite brzinu zatvaranja i otvaranja kapije( 0-20.0).", D_ODABERI, D_NAZAD );
      DestroyDynamicObject( GateData[ g ][ gateObject ] );
      GateData[ g ][ gateObject ] = CreateDynamicObject( GateData[ g ][ gateModel ], GateData[ g ][ gatePos ][ 0 ], GateData[ g ][ gatePos ][ 1 ], GateData[ g ][ gatePos ][ 2 ], GateData[ g ][ gatePos ][ 3 ], GateData[ g ][ gatePos ][ 4 ], GateData[ g ][ gatePos ][ 5 ], GateData[ g ][ gateWorld ], GateData[ g ][ gateInterior ] );
   
   SaveGate( g ); EditDGate[ playerid ] = g; EditDGateMove[ playerid ] = -1;
      return 1;
  }
//  new tagid = TagPromena[ playerid ];
    if( tagid != -1 ) {

     TagInfo[ tagid ][ tagPozX ] = x;
     TagInfo[ tagid ][ tagPozY ] = y;
     TagInfo[ tagid ][ tagPozZ ] = z;
     TagInfo[ tagid ][ tagRotX ] = rx;
     TagInfo[ tagid ][ tagRotY ] = ry;
     TagInfo[ tagid ][ tagRotZ ] = rz;
     DestroyDynamicObject( TagInfo[ tagid ][ tagObjekatID ] );
     KreirajTag( tagid ); SacuvajTag( tagid );
     SendClientMessageEx( playerid, -1, ""col_be"[BOpium]: "col_white"Uspesno ste promenili poziciju taga ID: %d  - Tag sacuvan!", tagid );
     return 1;
  }
  if( EditKontejnera[ playerid ] != -1 ) {
      new i = EditKontejnera[ playerid ];
      DestroyDynamicObject( KontInfo[ i ][ koObjID ] );

      KontInfo[ i ][ koObjPos ][ 0 ] = x;
      KontInfo[ i ][ koObjPos ][ 1 ] = y;
      KontInfo[ i ][ koObjPos ][ 2 ] = z;
      KontInfo[ i ][ koObjRot ][ 0 ] = rx;
      KontInfo[ i ][ koObjRot ][ 1 ] = ry;
      KontInfo[ i ][ koObjRot ][ 2 ] = rz;
   KontInfo[ i ][ koObjID ] = CreateDynamicObject(1345, x, y, z, rx, ry, rz);
   SacuvajKont( i );
   EditKontejnera[ playerid ] = -1;
   return 1;
  }[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno): Evo slike kako izgleda to kad mi se tag ( graffit ) stvori na mestu editovanja kontejnera http://prntscr.com/g3wkvf
Naslov: Odg: Kreiranje IG !
Poruka od: lucius poslato Avgust 03, 2017, 17:04:04 POSLE PODNE
Ako sam te razumeo stvori objekat i grafit na isto mesto. Kad kliknes save poziva se na sve sto ti je u skripti defini kad editujes objekat tipa editobj[playerid] = 1; i stavis proveru if(editobj[playerid] == 1) { da sacuva samo to tj da se pozove samo na to
Naslov: Odg: Kreiranje IG !
Poruka od: Elvedin_Wayne poslato Avgust 03, 2017, 17:05:48 POSLE PODNE
Nisam te razumeo baš , eto dao sam ti kodove pa vidi, gde treba da stavim proveru ?
Naslov: Odg: Kreiranje IG !
Poruka od: lucius poslato Avgust 03, 2017, 17:09:50 POSLE PODNE
Kod komande za editovanje postavi tipa editobj[playerid] = 1; kad se pozove cmd pa onda
[pawn]if( EditKontejnera[ playerid ] != -1 && editobj[playerid] == 1) {
      new i = EditKontejnera[ playerid ];
      DestroyDynamicObject( KontInfo[ i ][ koObjID ] );[/pawn]
Onda ce da se pozove samo na to. Dodaj globalno new editobj[MAX_PLAYERS]; i na connect editobj[playerid] = 0;
Naslov: Odg: Kreiranje IG !
Poruka od: Elvedin_Wayne poslato Avgust 03, 2017, 17:34:38 POSLE PODNE
Ništa , i dalje ista stvar se dešava :(
Naslov: Odg: Kreiranje IG !
Poruka od: Johhny_Carter poslato Avgust 03, 2017, 21:52:17 POSLE PODNE
Ako zelis da nauci da skriptas koristi UP mod lakse je za svatiti skriptu, a ATH mod ti bas ne preporucujem da koristis. Opet to je tvoj izbor. ;)