Probleme beim PickupEnum

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 Abend.


    Ich hab Probleme bei meinem Pickup Interrior bitte um hilfe ihr der code:



    enum Points {
    PickUpID,
    Float:PX,Float:PY,Float:PZ,
    IntID,
    Float:SPAWNX,Float:SPAWNY,Float:SPAWNZ,Float:SPAWNA,
    Namen[125]
    };


    new PickUPs[1][Points] = {
    {1559,1554.9535,-1675.5760,16.1953,6,246.783996,63.900199,1003.640625,0.0,"LSPD_Interrior"}
    };


    OnGameModeInite:


    for (new i; i<sizeof PickUPs; i++) {
    PickUPs[i][Namen] = CreatePickup(PickUPs[i][PickUpID],0,PickUPs[i][PX],PickUPs[i][PY],PickUPs[i][PZ]);
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for (new i; i < sizeof PickUPs; i++) {
    if(pickupid == PickUPs[i][LSPD_Interrior]) {//205
    SetPlayerPos(playerid,PickUPs[SPAWNX],PickUPs[SPAWNY],PickUPs[SPAWNZ]);//206
    SetPlayerFacingAngle(playerid,PickUPs[SPAWNA]);
    }
    }
    return 1;
    }


    Errors:



    C:\Users\Fabian\Desktop\Server GTA\gamemodes\Selfamde.pwn(205) : error 017: undefined symbol "LSPD_Interrior"
    C:\Users\Fabian\Desktop\Server GTA\gamemodes\Selfamde.pwn(206) : warning 213: tag mismatch
    C:\Users\Fabian\Desktop\Server GTA\gamemodes\Selfamde.pwn(206) : error 032: array index out of bounds (variable "PickUPs")
    C:\Users\Fabian\Desktop\Server GTA\gamemodes\Selfamde.pwn(207) : warning 213: tag mismatch
    C:\Users\Fabian\Desktop\Server GTA\gamemodes\Selfamde.pwn(207) : error 032: array index out of bounds (variable "PickUPs")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Wenn du dem Pickup schon eine ID zuweist dann solltest du auch die vergleichen und da macht es wenig Sinn zu vergleichen ob die pickupid gleich dem Namen ist, mal abgesehen davon das das eine eine Zahl und das andere eine Zeichenkette aka string ist. ^^


    Aber alles zu seiner Zeit, zunächstmal hast du einen Fehler beim erstellen:

    //Statt
    PickUPs[i][Namen] = CreatePickup(...
    //Muss es heißen:
    PickUPs[i][PickUpID] = CreatePickup(...


    Und in dem public

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for (new i; i < sizeof PickUPs; i++)
    {
    if(PickUPs[i][PickUpID] == pickupid) // Wenn nun die pickupid gleich der aufgesammelten ID ist...
    {
    //Hier musst du natürlich das erste Array mitnehmen also:
    //Statt PickUPs[SPAWNX] --> PickUPs[i][SPAWNX]
    SetPlayerPos(playerid,PickUPs[i][SPAWNX],PickUPs[i][SPAWNY],PickUPs[i][SPAWNZ]);
    SetPlayerFacingAngle(playerid,PickUPs[i][SPAWNA]);
    }
    }
    return 1;
    }

    Du brauchst also garnicht erst versuchen mit dem Namen vergleichen zu wollen, Interior schreibt man übrigends mit einem r in der mitte ;)