[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
  • Warum funktioniert das nicht? Also die Kamera ist da wo die eigentlich sein sollte.





    public OnPlayerRequestClass(playerid, classid)
    {
    switch(classid)
    {
    case 102,103,104:
    {
    InterpolateCameraPos(playerid, 2080.508300, -1770.675415, 21.305747, 2072.433349, -1770.615112, 18.449674, 2000);
    InterpolateCameraLookAt(playerid, 2075.827392, -1770.689453, 19.548332, 2067.589599, -1770.685791, 17.211372, 2000);
    gTeam[playerid] = TEAM_BALLAS;
    }
    case 105,106,107:
    {
    InterpolateCameraPos(playerid, 2494.229248, -1675.041625, 30.090682, 2494.307373, -1686.206054, 26.451690, 2000);
    InterpolateCameraLookAt(playerid, 2494.139404, -1679.788940, 28.523782, 2494.271972, -1691.024658, 25.117563, 2000);
    gTeam[playerid] = TEAM_GROVE;
    }
    case 108,109,110:
    {
    InterpolateCameraPos(playerid, 2640.679931, -1069.494873, 81.089004, 2631.218505, -1069.198364, 78.690437, 2000);
    InterpolateCameraLookAt(playerid, 2635.858886, -1069.415405, 79.765930, 2626.574707, -1069.089477, 76.840423, 2000);
    gTeam[playerid] = TEAM_VAGOS;
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Kann mir jemand verraten wie ich anfangen muss?
    Möchte mir mit einem Befehl eine Waffe geben (Rifle). Bis dahin ja ganz easy.


    Doch ich möchte das wenn ich mit der Rifle schieße zu der Position teleportiert oder geschleudert werde.
    Jemand ne Ahnung wie ich das anstellen soll?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Gibt es eine Möglichkeit mein stock kürzer bzw besser zu schreiben?


    stock GetRangName(playerid)


    stock GetRangName(playerid)
    {
    new str[35];
    if(SpielerInfo[playerid][pFraktion] == 1)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0: str = "SAPD Rang 0";
    case 1: str = "SAPD Rang 1";
    case 2: str = "SAPD Rang 2";
    case 3: str = "SAPD Rang 3";
    case 4: str = "SAPD Rang 4";
    case 5: str = "SAPD Rang 5";
    case 6: str = "SAPD Rang 6";
    case 7: str = "SAPD Rang 7";
    case 8: str = "SAPD Rang 8";
    case 9: str = "SAPD Rang 9";
    case 10: str = "SAPD Rang 10";
    case 11: str = "SAPD Rang 11";
    case 12: str = "SAPD Rang 12";
    }
    }
    if(SpielerInfo[playerid][pFraktion] == 2)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0: str = "BKA Rang 0";
    case 1: str = "BKA Rang 1";
    case 2: str = "BKA Rang 2";
    case 3: str = "BKA Rang 3";
    case 4: str = "BKA Rang 4";
    case 5: str = "BKA Rang 5";
    case 6: str = "BKA Rang 6";
    case 7: str = "BKA Rang 7";
    case 8: str = "BKA Rang 8";
    case 9: str = "BKA Rang 9";
    case 10: str = "BKA Rang 10";
    case 11: str = "BKA Rang 11";
    case 12: str = "BKA Rang 12";
    }
    }
    if(SpielerInfo[playerid][pFraktion] == 3)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0: str = "BW Rang 0";
    case 1: str = "BW Rang 1";
    case 2: str = "BW Rang 2";
    case 3: str = "BW Rang 3";
    case 4: str = "BW Rang 4";
    case 5: str = "BW Rang 5";
    case 6: str = "BW Rang 6";
    case 7: str = "BW Rang 7";
    case 8: str = "BW Rang 8";
    case 9: str = "BW Rang 9";
    case 10: str = "BW Rang 10";
    case 11: str = "BW Rang 11";
    case 12: str = "BW Rang 12";
    }
    }
    else if(SpielerInfo[playerid][pFraktion] == 0)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0: str = "Rang-Fehler";
    }
    }
    return str;
    }

  • stock GetRangName(playerid)
    {
    new str[35];
    switch(SpielerInfo[playerid][pFraktion])
    {
    case 1: format(str, sizeof(str), "SAPD Rang %d", SpielerInfo[playerid][pRang]);
    case 2: format(str, sizeof(str), "BKA Rang %d", SpielerInfo[playerid][pRang]);
    case 3: format(str, sizeof(str), "BW Rang %d", SpielerInfo[playerid][pRang]);
    default: str = "Rang-Fehler";
    }
    return str;
    }

  • Hat jemand irgend 'ne Möglichkeit abzufragen, ob die Selektion eines Textdraws durch die ESC Taste abgebrochen wurde? Dieser Abbruch durch die ESC Taste ist leider von SAMP aus und ich würde gerne mit diesem Abbruch auch das zu selektierende Textdraw schließen. OnPlayerKeyStateChange() bringt nichts, da es, je nachdem ob das Callback seine Tage hat, entweder für die Taste ESC eine 0 zurückgibt oder den Keycode für die Alt Taste.


    Danke im Voraus.

  • Könnt ihr mir ein Beispiel zu beidem machen?
    Einmal mit dem normalen Teleportieren und einmal mit dem Schleudern.


    Habe keine Ahnung wie ich das anfangen soll, Wiki hat mir auch nicht wirklich geholfen bzw. ich habe es nicht wirklich verstanden.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Hi, fange gerade mit Checkpoints an


    public OnPlayerSpawn(playerid)
    {
    SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
    return 1;
    }

    public OnPlayerEnterCheckpoint(playerid)
    {
    CreateVehicle(520, 1982.6150, -221.0145, -0.2432, 82.2873, -1, -1, 60000);
    DisablePlayerCheckpoint(playerid);
    return 1;
    }


    Wie kann ich es jetzt machen, dass beim Betreten des Checkpoints ein 2 erstellt wird usw.. ?



    Und noch eine kleine Frage:
    Wenn ich wie hier eine Globale Variable erstelle:
    new tank[MAX_VEHICLES];
    MAX_VEHICLES ist ja 2000 also
    new tank[2000];


    Jetzt wenn ich das aber so mache:
    ocmd:test(playerid,params[])
    {
    new tank[2000];
    return 1;
    }

    Dann steht es ja für einen String mit einem Array von 2000


    Und bei der globalen werden 2000 mal tank erstellt oder?
    Also tank[0] tank[1] tank[2] usw..



    Liege ich da richtig ?

  • Und bei der globalen werden 2000 mal tank erstellt oder?
    Also tank[0] tank[1] tank[2] usw..


    Es gibt in PAWN eigentlich keine Strings. Das sind auch nur Arrays, die du mit Zeichen füllst.


    d.h du erstellst keinen String, sondern eigentlich ein Array; in beiden Fällen.


    new string[6] = "Hello";
    oder
    new string[6] = {'H','e','l','l','o'};
    new string[6];
    string[0] = "H";
    string[1] = "E";
    ..

    Ist also das selbe.


    /edit: Es kommt lediglich darauf an, wie du dann mit dem Array umgehst.
    new Tank[4];// Array, wie du es vermutlich meinst.
    Tank[0] = CreateObject...
    oder eben
    new Tank[4] = {'H','e','y'}; // "Stringarray"