Beiträge von Sharpadox

    Hey,


    ich bin gerade dabei, Race Pickups zu erstellen,
    aber ausser dem Nitropickup, werden die anderen
    nicht angezeigt. Also Repairpickup und
    VehicleChange Pickup.
    Was habe ich falsch gemacht? Hier ist mal der Code:


    Spoiler anzeigen
    enum NosInfoS
    {
    Float:nX,
    Float:nY,
    Float:nZ
    }
    enum RepInfoS
    {
    Float:rX,
    Float:rY,
    Float:rZ
    }
    enum CCInfoS
    {
    Float:ccX,
    Float:ccY,
    Float:ccZ,
    modelid
    }
    new NosInfo[1][NosInfoS] = {
    {-13.6444,-44.0351,2.8443}
    };
    new RepInfo[1][RepInfoS] = {
    {7.1469,-80.7042,2.3878}
    };
    new CCInfo[1][CCInfoS] = {
    {79.0332,-39.7522,0.3365,560}
    };

    Spoiler anzeigen
    //OnGameModeInit
    for(new i=0; i<sizeof(NosInfo); i++)
    {
    CreatePickup(1239,14,NosInfo[i][nX],NosInfo[i][nY],NosInfo[i][nZ],0);
    return 1;
    }
    for(new i=0; i<sizeof(RepInfo); i++)
    {
    CreatePickup(1239,14,RepInfo[i][rX],RepInfo[i][rY],RepInfo[i][rZ],0);
    return 1;
    }
    for(new i=0; i<sizeof(CCInfo); i++)
    {
    CreatePickup(1239,14,CCInfo[i][ccX],CCInfo[i][ccY],CCInfo[i][ccZ],0);
    return 1;
    }

    Hey,


    wie kann ich diese Errors beheben?
    Ich sehe darin keinen Error...


    Code:

    Spoiler anzeigen
    GeldI[i] = TextDrawCreate(30.0,170.0,"+50000$"); //// ERROR-ZEILE
    TextDrawBackgroundColor(GeldI[i], 255);
    TextDrawFont(GeldI[i], 2);
    TextDrawLetterSize(GeldI[i], 0.500000, 1.000000);
    TextDrawColor(GeldI[i], -1);
    TextDrawSetOutline(GeldI[i], 0);
    TextDrawSetProportional(GeldI[i], 1);
    TextDrawSetShadow(GeldI[i], 1);
    TextDrawUseBox(GeldI[i], 1);
    TextDrawBoxColor(GeldI[i], 255);
    TextDrawTextSize(GeldI[i], 140.000000, 0.000000);
    TextDrawSetSelectable(GeldI[i],true);


    Errors:

    Spoiler anzeigen
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\SelfmadeBT.pwn(492) : error 028: invalid subscript (not an array or too many subscripts): "GeldI"
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\SelfmadeBT.pwn(492) : warning 215: expression has no effect
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\SelfmadeBT.pwn(492) : error 001: expected token: ";", but found "]"
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\SelfmadeBT.pwn(492) : error 029: invalid expression, assumed zero
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\gamemodes\SelfmadeBT.pwn(492) : fatal error 107: too many error messages on one line

    Spoiler anzeigen
    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    4 Errors.

    Blunt: Habe ich schon versucht, auch Errors-..


    @Chila: Sorry, aus schnelles Schreiben vergessen :S


    Code
    C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\filterscripts\gangfightsystem.pwn(74) : error 017: undefined symbol "Gebiet"C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\filterscripts\gangfightsystem.pwn(74) : error 036: empty statementC:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\filterscripts\gangfightsystem.pwn(74) : error 017: undefined symbol "i"C:\Users\Narushi\Desktop\samp\New-Evolution-Reallife\filterscripts\gangfightsystem.pwn(74) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase4 Errors.

    Hey,


    wieso kommen hier Errors, obwohl hier nichts falsch ist?


    Spoiler anzeigen
    enum gebiet//Dies leitet eine genauere Beschreibung für einen Array ein.
    {
    gOwner,//Hier wird die Fraktionsid gespeichert, der das Gebiet im moment gehört
    Float:gMinX,//MinX - Koordinate für die Gangzone
    Float:gMinY,//MinY
    Float:gMaxX,//MaxX
    Float:gMaxY,//MaxY
    gOn,//Ob der Gangfight läuft
    gStand1,//Der Score für das Owner Team
    gStand2,//Score für die Angreifer
    gAngreifer//Hier wird die Fraktionsid gespeichert
    };
    #define MAX_AREAS 1
    new Gebiete[MAX_AREAS][gebiet] = {//Erstellt eine Variable mit der Anzahl der Gebiete in der ersten [] angegeben und in der zweiten wird das Enum von oben eingefügt. (Dient zur genaueren Beschreibnung)
    {0,1051.2252,-1727.4736,1124.3893,-1813.5372,0,0,0,0}//Hier werden dann die Zonen erstellt, eigentlich alles auf 0 lassen, außer die Koordinaten...
    };

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    for(new i=0; i<sizeof(Gebiet); i++)//Damit alle gebiete durchlaufen werden
    {
    new color;//Erstellt eine neue Variable
    if(Gebiete[i][gOwner] == 5){color=0x000000B2;}//Hier wird abgefragt welcher Fraktion das Gebiet gehört, damit dann die Farbe dafür gesetzt wird
    if(Gebiete[i][gOwner] == 6){color=0xFFFFFFB2;}
    GangZoneShowForPlayer(playerid, Gebiet[i], color); // Hier wird dann die Zone gezeigt. Als erstes die spielerid, und die ist bei OnPlayerSpawn nunmal mit playerid definiert, dann welches Gebiet also Gebiet^^ und als letztes die Farbe die wir oben definiert haben.
    }
    return 1;
    }

    Ein Versuch mit einem Objektstreamer wäre schon eine Möglichkeit. Du kannst aber auch wenn dein Callback nicht alzu groß ist und nichts beinhaltet was du eigentlich im Script nicht alzu oft brauchst, gehst du in dein Texteditor kopierst den ganzen Callback heraus, fügst ihn in die Textdatei ein und speicherst diese als namewasduwillst.inc, diese speicherst du in deinen Includesordner zu den anderen, dann includest du die Datei wie ein normalles Include. Natürlich unter deinen anderen Includes im Script. Du hast dadurch auch schon wieder ein Filterscript eingespart.


    Verstehe das nicht wirklich? :D
    Ich soll alles in ein Include packen
    und als Include in Script einfügen oO ?

    Hey Leute von heute, :D


    wie kann ich eine Map per Filterscript laden lassen?
    Denn ich habe ein DM und ein Race Server. Wenn
    ich je für beide immer die Maps laden muss, wird mein
    Gamemode unvorstellbar (besonder unnötig) groß.
    Ich lade die Objekte so, und das funktioniert nicht:


    Spoiler anzeigen

    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" [Race] Beispielmap ~v1~ Beispielname wurde geladen . . .");
    print("--------------------------------------\n");
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    CreateObject(obj,x,y,z,rx,ry,rz);
    //......
    return 1;
    }

    ¼³kð?¸¦G

    Was ist das? oO


    sscanf

    Spoiler anzeigen
    ///////////////////////////////// SSCANF ///////////////////////////////////////
    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {

    Spoiler anzeigen
    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }