Nützliche kurze Codes

  • Hier könnt ihr nützliche Codes posten, für die ein ganzer Thread zu viel wäre.


    Mit dieser Funktion könnt ihr die Länge eines string herausfinden:

    wcf.bbcode.code.ts.title
    1. function getStringWidth ( text: string, scale: [number, number], font: number ): number {
    2. mp.game.ui.setTextEntryForWidth( "STRING" );
    3. mp.game.ui.addTextComponentSubstringPlayerName( text );
    4. mp.game.ui.setTextFont( font );
    5. mp.game.ui.setTextScale( scale[0], scale[1] );
    6. return mp.game.ui.getTextScreenWidth( true );
    7. }

    Die Funktion nutze ich, um ganz einfach die Ausrichtung des Textes bei mp.game.graphics.drawText zu verändern.

    Beispiel:

    JavaScript
    1. if ( alignment == Alignment.LEFT )
    2. x += getStringWidth( text, scale, font ) / 2;
    3. else if ( alignment == Alignment.RIGHT )
    4. x -= getStringWidth( text, scale, font ) / 2;
  • (alles hier ist TypeScript!)


    Zufälliger Buchstabe zurückgeben:

    Code
    1. export function randomChar(): string {
    2. const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    3. return alphabet.charAt((Math.random() * alphabet.length));
    4. }

    Zufällige Zahl zwischen zwei Zahlen

    Code
    1. export function random(min: number, max: number): number {
    2. return (Math.random() * max) + min;
    3. }

    "Sichere" funktion um farbigen Text in den Chat zu schreiben (entfernt leider auch alles wie "<hello>" oder "meine zahl ist <5 und >3"):

    Code
    1. export function outputColoredChatBox(message: string, player: PlayerMp, color: string) {
    2. message = message.replace(/<.*?>/, "");
    3. player.outputChatBox(`<span style='color:${color};'>${message}</span>`)
    4. }

    Zusätzlich dazu noch eine funktion die an alle einen farbigen Text schreibt:

    Code
    1. export function outputBroadcastColoredChatBox(message: string, color: string = "#FFFFFF") {
    2. mp.players.forEach((player) => {
    3. outputColoredChatBox(message, player, color);
    4. });
    5. }

    Funktion um Geld "schön" darzustelllen (ala 2000 -> 2.000$):

    Code
    1. export function formatMoney(amount: number): string {
    2. return amount.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
    3. }

    Funktion um einen Spieler bei teil-Name zu finden: