[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
  • Das sowieso nicht, nach 8 Stunden Arbeit und gefühlten 300 Beiträgen mehr im Forum, gucke ich nicht mehr meinen Thread an, außer er ist noch offen. Goldkiller hast du ein Tutorial zu der print Methode zur Fehlersuche? Kenne mich da noch nicht so aus.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche


  • es klappt nicht weiß einer wiso?
    das habe ich oben


    #define MAX_CARS 500


    enum ServerVeh
    {
    carID,
    Float:carX,
    Float:carY,
    Float:carZ,
    Float:carA,
    Color1,
    Color2,
    Numplate[50]
    }


    er läd das car nicht aus der Tabelle

  • Fcar_get hast du nicht gepostet. Was wird dort zurückgegeben ? Überleg doch mal einen Schritt weiter, falls man dir helfen soll.
    Falls es ein String / Array sein sollte,dann ist folgendes falsch:
    new ServerCars[MAX_CARS][ServerVeh];
    for(new i;i<MAX_CARS;i++)
    {
    ServerCars[i][carID] = Fcar_Get(i,"carID"); // <- falsch,da kein Array
    ServerCars[i][carX] = Fcar_Get(i,"PosX");// <- falsch,da kein Array
    ServerCars[i][carY] = Fcar_Get(i,"PosY");// <- falsch,da kein Array
    ServerCars[i][carZ] = Fcar_Get(i,"PosZ");// <- falsch,da kein Array
    ServerCars[i][carA] = Fcar_Get(i,"PosA");// <- falsch,da kein Array
    ServerCars[i][Color1] = Fcar_Get(i,"C1");// <- falsch,da kein Array
    ServerCars[i][Color2] = Fcar_Get(i,"C2");// <- falsch,da kein Array
    ServerCars[i][Numplate] = Fcar_Get(i,"Numplate");// <- richtig,da Numplate ein Array ist.Jede bezweifel ich,dass Fcar_Get ein Array der größte 50 zurück gibt
    CreateVehicle(ServerCars[i][carID],ServerCars[i][carX],ServerCars[i][carY],ServerCars[i][carZ],ServerCars[i][carA],ServerCars[i][Color1],ServerCars[i][Color2],-1);
    }

  • Jap ich lad die Positionen etc ales via %s.....


    Kein wunder das es nicht geht

  • Der Public public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) wird aufgerufen wenn ein spielr z.B. angeschossen wird und schaden nimmt. Jetzt kannst du darin eine abfrage erstellen. Ich zeigs dr mal anhand von deinem Beispiel!



    Public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    new Float:Armour;
    GetPlayerArmour(playerid, Armour);
    if(Armour >= 1)// Auch möglich ist glaube ich (Armour - amount >= 1) Dann würde der schuss schon mit abgezogen!
    {
    //leer, es soll alles so bleiben wie SA es vor sieht!
    }
    else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE && GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )//die Waffen die eingesetzt werden dürfen für den 'ONEHIT'
    {
    SetPlayerHealth(playerid, 0)//Player ist sofort Tod!
    }
    return 1;
    }

    [size=5]untested by Lego[/size]


    Tya das wäre meine Idee!

    Einmal editiert, zuletzt von Legö ()

  • Bei mir passiert nichts mehr, wenn man mit einem für Transfender vorgesehen Waagen in die Werkstatt fährt. Woran kann das liegen? Wüsste nicht das ich da was ins Scripte gesetzt habe was ein Tuning verbietet.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • @Kloppo:
    1.
    Wie meinst du das?
    Eine Art gleichung?
    if(deinenum == anderevariable) oder wie?
    2.
    zcmd <3 best


    3.
    PVar = PlayerVariable
    Int = Integer
    ok?


    Und nun zu meiner Frage:


    Ich bekomm hier einen Error (tag mismatch).
    Ich kann mir schon etwas denken, weiß es aber trotzdem nicht.


    Hier:

    format(textstring,sizeof(textstring),"**Blitzer**\nBlitzerID: %d\nBlitzradius: %d\nBlitzgeschwindigkeit: %d",PersonalBlitzerID[playerid],PersonalBlitzerRadius[playerid],PersonalBlitzerSpeed[playerid]);
    text = Create3DTextLabel(textstring,ORANGE,X,Y,Z,PersonalBlitzerRadius[playerid],GetPlayerVirtualWorld(playerid));


    Die Variable ist ohne einen Array erstellt worden, aber wenn ich einen mache (Max_players 64 uw) kommt ein Error.


    Ziel der Sache war:
    Einen 3Dtext abzuspeichern.


    Habe das schon öfters gemacht, aber da kam nie ein Error :O

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hätte mal ne Frage!


    SelectTextDraw Ist ja eine neue Funktion bei 0.3e Jetzt habe ich mir überlegt ein kleines Menü ähnlich wie das am Anfang beim Connecten für die Spawnauswahl.


    War auch soweit kein größeres Problem aber wenn ich nun ESC Drücke ist es ja das gleiche als wenn ich CancelSelectTextDraw(playerid); eingebe
    Das heißt der Spieler kann die Textdraws nicht mehr anklicken aber Sie stehen noch da... Wie bekomme ich es hin, das mit dem drücken auf ESC auch der Command TextDrawHideForPlayer(playerid, ClothesTextDone); kommt

  • Hallo
    Ich habe es wie in einem Video gemacht, mit dem spawn ändern!!
    /save ..... hat auch funksoniert
    habe es auch bei


    OnGameModeInit
    AddPlayerClass .......


    eingefügt es geht aber nicht


    Und noch was ich habe autos eingefügt kommt auch kein error.aber sie werden nicht angezeigt
    Woran liegt das


    Schon mal im vorraus Danke für die antworten

    MFG lukasf97

    Einmal editiert, zuletzt von lukasf97 ()

  • Soo schon mal vielen Dank an BloodyEric!


    Ich habs jetzt mit nem einfachen Debug mal hinbekommen!


    printf("clickedid = %d | Invalid_Text_Draw = %d", text:clickedid, text:INVALID_TEXT_DRAW);


    Wenn ich dann ESC Drücke kommt da flogendes bei raus!


    Code
    [23:34:42] clickedid = 65535 | Invalid_Text_Draw = 65535


    Somit lautet der Code um zu überprüfen ob ein Spieler die Auswahl verlässt:

    else if (clickedid == Text:INVALID_TEXT_DRAW)
    {
    SendClientMessage(playerid, 0xFFFFFFAA, "Abbrechen");
    TextDrawHideForPlayer(playerid, ClothesTextNext);
    TextDrawHideForPlayer(playerid, ClothesTextPrev);
    TextDrawHideForPlayer(playerid, ClothesTextDone);
    CancelSelectTextDraw(playerid);
    SetCameraBehindPlayer(playerid);
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) - playerid);
    FreezePlayer(playerid, 1);
    OnPlayerShowClothes(playerid, showclothes[playerid], 5);// reset
    showclothes[playerid] = 0;
    }


    das funktioniert auch einwandfrei :)


    Danke nochmal!