RandomCPs Warnings?

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
  • Hallo.
    Ich wollte einen Pizzajob mit RandomCPs machen kriege aber 3 Warnings..
    C:\Selfmade\gamemodes\tlrp.pwn(610) : warning 219: local variable "rand" shadows a variable at a preceding levelC:\Selfmade\gamemodes\tlrp.pwn(611) : warning 202: number of arguments does not match definitionC:\Selfmade\gamemodes\tlrp.pwn(615) : warning 203: symbol is never used: "rand"Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase3 Warnings.




    Alle 3 Warnings sind hier:
    public SetPlayerRandomCheckpoints(playerid){ { new rand = random(sizeof(gRandomPlayerCP)); SetPlayerCheckpoint(playerid, gRandomPlayerCP[rand][0], gRandomPlayerCP[rand][1], gRandomPlayerCP[rand][2]); } return 1;}

  • Probiers hier mit.
    Du hast den Parameter "Float:size" nicht eingetragen. Und wenn ich den code so sehe, hast du auch 2 geschweifte klammern zu viel


    Edit: Hab hinter "sizeof(gRandomPlayerCP)" noch ein -1 gemacht, damit du nicht out of bounds bekommst.



    public SetPlayerRandomCheckpoints(playerid)
    {
    new rand = random(sizeof(gRandomPlayerCP)-1);
    SetPlayerCheckpoint(playerid, gRandomPlayerCP[rand][0], gRandomPlayerCP[rand][1], gRandomPlayerCP[rand][2], 7.0);
    return 1;
    }

  • Habe jetzt das ganze umbenannt und den Code von Zim30 benutzt, habe aber immernoch einen Warning.


    C:\Selfmade\gamemodes\tlrp.pwn(613) : warning 203: symbol is never used: "randpj"Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.

  • Und wo benutzt du 'randpj'?

    Das ist es ja was die Warnung des Compilers aussagen will - nirgendswo. Du hast scheinbar auf globaler Ebene eine Variable deklariert, die im keinsten in deinem Code Verwendung findet. Einfach mal nach 'randpj' suchen und löschen / auskommentieren, dann ist die Warnung weg. Im Allgemeinen kann sie auch erstmal ignoriert werden, falls du sie nicht löschen möchtest.

  • Ganz oben im Script:



    new randpj[MAX_PLAYERS];
    forward SetPlayerRandomCheckpoints(playerid);


    Und ganz unten:



    public SetPlayerRandomCheckpoints(playerid)
    {
    new randpj = random(sizeof(gRandomPlayerCP)-1);
    SetPlayerCheckpoint(playerid, gRandomPlayerCP[randpj][0], gRandomPlayerCP[randpj][1], gRandomPlayerCP[randpj][2], 7.0);
    return 1;
    }


    MFG

  • Das ist es ja was die Warnung des Compilers aussagen will - nirgendswo. Du hast scheinbar auf globaler Ebene eine Variable deklariert, die im keinsten in deinem Code Verwendung findet. Einfach mal nach 'randpj' suchen und löschen / auskommentieren, dann ist die Warnung weg. Im Allgemeinen kann sie auch erstmal ignoriert werden, falls du sie nicht löschen möchtest.

    Meinte ich auch so, sry falls ich das komisch geschrieben habe.




    new randpj[MAX_PLAYERS]; Das kannst du löschen