Szerző Téma: Object lerakás egy kocsi környékére  (Megtekintve 1616 alkalommal)

Object lerakás egy kocsi környékére
« Dátum: 2015. Augusztus 12. - 03:02:52 »
0 Show voters
Sziasztok, ha szeretnék a /obi paranccsal lerakni egy objectet a kocsimnak a trailerének a hátuljára azt, hogy bírom megoldani?
Esedékesen ki bírom mérni attachoz, de a létrehozást oda már nem tudom :(
Valaki valamit?

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Object lerakás egy kocsi környékére
« Válasz #1 Dátum: 2015. Augusztus 12. - 06:39:59 »
0 Show voters
nem biztos, hogy jó, de ha lekérdezed a trailered id-jét, azt használhatod vehicleid-nek. vagyis.
 

//valahol a kódodban....
new objectid = CreateObject(...);
new vehicleid = GetPlayerVehicleID(playerid);
if(IsTrailerAttachedToVehicle(vehicleid))
{
    new trailerid = GetVehicleTrailer(vehicleid);
    AttachObjectToVehicle(objectid, vehicleid, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
}

 
a koordinátákat meg  úgy alakítod, ahogy akarod.
csak figyelj oda, hogy az attachobjecteknél a koordináták változásának a mértéke minimális. egy autónál kb 3-4 egységnél nagyobb már lelóg a kocsiról.
https://wiki.sa-mp.com/wiki/AttachObjectToVehicle
« Utoljára szerkesztve: 2015. Augusztus 12. - 06:43:08 írta JustaCube »

Object lerakás egy kocsi környékére
« Válasz #2 Dátum: 2015. Augusztus 12. - 13:40:52 »
0 Show voters
Nekem nem az attach kell.
Hanem az, hogy \"a pótkocsi mögé a földre rakjon objectet\"
Mert az attach azt tudom, de viszont ezt a földre rakást nem S:

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Object lerakás egy kocsi környékére
« Válasz #3 Dátum: 2015. Augusztus 12. - 14:31:46 »
0 Show voters
és ha csatolsz egy láthatatlan objectet a trailer végére, és annak a koordinátáira rakod le? :D
mindjárt megpróbálom ezt scriptben megvalósítani :D

Object lerakás egy kocsi környékére
« Válasz #4 Dátum: 2015. Augusztus 12. - 14:35:14 »
0 Show voters
Nem lenne egyszerűbb lekérni a pótkocsit és ahhoz mérni koordinátát?

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Object lerakás egy kocsi környékére
« Válasz #5 Dátum: 2015. Augusztus 12. - 14:59:55 »
0 Show voters
nem, mert nem fogod tudni megállapítani, hogy hol a hátulja.
de eddig megvan. csak nem hozza létre az objectet a csatolt object helyén. hátha valaki hamarabb rájön, miért. :D
 

#include <a_samp>
#include <streamer>
#include <zcmd>
CMD:parancs(playerid, params[])
{
    new aobjectid = CreateObject(915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    new Float:X, Float:Y, Float:Z;
new vehicleid = GetPlayerVehicleID(playerid);
if(IsTrailerAttachedToVehicle(vehicleid))
{
    new trailerid = GetVehicleTrailer(vehicleid);
    AttachObjectToVehicle(aobjectid, trailerid, 0.0, -6.0, -1.0, 0.0, 0.0, 0.0);
    GetObjectPos(aobjectid, X, Y, Z);
    CreateDynamicObject(1, X, Y, Z, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, -1, \"Object fent.\");
new string[256];
format(string, sizeof(string), \"%d\", trailerid);
SendClientMessage(playerid, -1, string);
}
return 1;
}

 
ha meg elkészül, csak ki kell cserélni a csatolt objectet 4524-re
« Utoljára szerkesztve: 2015. Augusztus 12. - 15:04:39 írta JustaCube »

Object lerakás egy kocsi környékére
« Válasz #6 Dátum: 2015. Augusztus 12. - 15:46:24 »
0 Show voters
Idézetet írta: JustaCube date=1439384395\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"56979\" data-ipsquote-contentclass=\"forums_Topic
nem, mert nem fogod tudni megállapítani, hogy hol a hátulja.
de eddig megvan. csak nem hozza létre az objectet a csatolt object helyén. hátha valaki hamarabb rájön, miért. :D
 

#include <a_samp>
#include <streamer>
#include <zcmd>
CMD:parancs(playerid, params[])
{
    new aobjectid = CreateObject(915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    new Float:X, Float:Y, Float:Z;
new vehicleid = GetPlayerVehicleID(playerid);
if(IsTrailerAttachedToVehicle(vehicleid))
{
    new trailerid = GetVehicleTrailer(vehicleid);
    AttachObjectToVehicle(aobjectid, trailerid, 0.0, -6.0, -1.0, 0.0, 0.0, 0.0);
    GetObjectPos(aobjectid, X, Y, Z);
    CreateDynamicObject(1, X, Y, Z, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, -1, \"Object fent.\");
new string[256];
format(string, sizeof(string), \"%d\", trailerid);
SendClientMessage(playerid, -1, string);
}
return 1;
}

 
ha meg elkészül, csak ki kell cserélni a csatolt objectet 4524-re
 
Miért nem vonod le a kocsi pozíciójából az offseteket?És akkor ott létrehozhatnád az objectet..

Object lerakás egy kocsi környékére
« Válasz #7 Dátum: 2015. Augusztus 12. - 16:27:33 »
0 Show voters
Attacholni attachol, de létrehozni meg eltüntetni az attachot nem csinálja..

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Object lerakás egy kocsi környékére
« Válasz #8 Dátum: 2015. Augusztus 12. - 17:11:15 »
0 Show voters
közben olvastam, hogy a samp nem tudja lekérdezni az attacholt object helyét, a létrehozás helyét jelzi csak. szóval másképp kell megoldani.

Object lerakás egy kocsi környékére
« Válasz #9 Dátum: 2015. Augusztus 12. - 18:20:03 »
0 Show voters
Akkor, hogy valósítsam meg? Mert nagyon kellene :(
« Utoljára szerkesztve: 2015. Augusztus 12. - 18:39:36 írta Jay[G] »

Object lerakás egy kocsi környékére
« Válasz #10 Dátum: 2015. Augusztus 12. - 21:49:36 »
0 Show voters
    #include <a_samp>
    #include <streamer>
    #include <zcmd>
    CMD:parancs(playerid, params[])
    {
        new Float:X = 0.0, Float:Y = -6.0, Float:Z = -1.0;
            new vehicleid = GetPlayerVehicleID(playerid);
            if(IsTrailerAttachedToVehicle(vehicleid))
            {
               new aobjectid = CreateObject(1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                new trailerid = GetVehicleTrailer(vehicleid);
                AttachObjectToVehicle(aobjectid, trailerid, X, Y, Z, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, -1, \"Object fent.\");
                    new string[256];
                    format(string, sizeof(string), \"%d\", trailerid);
                    SendClientMessage(playerid, -1, string);
            }
            return 1;
    }
« Utoljára szerkesztve: 2015. Augusztus 12. - 22:00:41 írta halaloszto100 »

Object lerakás egy kocsi környékére
« Válasz #11 Dátum: 2015. Augusztus 12. - 22:21:03 »
0 Show voters
Idézetet írta: halaloszto100 date=1439408976\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"56979\" data-ipsquote-contentclass=\"forums_Topic

    #include <a_samp>
    #include <streamer>
    #include <zcmd>
    CMD:parancs(playerid, params[])
    {
        new Float:X = 0.0, Float:Y = -6.0, Float:Z = -1.0;
            new vehicleid = GetPlayerVehicleID(playerid);
            if(IsTrailerAttachedToVehicle(vehicleid))
            {
               new aobjectid = CreateObject(1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                new trailerid = GetVehicleTrailer(vehicleid);
                AttachObjectToVehicle(aobjectid, trailerid, X, Y, Z, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, -1, \"Object fent.\");
                    new string[256];
                    format(string, sizeof(string), \"%d\", trailerid);
                    SendClientMessage(playerid, -1, string);
            }
            return 1;
    }

 

Nem attach kell, azt én is bírok csinálni meg ugyan ezt írták le előtted...
Nekem az kell hogy ahova a attacholnám ODA rakjon objectet NE attach ként...

Object lerakás egy kocsi környékére
« Válasz #12 Dátum: 2015. Augusztus 12. - 22:47:39 »
0 Show voters
\" post=\"555323\" timestamp=\"1439410863\"]

 
    #include <a_samp>
    #include <streamer>
    #include <zcmd>
    CMD:parancs(playerid, params[])
    {
        new Float:X = 0.0, Float:Y = -6.0, Float:Z = -1.0;
            new vehicleid = GetPlayerVehicleID(playerid);
            if(IsTrailerAttachedToVehicle(vehicleid))
            {
               new aobjectid = CreateObject(1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                new trailerid = GetVehicleTrailer(vehicleid);
                AttachObjectToVehicle(aobjectid, trailerid, X, Y, Z, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, -1, \"Object fent.\");
                    new string[256];
                    format(string, sizeof(string), \"%d\", trailerid);
                    SendClientMessage(playerid, -1, string);
            }
            return 1;
    }

 

[/quote]
Nem attach kell, azt én is bírok csinálni meg ugyan ezt írták le előtted...
Nekem az kell hogy ahova a attacholnám ODA rakjon objectet NE attach ként...
 
[/quote]
Én nem értem ezt az AttachObject dolgot mivel még ezzel nem volt dolgom, de gondolom, hogy lehet a járművön kívülre is mérni a koordinátákat, azaz a pótkocsi mögé.JustaCube is hasonlót írt, mint én mivel:
 
    #include <a_samp>
    #include <streamer>
    #include <zcmd>
    CMD:parancs(playerid, params[])
    {
        new aobjectid = CreateObject(915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); //miután beírod a parancsot létrehoz egy láthatatlan objectet 0.0 0.0 0.0 koordinátára
        new Float:X, Float:Y, Float:Z;
            new vehicleid = GetPlayerVehicleID(playerid);
            if(IsTrailerAttachedToVehicle(vehicleid))
            {
                new trailerid = GetVehicleTrailer(vehicleid);
                AttachObjectToVehicle(aobjectid, trailerid, 0.0, -6.0, -1.0, 0.0, 0.0, 0.0); //ha van pótkocsi akasztva a járművére, akkor az előbb létrehozott láthatatlan objectet rácsatolja a járműre a megadott koordinátán
                GetObjectPos(aobjectid, X, Y, Z); //Lekérné az object pozícióját, de ez a létrehozás helyét kérdezi le és nem a csatolás helyét, ezért a pozíció 0.0 0.0 0.0
                CreateDynamicObject(1, X, Y, Z, 0.0, 0.0, 0.0); //Itt létrehozna egy új objectet a csatolás helyén, de mivel nem lehet lekérdezni a csatolás helyét ezért létrehoz egy objectet 0.0 0.0 0.0 koordinátán
                SendClientMessage(playerid, -1, \"Object fent.\");
                    new string[256];
                    format(string, sizeof(string), \"%d\", trailerid);
                    SendClientMessage(playerid, -1, string);
            }
            return 1;
    }

 
Én viszont csak annyit csináltam, hogy 1 objectel dolgoztam és nem 2vel:
 
        #include <a_samp>
            #include <streamer>
            #include <zcmd>
            CMD:parancs(playerid, params[])
            {
                new Float:X = 0.0, Float:Y = -6.0, Float:Z = -1.0; //Én itt megadtam a csatolás helyét
                    new vehicleid = GetPlayerVehicleID(playerid);
                    if(IsTrailerAttachedToVehicle(vehicleid))
                    {
                        new aobjectid = CreateObject(1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); //ha van a játékos járművén pótkocsi akkor létrehoz egy objectet 0.0 0.0 0.0 koordinátán
                        new trailerid = GetVehicleTrailer(vehicleid);
                        AttachObjectToVehicle(aobjectid, trailerid, X, Y, Z, 0.0, 0.0, 0.0); //és itt hozzácsatolja a létrehozott objectet a fentebb megadott koordinátán
                        SendClientMessage(playerid, -1, \"Object fent.\");
                            new string[256];
                            format(string, sizeof(string), \"%d\", trailerid);
                            SendClientMessage(playerid, -1, string);
                    }
                    return 1;
            }

 
Tehát annyi dolgod lenne, hogy leméred az object pozícióját a pótkocsi mögé és beírod oda a koordinátákat ahova én megadtam a kódban.\"Szerintem\" így lehetne megoldani, de mégegyszer mondom lehet, hogy velem van a baj

Object lerakás egy kocsi környékére
« Válasz #13 Dátum: 2015. Augusztus 12. - 22:57:01 »
0 Show voters
Hah, az attacholás okés, de én nem attacholni akarom, nem értem miért akarod nagyon rám nyomni az attacholást, mikor nekem az kell, hogy a \"pótkocsi\" mögé rakja, ha kell egy attacholt kordináta akkor azt most ide bemásolom szépen. Ahova attacholna oda \"a földre\" külön álló objectet rakjon le ne a kocsihoz tartozzon. :(
 
-0.07780, -4.81020, -0.11240

Object lerakás egy kocsi környékére
« Válasz #14 Dátum: 2015. Augusztus 12. - 23:08:48 »
0 Show voters
\" post=\"555326\" timestamp=\"1439413021\"]
Hah, az attacholás okés, de én nem attacholni akarom, nem értem miért akarod nagyon rám nyomni az attacholást, mikor nekem az kell, hogy a \"pótkocsi\" mögé rakja, ha kell egy attacholt kordináta akkor azt most ide bemásolom szépen. Ahova attacholna oda \"a földre\" külön álló objectet rakjon le ne a kocsihoz tartozzon. :(
 
-0.07780, -4.81020, -0.11240

 

[/quote]
Én a legegyszerűbb módszert próbáltam vagy inkább próbáltuk megmutatni.Ha te külön álló objectet akarsz, akkor az egy kicsit komolyabb dolog, mivel akkor le kéne kérdezni a pótkocsi pozícióját és akkor kimérni valahogy a koordinátát és oda letenni az objectet.(Tudod, mint van/volt stunt/fun szervereken, hogy például megnyomod a 2-es billenyűt és akkor eléd lerak egy rámpát.)
Mert ha attacholva csináltad volna, akkor nem lett volna ennyire komplikált, mivel csak kiméred a csatolás helyét, beírod a kódba a koordinátákat és kész is van.)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal