Enums und Savepositions - Wichtig!!

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • guten morgen ^^,


    eine frage zu den savepositions!


    ich habe für cars und player in meinem script enums gefunden für die infos:


    (mein scipt war schon fertig ich hab nur gefixxt und erweitert..)





    enum SavePlayerPosEnum
    {
    Float:LastX,
    Float:LastY,
    Float:LastZ
    }


    enum pInfo
    {
    pKey[128],
    pLevel,
    pAdmin,
    pSupporter,
    pDonateRank,
    gPupgrade,
    pConnectTime,
    pReg,
    pContractTime,
    pSex,
    pAge,
    pOrigin,
    pCK,
    pMuted,
    pExp,
    pCash,
    pAccount,
    pGWD,
    pCrimes,
    pKills,
    pDeaths,
    pArrested,
    pWantedDeaths,
    pPhoneBook,
    pLottoNr,
    pFishes,
    pBiggestFish,
    pJob,
    pHeadValue,
    pJailed,
    pJailTime,
    pMats,
    pDrugs,
    pLeader,
    pMember,
    pFMember,
    pRank,
    pChar,
    pDetSkill,
    pSexSkill,
    pBoxSkill,
    pLawSkill,
    pMechSkill,
    pJackSkill,
    pCarSkill,
    pNewsSkill,
    pDrugsSkill,
    pCookSkill,
    pFishSkill,
    Float:pHealth,
    Float:pSHealth,
    pInt,
    pLocal,
    pTeam,
    pModel,
    pPnumber,
    pPhousekey,
    pPbiskey,
    Float:pPos_x,
    Float:pPos_y,
    Float:pPos_z,
    pCarLic,
    pNewLic,
    pFlyLic,
    pBoatLic,
    pFishLic,
    pGunLic, //Definition des Scheines zb die Aufgabe später
    pLKWLic,
    pMotoLic,
    pZig,
    pZigSucht,
    pGun1,
    pGun2,
    pGun3,
    pGun4,
    pAmmo1,
    pAmmo2,
    pAmmo3,
    pAmmo4,
    pCarTime,
    pCDPlayer,
    pWins,
    pLoses,
    pAlcoholPerk,
    pDrugPerk,
    pMiserPerk,
    pPainPerk,
    pTraderPerk,
    pTut,
    pWarns,
    pAdjustable,
    pFuel,
    pMarried,
    pMarriedTo[128],
    pRoadblock,
    pPlayMinutes,
    pGesamtMinutes,
    pMinutesSinceLogin,
    pMinutesSinceAn,
    pSFPASS,
    pLVPASS,
    pHandyGeld,
    pHandyVer,
    pHartzIV,
    pHotel,
    pUhrID,
    pHandyID,
    pTot,
    Float:pTx,
    Float:pTy,
    Float:pTz,
    pOwnPerso,
    pOwnAntrag,
    pPersoStop,
    pFrakSperre,
    pPayCheck,
    pPayDay,
    pPayDayHad,
    Text:LetterboxTop,Text:LetterboxBottom2, Text:LetterboxBottom
    };
    new PlayerInfo[MAX_PLAYERS][pInfo];




    enum dtc_PlayerCar
    {
    CarId,
    CarOwner[MAX_PLAYER_NAME],
    CarModel,
    Float:CarPos_x,
    Float:CarPos_y,
    Float:CarPos_z,
    Float:CarRotate,
    CarNitro,
    CarHyd,
    CarWheel,
    CarAusp,
    CarSideL,
    CarSideR,
    CarFB,
    CarRB,
    CarSpoiler,
    CarRoof,
    CarHood,
    CarVents,
    CarLamps,
    CarPJ,
    CarC1,
    CarC2,
    CarPreis,
    };




    da werden die ganzen positionen gespeichert denke ich..


    welche funktionen muss ich denn einbauen damit die cars wieder dort spawnen wo man off gegangen ist und
    damit der player auch dort spawnt wo er off gegangen ist?


    hab leider keinen plan wie das geht :S






    und noch ne frage:
    wie kann ich aus enums ausleseN?
    weil ich hab nen peilsender erstellt und der ortet immer das car in dem der spieler sitzt anstatt
    das car das dem spieler gehört! :?:



    wenn ich aus den oberen enums auslesen könnte die carid und carOwner müsste es doch klappen oder nicht?



    if(strcmp(cmd,"/carfinder",true) == 0)
    {
    new vehid;
    new Float: cX, Float: cY, Float: cZ;
    vehid = GetPlayerVehicleID(carOwner);
    GetVehiclePos(vehid, cX, cY, cZ);
    SetPlayerMapIcon(playerid, 14, cX, cY, cZ, 55, COLOR_LIGHTRED);
    }
    else
    { }






    wär super wenn mir das jemand erklären könnte ..



    mfg :D

  • Du musst beim ausloggen die Coords speichern , wo das Auto, bzw der Player steht:
    Mit GetVehiclePos oder GetPlayerPos.
    Und wenn du dich dann einloggst muss er beim spawnen die Coords wieder laden.
    Aber zuerst solltest du etwas wie :
    new PlayerInfo[MAX_PLAYERS][pInfo];
    bei den anderen Enums reinmachen^^.


    Nehmen wir das Beispiel der Person und das du
    new LasCoords[MAX_PLAYERS][SavePlayerPosEnum];
    genommen hast.
    Dann machst du bei Spawn:
    SetPlayerPos(playerid, LasCoords[playerid][LastX], LasCoords[playerid][LastY], LasCoords[playerid][LastZ]);
    So müsste es gehen. Vorrausgesetzt du speicherst die vorher mit MySQL oder so;)


    //e: Scriptschnipsel als PWN dargelegt!