Szerző Téma: AttachObjectToVehicle leszedése  (Megtekintve 681 alkalommal)

AttachObjectToVehicle leszedése
« Dátum: 2012. november 27. - 15:34:37 »
0 Show voters
Üdv, az volna a gondom, hogy nem szedi le a felrakott objectet...   :no:  Mi lehet a baj?
Köszönöm szépen!
 
CMD:felrak1(playerid, params[])
{
new object1 = CreateObject(19410, 0, 0, -1000, 0, 0, 0, 100);
AttachObjectToVehicle(object1, GetPlayerVehicleID(playerid), 0.009998, -3.140001, 1.550000, 0.000000, 0.000000, 0.000000);
return 1;
}
CMD:leszed1(playerid, params[])
{
DestroyObject(19410);
return 1;
}

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
AttachObjectToVehicle leszedése
« Válasz #1 Dátum: 2012. november 27. - 15:38:09 »
0 Show voters
CMD:felrak1(playerid, params[])
{
new object1 = CreateObject(19410, 0, 0, -1000, 0, 0, 0, 100);
AttachObjectToVehicle(object1, GetPlayerVehicleID(playerid), 0.009998, -3.140001, 1.550000, 0.000000, 0.000000, 0.000000);
return 1;
}
CMD:leszed1(playerid, params[])
{
        new object1 = CreateObject(19410, 0, 0, -1000, 0, 0, 0, 100);
DestroyObject(object1);
return 1;
}

 
Probáld meg így hátha jó :D :)
« Utoljára szerkesztve: 2012. november 27. - 17:23:15 írta ZyZu »

AttachObjectToVehicle leszedése
« Válasz #2 Dátum: 2012. november 27. - 17:09:14 »
0 Show voters
SE.   :-[
Egyébként amit írtál, az így lenne helyes:
 
CMD:leszed1(playerid, params[])
{
    new object1 = CreateObject(19410, 0, 0, -1000, 0, 0, 0, 100);
DestroyObject(object1);
return 1;
}

 
De mivel nem mûködik, így ez is felejtõs...

AttachObjectToVehicle leszedése
« Válasz #3 Dátum: 2012. november 27. - 18:01:45 »
+1 Show voters
Ne hülyéskedjetek már.
Létrehoztok egy objectet aminek az azonosító számát tároljátok egy lokál változóban, majd azt akarjátok törölni?
 

new object1;
CMD:felrak1(playerid, params[])
{
object1 = CreateObject(19410, 0, 0, -1000, 0, 0, 0, 100);
AttachObjectToVehicle(object1, GetPlayerVehicleID(playerid), 0.009998, -3.140001, 1.550000, 0.000000, 0.000000, 0.000000);
return 1;
}
CMD:leszed1(playerid, params[])
{
DestroyObject(object1);
return 1;
}

 
Így már mûködõképes, viszont több hátránya is van.
Ha kétszer írja be valaki a felrak1 parancsot akkor a legelsõ objectet nem tudja törölni.
Ugyanez a helyzet akkor is, ha másik játékos is használja a felrak1 parancsot, akkor még az is elõfordulhat hogy más játékos törli az objectet szintén egy másik játékosnak.
 
   new object1[MAX_PLAYERS];
CMD:felrak1(playerid, params[])
{
object1[playerid] = CreateObject(19410, 0, 0, -1000, 0, 0, 0, 100);
AttachObjectToVehicle(object1[playerid], GetPlayerVehicleID(playerid), 0.009998, -3.140001, 1.550000, 0.000000, 0.000000, 0.000000);
return 1;
}
CMD:leszed1(playerid, params[])
{
DestroyObject(object1[playerid]);
return 1;
}

 
Így már minden játékosnak lehet saját object a jármûvén és csak is a sajátját tudja törölni.
Viszont szintén ha kétszer használja a felrak1 parancsot akkor a legelsõt nem tudja törölni, tehát tovább kell bõvíteni a dolgot, vagy több object azonosító számot tárolni játékosonként, vagy letiltani a parancs használatát ha már egyszer használta. Persze oda kell figyelni arra is ha kilép a szerverrõl akkor az általa létrehozott object törlésre is kerüljön ha a játékos ezt nem teszi meg.
 :)


Edit: Javítva.
« Utoljára szerkesztve: 2012. november 27. - 23:59:43 írta ɐʞzssǝlosz »

AttachObjectToVehicle leszedése
« Válasz #4 Dátum: 2012. november 27. - 20:02:43 »
0 Show voters
Rendben köszi, mûködik ;)
Itt kihagytad a [playerid] -t:
 
AttachObjectToVehicle(object1[playerid], GetPlayerVehicleID(playerid), 0.009998, -3.140001, 1.550000, 0.000000, 0.000000, 0.000000);

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal