Angepinnt Befehle mit Übergabewerten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • "u" ist ein spezieller Typ mit dem man Automatisch die Spieler ID bekommt.Bei dem Typ ist es egal ob man den Namen oder die ID direkt angibt,der Typ u würde bei der Eingabe von einem Namen diesen automatisch in die ID der Spielers umwandeln.
      Ich sehe jetzt auf den ersten blick keinen Fehler bei deinem Code,habs deshalb mal selber fix runtergeschrieben.

      PAWN-Quellcode

      1. public OnPlayerCommandText(playerid, cmdtext[]) {
      2. dcmd(heal,4,cmdtext);
      3. return 0;
      4. }
      5. dcmd_heal(playerid,params[]) {
      6. new
      7. giveid;
      8. if(sscanf(params,"u",giveid)) {
      9. return SendClientMessage(playerid,COLOR_RED,"Benutzung: /heal [Name / ID]");
      10. }
      11. if(!IsPlayerConnected(giveid)) {
      12. return SendClientMessage(playerid,COLOR_RED,"Spieler nicht gefunden!");
      13. }
      14. SetPlayerHealth(giveid,100.0);
      15. SendClientMessage(giveid,COLOR_YELLOW,"Du wurdest von einem Admin geheilt!");
      16. return 1;
      17. }
      Alles anzeigen
    • wie viele dcmd cmds darf man eig haben? DU sagtest ja das dcmd resorcen(oder wie mans schreibt) schonender is, aber ab wann wirds wieder kritisch??? ich habe ca 25 dcmd befehle drin aber es kommen noch viele hinzu. UNd sollte man dcmd auch für cmds ohne paramas verwenden??
      Einma vorbei schaun lohnt sich
      prt-clan.com der GamerClan für GTA-SAMP.Wir haben einen leistungsstarken vServer und ein hoch entwickeltes RealLife Script der Marke eigenbau, zu 100% Selfmade.
      Bald geht der RL-Server on, seid alle dabei. Regestriert euch und fiebert mit!!!

    • JA klar, nur dcmd ist ja nicht die "vorgesehne " variante von sa-mp du wurde ja erst von Y_Less hinzugefügt aber wenn ich die ohne paramas verwende is das auch egal?? naja dann ma los dachte das könnten vll zu viele werden
      Einma vorbei schaun lohnt sich
      prt-clan.com der GamerClan für GTA-SAMP.Wir haben einen leistungsstarken vServer und ein hoch entwickeltes RealLife Script der Marke eigenbau, zu 100% Selfmade.
      Bald geht der RL-Server on, seid alle dabei. Regestriert euch und fiebert mit!!!

    • dcmd wurde von DracoBlue entwickelt, nicht von Y_Less. Y_Less hat "lediglich" sscanf gecodet.

      Es gibt kein Limit wieviele dcmd Commands man haben darf, da die Funktion ja lediglich aufgerufen wird, wenn man den dazu gehörigen Command eingibt.

      Was Cmds ohne Parameter betrifft, da ist dcmd auch schneller, jedoch kann es sein, dass die strcmp Variante genauso schnell ist.
    • //EDIT//
      hat sich gelöst

      //EDIT2//

      PAWN-Quellcode

      1. dcmd_test(playerid,params[])
      2. {
      3. new pID;
      4. if(sscanf(params, "d", pID))
      5. {
      6. return SendClientMessage(playerid,COLOR_RED, "Benutze: /test");
      7. }
      8. if(IsPlayerConnected(pID))
      9. {
      10. SendClientMessage(playerid,COLOR_RED,"Dies ist ein test, ID %d",pID);
      11. return 1;
      12. }
      13. }
      Alles anzeigen


      habe jetzt soeinen befehl drinne,
      müsste ja eig. alles richtig sein oder?
      wenn man /test macht muss doch der text kommen oder muss ich da nochwas machen?

      und jetzt mein richtiges problem:

      PAWN-Quellcode

      1. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(468) : error 017: undefined symbol "dcmd_test"
      2. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(471) : error 017: undefined symbol "params"
      3. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(475) : warning 217: loose indentation
      4. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(477) : warning 202: number of arguments does not match definition
      5. Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
      6. 2 Errors.


      2 Errors ; 2 Warnings

      wenn ich

      PAWN-Quellcode

      1. new dcmd_test;


      mache kommen nochmehr errors WARUM ?(

      bitte um schnelle hilfe
      Unser Forum ;)

      Aachener Terror Clan

      Server IP: 91.121.16.118:11100

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von [ATC]eRaZoR ()

    • bei

      PAWN-Quellcode

      1. public OnPlayerCommandText(playerid,cmdtext[])
      2. {
      3. dcmd(test,4,cmdtext);
      4. return 0
      5. };

      und hast du das

      PAWN-Quellcode

      1. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
      im Script oben?


      Ausserdem is es sinnlos diesen Command mit sscanf zu machen, da der Command keine Parameter hat. Ich weiß gar nicht, ob das dann überhaupt geht
    • PAWN-Quellcode

      1. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(370) : error 017: undefined symbol "dcmd_test"
      2. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(377) : warning 225: unreachable code
      3. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(471) : error 017: undefined symbol "dcmd_test"
      4. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(476) : error 017: undefined symbol "params"
      5. C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(478) : warning 202: number of arguments does not match definition
      6. C:\Dokumente und Einstellungen\lukas\Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(473) : warning 203: symbol is never used: "pID"
      7. Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
      8. 3 Errors.


      //EDIT//

      pls help

      //EDIT2//

      bitte brauche hilfe
      Unser Forum ;)

      Aachener Terror Clan

      Server IP: 91.121.16.118:11100

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von [ATC]eRaZoR ()


    • Dann ließ das Tutorial noch einmal,irgendwo wirst du wohl etwas falsch gemacht haben.
      Grob sieht das immer so aus:

      PAWN-Quellcode

      1. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
      2. public OnPlayerCommandText(playerid,cmdtext[])
      3. {
      4. dcmd(test,4,cmdtext);
      5. return 0;
      6. }
      7. dcmd_test(playerid,params[]) {
      8. // hier code
      9. return 1;
      10. }
      Alles anzeigen
    • PAWN-Quellcode

      1. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
      2. public OnPlayerCommandText(playerid, cmdtext[])//-----(Befehle)---------------//
      3. {
      4. //-----(test)-----------------------------------------------------------------//
      5. dcmd(test,4,cmdtext);
      6. return 0;
      7. dcmd_test(playerid,params[])
      8. {
      9. new pID;
      10. if(sscanf(params, "d", pID))
      11. {
      12. return SendClientMessage(playerid,COLOR_RED, "Benutze: /test");
      13. }
      14. if(IsPlayerConnected(pID))
      15. {
      16. SendClientMessage(playerid,COLOR_RED,"Dies ist ein test, ID %d",pID);
      17. return 1;
      18. }
      19. }
      20. return 1;
      21. }
      Alles anzeigen


      so habe ich das (sind noch na ppar befehle dazwichen aber ist ja egal)
      Unser Forum ;)

      Aachener Terror Clan

      Server IP: 91.121.16.118:11100
    • [NSG]Bright schrieb:

      [...]für die Unwissenden: "public"[...]


      Lesen tut nicht weh.....

      Wenn du es immernoch nicht kapierst solltest du dir mal was anderes als Pawn überlegen.

      // AUSSERHALB, was ist daran so schwer zu verstehen? -.-

      Man muss sein Hirn auch selber mal benutzen....

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von [NSG]Bright ()

    • okay habe ich jetzt und dann bekomme ich jetzt 1 warning (die restlichen 3 habe ich weg gemacht)

      PAWN-Quellcode

      1. dcmd_test(playerid,params[])
      2. {
      3. new pID;
      4. if(sscanf(params, "d", pID))
      5. {
      6. SendClientMessage(playerid ,COLOR_RED,"Dies ist ein test, ID %d", pID);
      7. SendClientMessage(playerid , COLOR_RED,"Benutze /test");
      8. }
      9. return 1;
      10. }


      PAWN-Quellcode

      1. C:\Dokumente und Einstellungen\lukas\Desktop\Lukas\SA-MP Server\gamemodes\DM.pwn(477) : warning 202: number of arguments does not match definition
      2. Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
      3. 1 Warning.
      Unser Forum ;)

      Aachener Terror Clan

      Server IP: 91.121.16.118:11100
    • So kann es auch iwie nicht gehen oder?

      PAWN-Quellcode

      1. new pID;
      2. if(sscanf(params, "d", pID))
      3. {
      4. SendClientMessage(playerid ,COLOR_RED,"Dies ist ein test, ID %d", pID);
      5. SendClientMessage(playerid , COLOR_RED,"Benutze /test");


      ?
      Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
      -Bruce Lee
    • [FFF]eRaZoR schrieb:

      SendClientMessage(playerid ,COLOR_RED,"Dies ist ein test, ID %d", pID);


      Ähm, wie bitte soll das gehen?

      Schau dir mal SendClientMessage im Wiki an ;).

      Mach es so:

      PAWN-Quellcode

      1. dcmd_test(playerid,params[])
      2. {
      3. new
      4. pID,
      5. string[128];
      6. if(sscanf(params, "d", pID))
      7. {
      8. SendClientMessage(playerid, COLOR_INFO, "Benutze bitte: /test[ID]");
      9. return 1;
      10. }
      11. format(string, sizeof(string), "Dies ist ein Test. ID %d", pID);
      12. SendClientMessage(playerid ,COLOR_RED, string);
      13. return 1;
      14. }
      Alles anzeigen
      ...