Angepinnt Nützliche Codeschnipsel

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

    • Ich finde diese Funktion nicht gut wartbar.
      Empfehlswert wären zwei dinge.
      Hinterlege beim Benutzer nur die Informatione, DAS er leader ist.
      Denn in deiner jetzigen art und weise ist es möglich, das ich leader der grove bin, aber beim LSPD Leader.
      Ergo erhalte ich die LSPD Farben. Bin ich umgekehrt Leader der Grove und Member des LSPD, dann das gleiche Spielchen: Farbe der LSPD.

      Desweiteren: Eine Liste, wo jede FraktionsID/TeamID hinterlegt ist sowie die dazugehörige Farbe wäre auch nicht schlecht.
      Dann heißt es später nur noch durch iterieren (for Schleife).

      Erhöht wesentlich die Lesbarkeit.
      Alternative: Ein Switch Case auf die Fraktions/TeamID und dazu dann die Farbe vergeben.


      EDIT: Da war wohl jemand schneller, als ich. Sollte wohl mal schneller den Post verfassen und nicht 20min warten. :D
    • Du könntest auch einfach ein 2ten Befehl erstellen wie zbs /togblip oder /delmaker damit dein Name nicht mehr zu sehen ist also die Farbe.
      Und danach einfach wieder /togblip damit du die genaue Farbe hast.
      oder wenn du LSPD bist und LSPD farbe hast und danach Grove bist und immer noch die Blaue Farbe hast musst du dich einfach Spawnen dann hast du deine genaue Farbe.

      Hoffe ich habe dich richtig verstanden
    • @FleX_GuN Dir ist klar das die Sachen nich kopiert sind sondern Selber erstellt wurden sind.

      Lad dir denn Script German-Elite-Reallife runter und schreibt mal dort "/gov" hin ma sehen ob die denn gleichen System finden wirst.

      @Whice. kann sogar Zeuge sein das dies der German Elite Reallife Script war.

      Beim nächsten mal "erst Lesen, danach Antworten"

      Und für sowas Dummes will ich wirklich nicht zurück Antworten [Die nächsten Dummen Antworten werden Ignoriert]
    • xFreak schrieb:

      @Whice. kann sogar Zeuge sein das dies der German Elite Reallife Script war.
      wtf, das einzige was ich bezeugen kann ist, dass der Müll hier das Forum mega zuspammt und es einfach gar keinen Interessierst, da es nur irgendwelche editerte Godfather-Befehle sind.
      Und zu dem Aufbau... entweder du erklärst auch ein wenig wie es eingefügt werden soll bzw. was es überhaupt macht oder du kannst es direkt lassen.

    • Damit könnt ihr täglich seperierte logs erstellen lassen.


      Wichtig: Um diese Funktion zu nutzen braucht ihr das FileManager Plugin

      Achja noch etwas die Funktionen brauchen den scriptfiles Ordner im Pfad (die normalen SAMP Natives nicht) da man ja auch ausserhalb des scriptfiles ordners Ordner erstellen kann.

      fileName ist der Dateiname den die Log datei haben soll zB aus chat wird chat.log
      directory ist der unter Ordner nach dem Datums Ordner. Bsp: adm_cmds wird logs/05.06/2016/adm_cmds
      szString ist der Text der geloggt letzendlich geschrieben werden soll.

      PAWN-Quellcode

      1. stock LogAction(const fileName[], const directory[], const szString[])
      2. {
      3. new path[128];
      4. new d,m,y,h,M,s;
      5. getdate(y,m,d);
      6. gettime(h,M,s);
      7. format(path,sizeof(path),"scriptfiles/logs/%02d.%02d.%04d",d,m,y);
      8. if(!dir_exists(path))
      9. {
      10. dir_create(path);
      11. format(path,sizeof(path),"scriptfiles/logs/%02d.%02d.%04d/%s",d,m,y,directory);
      12. if(!dir_exists(path))
      13. {
      14. dir_create(path);
      15. }
      16. }
      17. format(path,sizeof(path),"logs/%02d.%02d.%04d/%s/%s.log",d,m,y,directory,fileName);
      18. new File:pFile = fopen(path,io_append);
      19. if(pFile)
      20. {
      21. new string[1024];
      22. format(string,sizeof(string),"[%02d:%02d:%02d]: %s",h,M,s,szString);
      23. fwrite(pFile,string);
      24. fwrite(pFile,"\r\n");
      25. fclose(pFile);
      26. }
      27. }
      Alles anzeigen



      Am Ende wird dies so aussehen scriptfiles/logs/05.08.2016/chat.log und darin kann dann stehen: [00:46:36]: XeroX: Hi !
      soldiersofdemise.com Zombie Panic! Source Community mit versch. Upgrade System die das Hauptspiel ändern oder erweitern.

      Beitrag von Max Jackson ()

      Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Hat vollkommen recht :P ().
    • PAWN-Quellcode

      1. stock SendClientMessageToAllEx(color, string[])
      2. {
      3. new count, lenght = 72;
      4. for(new i, l = strlen(string); i != l; i++)
      5. {
      6. if(string[i] == '{' && string[i+7] == '}')
      7. count += 8;
      8. }
      9. if(strlen(string) > (lenght+count))
      10. {
      11. new text[2][128];
      12. strmid(text[0], string, 0, lenght+count);
      13. strmid(text[1], string, lenght+count, strlen(string));
      14. format(text[0], 128, "%s...", text[0]);
      15. SendClientMessageToAll(color, text[0]);
      16. format(text[1], 128, "...%s", text[1]);
      17. SendClientMessageToAll(color, text[1]);
      18. return 1;
      19. }
      20. SendClientMessageToAll(color, string);
      21. return 1;
      22. }
      23. stock SendClientMessageEx(playerid, color, string[])
      24. {
      25. new count, lenght = 72;
      26. for (new i, l = strlen(string); i != l; i++)
      27. {
      28. if(string[i] == '{' && string[i+7] == '}')
      29. count += 8;
      30. }
      31. if(strlen(string) > (lenght+count))
      32. {
      33. new text[2][128];
      34. strmid(text[0], string, 0, lenght+count);
      35. strmid(text[1], string, lenght+count, strlen(string));
      36. format(text[0], 128, "%s...", text[0]);
      37. SendClientMessage(playerid, color, text[0]);
      38. format(text[1], 128, "...%s", text[1]);
      39. SendClientMessage(playerid, color, text[1]);
      40. return 1;
      41. }
      42. SendClientMessage(playerid, color, string);
      43. return 1;
      44. }
      Alles anzeigen
    • PAWN-Quellcode

      1. stock GetOnlinePlayers()
      2. {
      3. new count;
      4. for(new i; i<GetMaxPlayers(); i++) if(IsPlayerConnected(i) && !IsPlayerNPC(i)) count++;
      5. return count;
      6. }

      dennismitzwein schrieb:

      Die meisten Beiträge
      Der eifrigste Tastaturklimperer, derjenige, welcher mehr Muskeln in den Fingern besitzt als die meisten von euch im Bizeps haben. Mit ganzen 1524 Beiträgen ist @Rocky Balboa der User mit den meisten geschriebenen Beiträgen im gesamten Jahr 2017
    • @Rocky Balboa
      die Schleife sollte lieber so aussehen

      PAWN-Quellcode

      1. for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)


      Es ist a) nicht nötig alle Slots durchlaufen zu lassen und b) ist es nicht nötig bei jedem Schleifen durchlauf die Funktion erneut aufzurufen.
      "Bevor ich mir Informationen aus der "Bild" hole,
      werde ich anfangen, Wahlergebnisse danach vorauszusagen,
      neben welchen Busch unsere Katze gepinkelt hat."
      Margarete Stokowski
    • Am sinnvollsten ist es, gar keine Schleife zu nutzen, da sich die Zahl ohnehin nur an zwei Stellen ändern kann:

      Unter den Includes:

      PAWN-Quellcode

      1. new countOnlinePlayers;


      OnPlayerConnect:

      PAWN-Quellcode

      1. if(!IsPlayerNPC(playerid)) countOnlinePlayers++;


      OnPlayerDisconnect:

      PAWN-Quellcode

      1. if(!IsPlayerNPC(playerid)) countOnlinePlayers--;


      Ausgabe:

      PAWN-Quellcode

      1. printf("Es sind %d Spieler online.", countOnlinePlayers);