Szerző Téma: Jármü mentése?  (Megtekintve 1230 alkalommal)

Jármü mentése?
« Dátum: 2014. Október 28. - 18:49:58 »
0
Le tudná valaki irni,hogy hogyan lehet azt megcsinálni,hogy szimplán menteni lehessen a jármüveket dini-vel?Ugy gondoltam,hogy például egy játékos beül egy jármübe,elmegy valahová majd kiszál,akkor mentse ot le az adatait a jármünek,és szerver inditásakor töltse be,tehát amikor belépik akkor ott legyen a kocsi?Köszönöm elöre is!
« Utoljára szerkesztve: 2014. Október 28. - 19:12:13 írta Dfoglalo »

Jármü mentése?
« Válasz #1 Dátum: 2014. Október 28. - 20:50:35 »
0
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        // IDE MAJD KÉSŐBB JÖN CUCC
    }

 
És csinálj egy jarmuvek mappát, minden kocsiidre csináljon egy init és amikor
if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)

(EZ NEMUGYANAZ MINT AZ ELSŐ!!!) akkor xkoord ykoord zkoord és rotacio-val beleírja a járgány helyzetét.Amikor kocsiresi van betölti ezeket az ini-ket és kiolvassa a kocsik helyét belőle. Megszkriptelni lusta vagyok, remélem azért érthető volt :D
« Utoljára szerkesztve: 2014. Október 28. - 21:01:55 írta PeterBlue »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Jármü mentése?
« Válasz #2 Dátum: 2014. Október 28. - 21:03:22 »
0
Sokkal egyszerűbb OnPlayerExitVehicle alatt menteni.

Jármü mentése?
« Válasz #3 Dátum: 2014. Október 28. - 21:07:43 »
0
Mindig válasszuk a bonyolultabb utat, hogy megértsük az egyszerűt :D

Jármü mentése?
« Válasz #4 Dátum: 2014. Október 29. - 18:19:31 »
0
Kicsit bövebben lehetséges lenne-e,enyiböl nem nagyon értem,probálom értelmezni de nem megy :(

Jármü mentése?
« Válasz #5 Dátum: 2014. Október 29. - 18:35:06 »
0
Másik témában már írtam ilyen jellegű választ, de bemásolom ide is.
 

#include <a_samp>
#include <SII>
enum cInfo
{
        cModel,
        Float:cLocationx,
        Float:cLocationy,
        Float:cLocationz,
        Float:cAngle,
        cColorOne,
        cColorTwo,
        cRendszam[MAX_PLAYER_NAME],
        cKerek,
        cPaintjob,
        cKinezet1,
        cKinezet2,
        cKinezet3,
        cKinezet4,
        cKinezet5,
        cKinezet6,
        cKinezet7,
        cKinezet8,
        cKinezet9,
        cKinezet10,
        cNitro,
        cHidraulika,
};
new CarInfo[MAX_VEHICLES][cInfo];
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
{
new Float:x,Float:y,Float:z;
                new Float:a;
                new carid;
                carid = GetPlayerVehicleID(playerid);
                GetVehiclePos(carid, x, y, z);
                GetPlayerFacingAngle(playerid, a);
                GetVehicleZAngle(carid, a);
                CarInfo[carid][cLocationx] = x;
                CarInfo[carid][cLocationy] = y;
                CarInfo[carid][cLocationz] = z;
                CarInfo[carid][cAngle] = a;
                SaveCarCoords();
return 1;
}
return 0;
}
stock SaveCarCoords()
{
    for(new idx = 200; idx < sizeof(CarInfo); idx++)
    {
                new iStr[30];
                format(iStr, sizeof(iStr), \"autok/%d.ini\", idx);
                if(INI_Open(iStr))
                {
                    INI_WriteInt(\"Model\", CarInfo[idx][cModel]);
                    INI_WriteFloat(\"Locationx\", CarInfo[idx][cLocationx]);
                    INI_WriteFloat(\"Locationy\", CarInfo[idx][cLocationy]);
                        INI_WriteFloat(\"Locationz\", CarInfo[idx][cLocationz]);
                        INI_WriteFloat(\"Angle\", CarInfo[idx][cAngle]);
                    INI_WriteInt(\"ColorOne\", CarInfo[idx][cColorOne]);
                    INI_WriteInt(\"ColorTwo\", CarInfo[idx][cColorTwo]);
                    INI_WriteString(\"Rendszam\", CarInfo[idx][cRendszam]);
                    INI_WriteInt(\"Kerek\", CarInfo[idx][cKerek]);
                    INI_WriteInt(\"Paintjob\", CarInfo[idx][cPaintjob]);
                    INI_WriteInt(\"Kinezet1\", CarInfo[idx][cKinezet1]);
                    INI_WriteInt(\"Kinezet2\", CarInfo[idx][cKinezet2]);
                    INI_WriteInt(\"Kinezet3\", CarInfo[idx][cKinezet3]);
                    INI_WriteInt(\"Kinezet4\", CarInfo[idx][cKinezet4]);
                    INI_WriteInt(\"Kinezet5\", CarInfo[idx][cKinezet5]);
                    INI_WriteInt(\"Kinezet6\", CarInfo[idx][cKinezet6]);
                    INI_WriteInt(\"Kinezet7\", CarInfo[idx][cKinezet7]);
                    INI_WriteInt(\"Kinezet8\", CarInfo[idx][cKinezet8]);
                    INI_WriteInt(\"Kinezet9\", CarInfo[idx][cKinezet9]);
                    INI_WriteInt(\"Kinezet10\", CarInfo[idx][cKinezet10]);
                    INI_WriteInt(\"Nitro\", CarInfo[idx][cNitro]);
                    INI_WriteInt(\"Hidraulika\", CarInfo[idx][cHidraulika]);
                    INI_Save();
                    INI_Close();
                }
        }
        return 1;
}

 
 
Szerintem jól írtam, de a nagyrészét a másik kommentemből emeltem ki, lehetnek benne hibák.       

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Jármü mentése?
« Válasz #6 Dátum: 2014. Október 29. - 18:47:05 »
0
[gmod]Az egy dolog, ha használod a keresőt és bemásolod, hogy próbáld meg ezt. De az már elfogadhatatlan, hogy azt állítod, te írtad, miközben lemásoltad.[/gmod]

Jármü mentése?
« Válasz #7 Dátum: 2014. Október 29. - 21:18:48 »
0
Nem értem a problémádat, mindkettő kommentet én írtam.

Jármü mentése?
« Válasz #8 Dátum: 2014. November 08. - 09:51:29 »
0
Lehet hogy te írtad deee..
http://sampforum.hu/index.php?topic=26677.0
Szóval..
Amúgy a betöltés részt is kérte. Bár annyira nem szólok bele.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal