[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
  • Ich auch nicht wirklich, ist halt die Wantedanzahl die bei "aktuelles wantedlevel" angezeigt wird wenn man den befehl /su ausführt & der andere einfach nur um die aktuelle wantedanzahl per format anzeigen zu lassen.

    Ich habe mir den Code angeschaut und mir ist folgendes aufgefallen:
    public Stern()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new stern = WantedLevel[i];
    SetPlayerWantedLevel(i,stern);
    WantedLevel[i] = stern * 2;
    }
    }
    }
    Das wird durch einen Timer jede 30 Sekunden aufgerufen, sprich alle 30 Sekunden wird das Wanted Level verdoppelt.
    Das dürfte der Grund sein.


    Was hat es damit auf sich?


    Falls du das nicht benötigst, dann kannst du Zeile 11940 auskommentieren.
    [pwn=11940]SetTimer("Stern",30000,1);[/pwn]


    Damit sollte das Problem behoben sein.
    Du musst natürlich das Wanted Level in der Spielerdatei zurücksetzen, bevor du den Server betrittst.

  • Vielen DanIch auch nicht wirklich, ist halt die Wantedanzahl die bei "aktuelles wantedlevel" angezeigt wird wenn man den befehl /su ausführt & der andere einfach nur um die aktuelle wantedanzahl per format anzeigen zu lassen.

    Vielen Dank!


    Hab auch noch eine andere Zeile gefunden wo das verdoppelt wurde und rausgenommen,


    jetzt funktioniert alles, danke dir !

  • Hier habe vorhin vom Handy geschrieben deswegen hab ich den Code Vergessen
    Finde es sieht verschwommen aus

    Code
    Persoskin[playerid] = CreatePlayerTextDraw(playerid, 147.999984, 137.303588, "LD_SPAC:white");
    	PlayerTextDrawLetterSize(playerid, Persoskin[playerid], -0.184333, -8.885335);
    	PlayerTextDrawTextSize(playerid, Persoskin[playerid], 100.000167, 172.977813);
    	PlayerTextDrawBackgroundColor(playerid, Persoskin[playerid], 0x00000000);
    	PlayerTextDrawFont(playerid, Persoskin[playerid], 5);
    	PlayerTextDrawSetPreviewModel(playerid, Persoskin[playerid], 5);
  • Finde es sieht verschwommen aus

    Naja, die Sprites sind auch für so eine Größe nicht ausgelegt.


    Setz mal die TextSize auf 120, 120, dann sollte es gehen. Die sind nur für die Vorstellung gedacht, damit man erahnen kann, worum es sich handelt.


    Das sind jetzt keine Ultra 4k HD Bilder ^^

    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 ().
  • Derzeit habe ein Problem was nicht weg geht.


    Code:



    for(new i=0;i<sizeof(BusCar);i++)
    {
    UpdateDynamic3DTextLabelText(Vehicle[BusCar[i]][vehText],Hellblau,"Leerfahrt");
    Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL,Vehicle[BusCar[i]][vehText],E_STREAMER_ATTACH_OFFSET_Z,1.9);
    Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL,Vehicle[BusCar[i]][vehText],E_STREAMER_ATTACH_OFFSET_Y,5.0);
    SetVehicleNumberPlate(BusCar[i],"Bus");
    }


    Fehler:



    Fehler: *** Streamer Plugin: Streamer_SetFloatData: Invalid ID specified.


    Vielleicht kann mir einer helfen.

  • Vielleicht kann mir einer helfen.

    Das sagt aus, dass dieses 3DTextLabel nicht existiert.


    Da ich deinen Code kenne, bist du sicher, dass du die Busse per CreateVehicleEx erstellen lässt?


    Weil ja sonst keine 3DTextLabels erstellt werden :)

    ast2ufdyxkb1.png


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

  • Das sagt aus, dass dieses 3DTextLabel nicht existiert.
    Da ich deinen Code kenne, bist du sicher, dass du die Busse per CreateVehicleEx erstellen lässt?


    Weil ja sonst keine 3DTextLabels erstellt werden :)

    Ja die Busse sind alles erstellt.
    Die werden Ingame auch angezeigt aber der Text nicht.



    //e


    Hat sich Erledigt habe eine Zahl vergessen bei allen Bussen. xD

    Einmal editiert, zuletzt von ARCADION ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ahnung, warum es den Clienten crashed? Sehe auf die schnelle, keinen Fehler.

    CMD:members(playerid)
    {
    if(!PlayerInfo[playerid][pLoginState])return SendClientMessage(playerid, COLOR_GREY, "Fehler: Du bist nicht auf deinem Account eingeloggt.");
    if(PlayerInfo[playerid][pFraktion] == 0)return SendClientMessage(playerid, COLOR_GREY, "Fehler: Du befindest dich in keiner Fraktion.");
    strdel(DialogString, 0, sizeof(DialogString));
    for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLoginState])
    {
    if(PlayerInfo[i][pFraktion] == PlayerInfo[playerid][pFraktion])
    {
    format(DialogString, sizeof(DialogString),""HTML_WHITE"%s"HTML_WHITE"%s\t"HTML_WHITE"Rang: "HTML_SERVER"%d\t"HTML_WHITE"("HTML_SERVER"%s"HTML_WHITE")", DialogString, PlayerInfo[i][pName], PlayerInfo[i][pFraktionsRang], GetRankName(PlayerInfo[i][pFraktion], PlayerInfo[i][pFraktionsRang]));
    }
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_MEMBERS, DIALOG_STYLE_LIST, ""HTML_SERVER""#SERVER_NAME": "HTML_WHITE"Aktive Mitglieder", DialogString, "Bestätigen", "");
    return 1;
    }

  • strdel(DialogString, 0, sizeof(DialogString));

    Also nur kurz zur Anmerkung, globale Strings sind kaka in pawn.


    Lass die Finger weg davon. Es dauert übrigens länger einen riesen string zu clearen, als einen kleineren temporär zu erstellen ^^


    Hier kann es oft mal zu Fehlern kommen.


    Eventuell probierst du es einfach mal aus, evtl verursacht das deinen Crash.


    Ansonsten wäre auch die Crash-Fehlermeldung hilfreich :)

    ast2ufdyxkb1.png


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

  • Warum kann man trotzdem ins Minus gehen ?
    Beispiel habe 0 Euro - und möchte was für 20k kaufen. Was eigentlich nicht möglich ist. Aber es geht trozdem Code:


    stock GetPlayerEuro(playerid,euro,cent){if(SpielerDaten[playerid][pEuro] >= euro&&SpielerDaten[playerid][pCent] >= cent)return 1;if(SpielerDaten[playerid][pCent] < cent && SpielerDaten[playerid][pEuro] > euro){new zahl1,zahl2;zahl1=SpielerDaten[playerid][pEuro];zahl2=SpielerDaten[playerid][pCent];zahl1-=1;zahl2+=100;if(zahl1 >= euro&&zahl2 >= cent)return 1;}return 0;}


    Und hier meine Abrfrage:
    if((GetPlayerEuro(playerid, - 20000, 0)) < 0)return SendClientMessage(playerid, GRAU, "Hmm.. ich habe wohl zu wenig Geld für ein Fahrzeug.");





    //Edit lösung gefunden

    Einmal editiert, zuletzt von Taylor385 ()

  • Warum kann man trotzdem ins Minus gehen ?

    Weil deine Funktion heftig falsch ist.


    Ich empfehle dir einfach mit Floats zu arbeiten.


    Das ist um einiges eleganter und einfacher, als mit 2 Variablen hier zu hantieren.


    Ich werde dir jetzt nicht deine Funktion reparieren, aber hier mal ein Beispiel wie absurd das ist:

    if(SpielerDaten[playerid][pEuro] >= euro&&SpielerDaten[playerid][pCent] >= cent)return 1;

    Sagen wir du hast 20.000€ auf der Hand und 5 Cent.


    Du rufst deine Funktion auf, indem du was kaufen willst für 100€ und 10 Cent.


    Dann steht in der Abfrage:


    20.000 >= 100 && 5 >= 10


    Und das ist offensichtlich falsch, somit könnte er sich nichts kaufen ^^


    Obwohl er 20.000€ hat xD

    ast2ufdyxkb1.png


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

  • Hier mal die Crash Meldung @Kaliber
    Bei einem aktiven Team-Mitglied läuft der Dialog, ab 2 nicht mehr.

  • Bei einem aktiven Team-Mitglied läuft der Dialog, ab 2 nicht mehr.

    Da ich das gerade geschrieben habe: Schneller & strukturierter skripten


    Schau dir das mal an, eventuell hilft dir das ein wenig :)


    Hast du es denn mal ohne globalen String ausprobiert und tritt das Problem nur bei dir auf oder den anderen auch?

    ast2ufdyxkb1.png


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