Fehler bei eig. leichten Command

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 ein Problem:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/reparieren", cmdtext, true, 10) == 0)
    {
    new playername2[20];
    GetPlayerName(playerid,playername2,sizeof(playername2));
    new string[50];
    format(string,sizeof(string),"Blubb %s",playername2);
    return 1;
    }
    return 0;
    }
    So habe ich gerade den Befehl.
    Wenn ich so compile kommt dieser Fehler:
    C:\Program Files (x86)\Rockstar Games\GTA San Andreas\filterscripts\repair.pwn(72) : warning 217: loose indentation
    Wenn ich jetzt ingame den Befehl eingebe passiert nichts.


    Wenn ich das return 1; wegnehme geht garnix mehr.


    Danke


    PS: kann mir wer erklären was return 1; genau bewirkt?

  • Du musst noch ein SCM machen mit dem String.


    Das Loose.


    Ist weil du falsch eingerückt hast ;)


    (Oben im Script:


    #pragma tabsize 0


    )


    //Edit:


    Und


    new playername2[20];


    in
    new playername2[MAX_PLAYER_NAME];


    umwandeln ;)


    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Einfach das return richtig einrücken. @Hijashy: SCM nicht notwendig und 20 ist MAX_PLAYER_NAME

  • wo gehörts also hin? bin neu im Geschäft :D


    EDIT//Habe ein anderes Problem noch dazu:
    Bei:
    tor = CreateObject(11327,1005.43750000,-1348.63977051,10.76923752,0.00000000,0.00000000,270.00000000); //20
    CreateObject(10281,1005.48498535,-1347.65197754,18.24536514,0.00000000,0.00000000,180.75000000); //21
    stutze1 = CreateObject(3459,1007.97045898,-1358.06811523,3,180.00000000,0.00000000,0.00000000); //22
    bekomme ich folgende Warnings:
    C:\Program Files (x86)\Rockstar Games\GTA San Andreas\filterscripts\sasrep.pwn(20) : warning 217: loose indentation
    C:\Program Files (x86)\Rockstar Games\GTA San Andreas\filterscripts\sasrep.pwn(21) : warning 217: loose indentation
    C:\Program Files (x86)\Rockstar Games\GTA San Andreas\filterscripts\sasrep.pwn(22) : warning 217: loose indentation

  • Wozu pragma tabsize ändern anstelle einfach saubere Identation zu verwenden?



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/reparieren", cmdtext, true, 10) == 0)
    {
    new playername2[20];
    GetPlayerName(playerid,playername2,sizeof(playername2));
    new string[50];
    format(string,sizeof(string),"Blubb %s",playername2);
    return 1;
    }
    return 0;
    }


    Das ist auch kein Fehler der das Kompilieren verhindert, sondern eine Warnung, die die AMX nicht weiter beeinträchtigt.

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • Sorry der Umgangston sollte nicht so rüberkommen...


    hier nochmal alles mit kleinen erklärungen keine Ahnung ob das mit den return 100% richtig erklärt ist:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/reparieren", cmdtext, true, 10) == 0)
    {
    new playername2[MAX_PLAYER_NAME]; //erstelle ein Array mit der Maximalen Anzahl an Buchstaben für einen Namen.
    GetPlayerName(playerid,playername2,sizeof(playername2)); // Schreibe in playername2 den Namen des cmdusers
    new string[50]; // erstelle ein Array mit 50 Zeichen
    format(string,sizeof(string),"Blubb %s",playername2);// Formatiere String nach Folgendem Fortmart: "Blubb %s" Fülle die Parameter (%s,%d etc) Der Rehei NAch mit den Inhalten der Variablen: playername2
    SendClientMessage(playerid, 0x33CCFFAA, string);//Sende eine Nachricht an cmduser in der Farbe 0x33CCFFAA (HellBlau) mit dem text in der Variable string
    return 1;//Brich die übergabe ab (Ausgabe von Unkown Command wird nicht gemacht)
    }
    return 0;//Gebe zurück an Samp (Ausgabe von UnkownCommand)
    }


    mfg Sniper :thumbup:

  • Was sollte das heissen, Neo?


    Zitat

    @Hijashy: SCM nicht notwendig

    Das ist wohl notwendig^^

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!