[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Ja hab ich mir auch schon gedacht, aber es gibt ja noch nen Befehl womit ich die SpielerID abfrage also


    halt insgesamt 3 musst dir das wie ne GetName() Funktion vorstellen.


    Bin mir sicher, dass man das alles in eine Funktion packen kann, kann mich


    nur nicht genau Erinnern wie man das nochmal schreibt

  • Bin mir sicher, dass man das alles in eine Funktion packen kann

    Natürlich kann man das, aber das will man nicht :D


    Bzw man sollte es eigentlich schlicht weg vermeiden, da das keine asynchronen calls wären, sondern synchrone...


    Dann lade die User_ID doch einfach 1x am Start und dann speichere sie zwischen in einer Variable?


    Dann kannst du sie immer direkt nutzen, ohne eine Funktion verwenden zu müssen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Warum ist "i" nicht definiert?

    Code
    SetTimerEx("PlaceRock",30000,0,"i",idx-1);
    Code
    forward PlaceRock(playerid);
    public PlaceRock(playerid)
    {
    	MovedRock[i] = 0; //Hier das i
    	return 1;
    }

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Warum ist "i" nicht definiert?

    Weil du es playerid genannt hast? :D


    Müsstest es dann schon i nennen, da du ja keine playerid übergibst :D


    C
    forward PlaceRock(i);
    public PlaceRock(i)
    {
        MovedRock[i] = 0; //Hier das i
        return 1;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Achsoo sehe erst jetzt, dass sich der Name nicht auf den Spielernamen bezieht, okay.

    Verstehe aber nicht warum man das nicht "wollen" wollte

    Weil der Server in dieser Zeit nichts machen kann und auf das Ergebnis von der Datenbank warten muss.



    Nutze bei Strings zudem IMMER %e, sonst wäre eine SQL-Injection möglich.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • So ich stehe momentan vor folgender Schwierigkeit da ich mich mit #emit etc. nicht auskenne.
    Ich will ein Script bisschen aufarbeiten indem ich das 2 sprachig mache.


    Ich habe da alles vollgeklatscht mit SendClientMessageEx.



    Dann habe ich folgendes gefunden aus dem Multilanguage Tutorial.


    C
    stock SendMessage(playerid, colour, Language1[], Language2[]) {
        switch( player_Language[playerid] ) {
            case 0: {   SendClientMessage(playerid, colour, Language1); }
            case 1: {   SendClientMessage(playerid, colour, Language2); }
        }
        return true;
    }

    Wie kann ich beides kombinieren, so dass ich z.B. ein SendMessageEx habe, mit dem ich dann Daten sowohl in den Text von Sprache 1 als auch Sprache 2 packen kann? Kann da jemand was bauen?


    z.B. sowas SendMessageEx(i, COLOR_WHITE, "%d joined the server","%d ha entrado al servidor",playerid); bzw, am besten das ganze noch fuer 3 Sprachen.

    Einmal editiert, zuletzt von Sub Royal ()

  • bzw, am besten das ganze noch fuer 3 Sprachen.

    Du kannst dafür ein Makro nutzen :)


    Habe mal eins Geschrieben, exakt für 3 Sprachen:



    Bei LANGUAGE_B würde eben B: 5 ausgegeben werden und bei LANGUAGE_C eben C: 5 :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Guten Abend,
    ich habe mal eine Frage, ich möchte gerne das er einen Random Skin aus meiner Liste erhält, meine Liste schaut wie folgt aus:

    #define MAX_SKIN_DATA 20
    enum e_SkinData{
    skinID,
    skinGender,
    skinFraktion
    }
    new SkinData[MAX_SKIN_DATA][e_SkinData] = {
    {2, 1, 0}, {6, 1, 0}, {7, 1, 0}, {15, 1, 0}, {19, 1, 0}, {21, 1, 0}, {22, 1, 0}, {23, 1, 0}, {26, 1, 0}, {29, 1, 0},
    {11, 2, 0}, {12, 2, 0}, {13, 2, 0}, {41, 2, 0}, {54, 2, 0}, {55, 2, 0}, {69, 2, 0}, {90, 2, 0}, {93, 2, 0}, {192, 2, 0}
    };


    Wie muss ich nun mit einer Schleife vorgehen, das er Beachtet welches Geschlecht er ist und welche Fraktion er ist.
    Und das er dann natürlich nur den Skin aus meiner Liste Erhält.


    Mit freundlichen Grüßen,

    Bestes Zitat des Jahres von Max Jackson!
    Vertrauen kann man mir auch, ich bin hier auf Breadfish schon sehr lange Aktiv und das sollte schon auf einer gewissen Weise, eine Vertrauensbasis schaffen. Ich meine, meine schlimmste Verwarnung war lediglich eine Morddrohung - Is ja nix.

  • Wie muss ich nun mit einer Schleife vorgehen, das er Beachtet welches Geschlecht er ist und welche Fraktion er ist.
    Und das er dann natürlich nur den Skin aus meiner Liste Erhält.

    Das könntest du so lösen:




    Beispiel Nutzung:


    C
    new skin = GetRandomSkin(playerid, gender, fraktion);
    if(skin == -1) return -1; //Fehler, weil kein Skin mit diesen Kriterien gefunden!!
    SetPlayerSkin(playerid, skin);

    Erklärung wie funktioniert der Code?



    Noch ein Mini Vorschlag:


    Hoffe ich hatte dich richtig verstanden und die Antwort hilft dir weiter! :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S