Warning 201?

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
  • C:\Users\du\Desktop\WhiteWay Script\Streets of Los Angeles\pawno\include\UC.inc(13) : warning 201: redefinition of constant/macro (symbol "OnPlayerCommandText")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    Wie soll das Lösbar sein?
    #include <a_samp>
    #pragma tabsize 0
    #define r1 return 1;
    #define r0 return 0;
    #define pp- playerid,params[]
    #define p- params[]
    #define UP-%1(%2); forward %1(%2);
    #define UC-%1(%2) UP-UC_%1(%2); public UC_%1(%2)
    #define UCPublic.@UCcmd new UCSs[40], i=1; for(;i<120;i++) { if(!cmdtext[i]||cmdtext[i]==' ')break; UCSs[i-1]=tolower(cmdtext[i]); } format(UCSs,120,"UC_%s",UCSs); if(!strlen(cmdtext[i+1])&&CallLocalFunction(UCSs,"is",playerid," "))return 1; if(CallLocalFunction(UCSs,"is",playerid,cmdtext[i+1])) return 1; return CallLocalFunction("@UCcmd","is",playerid,cmdtext); //Courier New
    UP-@UCcmd(playerid,cmdtext[]);
    public OnPlayerCommandText(playerid,cmdtext[])
    {UCPublic.@UCcmd}
    #define OnPlayerCommandText

  • #define OnPlayerCommandText


    Einfach umbenennen :thumbup:


    Danke dann kommt error
    C:\Users\du\Desktop\WhiteWay Script\Streets of Los Angeles\gamemodes\SoLA.pwn(2806) : error 021: symbol already defined: "ocmdOnPlayerCommandText"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    UC sieht nun so aus
    #include <a_samp>
    #pragma tabsize 0
    #define r1 return 1;
    #define r0 return 0;
    #define pp- playerid,params[]
    #define p- params[]
    #define UP-%1(%2); forward %1(%2);
    #define UC-%1(%2) UP-UC_%1(%2); public UC_%1(%2)
    #define UCPublic.@UCcmd new UCSs[40], i=1; for(;i<120;i++) { if(!cmdtext[i]||cmdtext[i]==' ')break; UCSs[i-1]=tolower(cmdtext[i]); } format(UCSs,120,"UC_%s",UCSs); if(!strlen(cmdtext[i+1])&&CallLocalFunction(UCSs,"is",playerid," "))return 1; if(CallLocalFunction(UCSs,"is",playerid,cmdtext[i+1])) return 1; return CallLocalFunction("@UCcmd","is",playerid,cmdtext); //Courier New
    UP-@UCcmd(playerid,cmdtext[]);
    public OnPlayerCommandText(playerid,cmdtext[])
    {UCPublic.@UCcmd}
    #define OnPlayerxCommandText

  • Das liegt am nicht vorhanden Hooking dieser Funktion.


    Problem ist nämlich das der Compiler darüber stolpert, das ihm 2x gesagt wird,
    dass er OnPlayerCommandText mit etas anderem ersetzen soll
    und nicht weiß was gültig ist.


    Schau dir am besten diesen Thread an [ SCRIPTING ] Includes richtig erstellen | Hooking ganz einfach


    Vielleicht kommst du selber drauf, wie du es ändern musst, damit der Warning verschwindet. WhiteWay:


    Slash™:
    Das hat nichts mit Commandprozessoren zu tun.


    Das liegt am Präprozessor.
    Großer Unterschied

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • was ist der genaue unterschied?


    Mit den Hooking werden die anderen Funktionen Nicht überschrieben
    Sprich Du kannst 2 mal den beliebigen callback nutzen


    machst du nur den einfachen define wie z.B.
    #define oldcallback newcallback
    kannst du den callback nur einmal verwenden und hast du 2 mal die umdefinierung kommt es zu solchen fehlern

    All in all it's just another brick in the wall