eine zeile in mehreren aufteilen

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 Tag


    ich habe hier diese Zeile:


    SetPlayerPos(playerid,gRandomPlayerSpawns[rand][0],gRandomPlayerSpawns[rand][1],gRandomPlayerSpawns[rand][2],gRandomPlayerSpawns[rand][3],gRandomPlayerSpawns[rand][4],gRandomPlayerSpawns[rand][5],gRandomPlayerSpawns[rand][6]);


    die ist jedoch zulang und somit ist ein teil außerhalb des gültigkeit bereiches.
    wie kriege ich diese Zeile in mehreren Zeilen aufketeilt, damit alles im gültigem bereich ist, denn ich bekomme diese meldung:


    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(2328) : error 032: array index out of bounds (variable "gRandomPlayerSpawns")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Bennene einfach die Variable "gRandomPlayerSpawns" in was kürzeres um.
    Dann meckert der Compiler nicht mehr :)


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • gute idee aber:


    #define g gRandomPlayerSpawns[rand]


    SetPlayerPos(playerid,g[0],g[1],g[2],g[3],g[4],g[5],g[6]);


    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(2298) : error 032: array index out of bounds (variable "gRandomPlayerSpawns")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • öhh wo ist da der der unterschied?


    wenn ich nun #define a affe benutze oder ädefine b affe ist ja eig egal
    das problem: die zeilse ist zu lang und ich muss aus der einen zeile mehrere machen, die trotdem noch zusammengehören


    hier mein script:


    new Spawn[MAX_PLAYERS]; //random spawn und so..
    forward SetPlayerRandomSpawn(playerid); //random spawn und so..


    new Float:gRandomPlayerSpawns[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };


    #define g gRandomPlayerSpawns[rand]


    OnPlayerConnect(...)
    {
    SetPlayerRandomSpawn(playerid);
    return 1;
    }


    public SetPlayerRandomSpawn(playerid)
    {
    if (Spawn[playerid] == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,65.0,1346.6815,2143.0583,11.0156))
    {
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid,g[0],g[1],g[2],g[3],g[4],g[5],g[6]);


    }
    }
    return 1;
    }


    //meldung:


    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(2295) : error 032: array index out of bounds (variable "gRandomPlayerSpawns")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    //das ist diese zeile:


    SetPlayerPos(playerid,g[0],g[1],g[2],g[3],g[4],g[5],g[6]);

    2 Mal editiert, zuletzt von Simon ()

  • SetPlayerPos hat nur 4 Parameter :
    SetPlayerPos(playerid, Float:x, Float:y, Float:z);


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • omg, könnt ihr kein Englisch?!


    Code
    array index out of bounds (variable "gRandomPlayerSpawns")


    heisst soviel wie, die Variable gRandomPlayerSpawns ist ein zu kleiner Array.


    Vor allem, seit wann gibts sowas:


    SetPlayerPos(playerid,g[0],g[1],g[2],g[3],g[4],g[5],g[6]);


    Mach mal schön sowas:


    SetPlayerPos(playerid, gRandomPlayerSpawns[0],gRandomPlayerSpawns[1],gRandomPlayerSpawns[2]);

  • versuch das mal so


    Ganz oben


    new Float:gRandomPlayerSpawns[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };


    unter Onplayer Spawn


    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);


    und das wars eig. xD

  • das hatte ich vorher und es hieß, falls dui englsich kannst: außerhalb des gültigkeit bereiches, und das sagt mir, das die zeile zu lamge ist. um das zu umgehen habe ich es einfach verkürzt. es klappt aber net da die zeile trotzdem zu lang ist oder ich die fehlermeldung falsch verstehe.
    nun bitte ich um hilfe


    //edit: @ styler: probiere es mal eben


    //edit:


    new Float:gRandomPlayerSpawns[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };


    public OnPlayerConnect(playerid)
    {
    SetPlayerRandomSpawn(playerid);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,65.0,1346.6815,2143.0583,11.0156))
    {
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid,g[0],g[1],g[2],g[3],g[4],g[5],g[6]);


    }
    return 1;
    }


    meldung:


    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(1061) : error 017: undefined symbol "SetPlayerRandomSpawn"
    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(1125) : error 032: array index out of bounds (variable "gRandomPlayerSpawns")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    //edit: onplayerconnect raus, und 1. error ist weg, sind wir wieder am anfang

    Einmal editiert, zuletzt von Simon ()

  • public OnPlayerConnect(playerid)
    {
    SetPlayerRandomSpawn(playerid);
    return 1;
    }
    das in das machen
    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    Das
    new Float:gRandomPlayerSpawns[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };

    in das hier
    new Float:rspawn[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };


    Das
    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,65.0,1346.6815,2143.0583,11.0156))
    {
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid,g[0],g[1],g[2],g[3],g[4],g[5],g[6]);


    }
    return 1;
    }


    in das hier
    public OnPlayerSpawn(playerid)
    {
    new rand = random(sizeof(RSpawn));
    SetPlayerPos(playerid, RSpawn[rand][0], RSpawn[rand][1], RSpawn[rand][2]);
    }
    return 1;
    }

    so xD

  • // Edit: Okay, GStyler war schneller ^^


    new Float:gRandomPlayerSpawns[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };


    public OnPlayerConnect(playerid)
    {
    SetPlayerRandomSpawn(playerid);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,65.0,1346.6815,2143.0583,11.0156))
    {
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);
    }
    return 1;
    }

  • keine sorge ^^


    also:


    new Float:rspawn[7][3] = {
    {1305.8337,2107.4055,11.0156},
    {1306.5626,2192.0161,11.0234},
    {1390.1019,2107.4060,11.0156},
    {1389.8405,2192.2322,11.0234},
    {1394.5386,2172.4570,9.7578},
    {1371.4462,2195.2822,9.7578},
    {1346.6815,2143.0583,11.0156}
    };


    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,65.0,1346.6815,2143.0583,11.0156))
    {
    new rand = random(sizeof(rspawn));
    SetPlayerPos(playerid,rspawn[rand][0],rspawn[rand][1],rspawn[rand][2],rspawn[rand][3],rspawn[rand][4],rspawn[rand][5],rspawn[rand][6]);


    }
    return 1;
    }



    //edit:


    SetPlayerPos(playerid,rspawn[rand][0],rspawn[rand][1],rspawn[rand][2]);


    keine errors ich teste es jetzt, was ist mit den anderen 4 spawns?