[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
  • Genau das ist es was ich meinte.
    In dem Moment wo man z.b eine Fraktion mit der ID 5 hinzufügt Funktioniert alles aber wenn ich ID 5 wegnehmen Funktioniert es nichtmehr.


    Beispiel
    ID 5 Besteht


    Code
    fInfo[i][f_ID] Würde 6 Ergeben und i wäre 6


    ID 5 Besteht nicht


    Code
    fInfo[i][f_ID] Würde 0 sein da i 5 wäre in dem Moment


    Es geht ja darum dass wir darüber das Fraktionscar System laufen lassen und es Desewegen nicht Ganz Funktioniert.

  • Ach warte mal, jetzt kapier ich was du vor hast.


    Du willst f_ID und die Array Belegung egal wie 1:1 abbilden...dann machs einfach so:


    Anstatt dem hier:


    C
    cache_get_value_name_int(i, "id", fInfo[i][f_ID]);
    fInfo[i][f_VWorld] = fInfo[i][f_ID] + 100;
    cache_get_value_name_int(i, "Geld", fInfo[i][f_Geld]);
    //Etc


    Mach folgendes:


    C
    new id;
    cache_get_value_name_int(i, "id", id);
    fInfo[id][f_VWorld] = id + 100;
    cache_get_value_name_int(i, "Geld", fInfo[id][f_Geld]);

    Dann brauchste auch nicht f_ID, da das immer deinem Array Index entspricht.

    ast2ufdyxkb1.png


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

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Was ich versuchen wollte, dass der Spieler in eine andere Virtuelle Welt spawnt, er sitzt im Fahrzeug als Polizist, der Zivilist sitzt ebenfalls im Fahrzeug.

  • Hallo,


    Ich bin gerade an einem Selfmade drann habe gerade erst angefangen.


    Und ich wollte fragen wie ich den Chat deaktiviere weil ich schon ein Normalen chat erstellt habe.





    Code
    public OnPlayerText(playerid, text[])
    {
        new string[128];
    	format(string, sizeof(string), "%s sagt: %s", GetName(playerid), text);
    	ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
    	format(string, sizeof(string), "%s", text);
    	return 1;
    }


    Wen ich was schreibe wird es doppelt angezeigt.

  • So schreiben:


    C
    public OnPlayerText(playerid, text[])
    {
        new string[128];
        format(string, sizeof(string), "%s sagt: %s", GetName(playerid), text);
        ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
        return 0;
    }

    ast2ufdyxkb1.png


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

  • So schreiben:


    C
    public OnPlayerText(playerid, text[])
    {
        new string[128];
        format(string, sizeof(string), "%s sagt: %s", GetName(playerid), text);
        ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
        return 0;
    }


    Dankeschön,




    Habe ein Problem der Befehl Funktioniert Super.....




    Aber wen ich /id eingebe zeigt er mir an * Benutze .....
    und danach gibt er mir alles korrekt aus aber er zeigt noch an Server: SERVER: Unknown command.


  • Das hier reicht, da sscanf dir immer die ID gibt, auch wenn du den Namen eingibst:


    ast2ufdyxkb1.png


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

  • Das hier reicht, da sscanf dir immer die ID gibt, auch wenn du den Namen eingibst:


    Ok weiß ich bescheid.


    Nur das Problem habe ich wen ich /id eingebe.



  • Hey, Ich versuche momentan für Zivilisten eine Taxi Company zu machen,


    Und ich wollte fragen wie ich am Besten ohne viele zeilen auf jedes Fahrzeug ein 3DText Attachen Kann.

  • Naja, mit einer Schleife unter den Autos...zum Beispiel so:


    C
    for(new i,Text3D:tmp; i<sizeof(pTaxi); i++)
    {
        tmp = Create3DTextLabel("Taxi Company",0xFF4800FF, 0,0,0, 50.0,0,0);
        Attach3DTextLabelToVehicle(tmp, pTaxi[i][taxiVehicleID], 0.0, 0.0, 2.0);
    }

    ast2ufdyxkb1.png


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

  • Danke,



    Habe noch eben eine frage,



    Wie füge ich ein wen ich den Motor abschalte das das Licht mit ausgeht.


    Wen ich von Licht befehl das benutze geht der motor nicht mehr aus :o

  • Kann mir wer sagen was ich falsch gemacht habe? Irgendwie wills nicht so flippen xD


  • Kann mir wer sagen was ich falsch gemacht habe? Irgendwie wills nicht so flippen xD


    Mal soeine Dumme frage aber was soll da Passieren ?
    Guck dir diesen teil nochmal genau an.
    Du füllst die Varriablen x,y,z mit den Vehicle Positionen und a mit der ZAngle und setzt es dann wieder genau gleich ?
    Macht doch kein sinn oder ? Da muss sich doch ein Wert ändern sonst setzt du es genau so wieder hin wie es steht.


    Code
    GetPlayerPos(playerid, x, y, z);
    	vID = GetPlayerVehicleID(playerid);
    	GetVehicleZAngle(vID, a);
    	SetVehiclePos(vID, x, y, z);
    	SetVehicleZAngle(vID, a);
    	SetVehicleHealth(vID, 1000.0);
    • Offizieller Beitrag

    Kann mir wer sagen was ich falsch gemacht habe? Irgendwie wills nicht so flippen xD

    Es kommt darauf an, was du machen wolltest, dein Befehl sorgt dafür, dass das Fahrzeug, wenn es auf dem Dach liegt und der Fahrer den Befehl eingibt, das Fahrzeug wieder normal auf den Reifen steht und das Fahrzeug repariert wird.
    Falls du was anderes vor hattest, müsstest du dies nochmals genauer erläutern

  • Heyho, möchte gerne mit diesen Stock bestimmte Textdraws Anzeigen bzw. Ausblenden lassen via (True/False).


    Anzeigen klappt Problemlos, aber das Ausblenden klappt nicht.
    Auch der Print (Ausblenden) wird mir in der Konsole nicht Angezeigt, (Anzeigen) hingegen schon.



    stock ShowPlayerLoginScreen(playerid, bool:show = true)
    {
    if(show == true)
    {
    for(new i = 0; i < sizeof(bVs_RegisterEN[]); i++)
    {
    PlayerTextDrawShow(playerid, bVs_RegisterEN[playerid][i]);
    }
    SelectTextDraw(playerid, -1);
    TogglePlayerControllable(playerid, false);
    print("Anzeigen");
    return 1;
    }
    else if(show == false)
    {
    print("Ausblenden");
    for(new i = 0; i < sizeof(bVs_RegisterEN[]); i++)
    {
    PlayerTextDrawHide(playerid, bVs_RegisterEN[playerid][i]);
    PlayerTextDrawDestroy(playerid, bVs_RegisterEN[playerid][i]);
    }
    PlayerTextDrawHide(playerid, bVs_RegisterDE[playerid][0]);
    PlayerTextDrawHide(playerid, bVs_RegisterDE[playerid][1]);
    PlayerTextDrawDestroy(playerid, bVs_RegisterDE[playerid][0]);
    PlayerTextDrawDestroy(playerid, bVs_RegisterDE[playerid][1]);


    CancelSelectTextDraw(playerid);
    TogglePlayerControllable(playerid, true);


    print("Ausblenden");
    return 1;
    }
    return 1;
    }

    Die Missglückte Persönlichkeit, Ciao!

  • zB beim Connecten auf "True", ShowPlayerLoginScreen(playerid, true);
    Und wenn die Registration Abgeschlossen ist auf "False", ShowPlayerLoginScreen(playerid, false);


    MfG.

    Die Missglückte Persönlichkeit, Ciao!