[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
  • Beitrag von Studs ()

    Dieser Beitrag wurde von Canna aus folgendem Grund gelöscht: Spam ().
  • Wie kann man den Bildschirm weiß machen ?
    Über ein Textdraw oder wäre es auch anders Möglich ?

    Hatte mal so ein System geschrieben gehabt:


    Mir würde auch kein anderer vernünftiger Weg einfallen das ohne TextDraw zu lösen...wüsste aber auch nicht wieso

    ast2ufdyxkb1.png


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

  • Beitrag von PlayEasy ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fehler Gefunden ^^ ().
  • @Kaliber:


    Danke dir :D
    Hab nur gedacht kannst man auch anders Lösen, man kann Ja fragen :)




    Habe eine andere frage wie mache ich das dass der Blitzer den Spieler angucken muss ?
    Sprich habe Links und Rechts ein Blitzer und will dass der Blitzer der für meine Fahrbahn zuständig ist ( der zur mir gerichtet ist ) dann auch meine Fahrbahn Blitzt.
    So erstelle ich meine Blitzer

    Code
    Blitzi[i][blitz_ID] = CreateDynamicObject(18880, Blitzi[i][blitz_x], Blitzi[i][blitz_y], Blitzi[i][blitz_z], 0.0, 0.0, Blitzi[i][blitz_r]);


    Habe noch ein Problem festgestellt.
    Irgendwie wird die Kilometer Anzeige "über dem Weißen angezeigt"

  • Irgendwie wird die Kilometer Anzeige "über dem Weißen angezeigt"

    Du musst das TextDraw als letztes erstellen mit dem Blitzer, dann wird es auch über allen angezeigt :)



    Habe eine andere frage wie mache ich das dass der Blitzer den Spieler angucken muss ?

    Wäre es nicht einfacher....den Blitzer Trigger point nur auf der einen Spur zu halten, wo er auch in die Richtung fährt? ^^


    Ansonsten kannst du das anhand der [wiki]GetVehicleZAngle[/wiki] ja einfach prüfen, in welche Richtung das Auto zeigen sollte, damit der Blitzer reagiert :)

    ast2ufdyxkb1.png


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

  • https://pastebin.com/Zd4cbTSm


    Bekomme hier immer den Befehl das HX, HY HZ und hInterior nie benutzt wurden in der letzten Zeile wo es benutzt wurde.


    Den Widerspruch hört man schon raus




    warning 204: symbol is assigned a value that is never used: "hInterior"
    warning 204: symbol is assigned a value that is never used: "HZ"
    warning 204: symbol is assigned a value that is never used: "HY"
    warning 204: symbol is assigned a value that is never used: "HX"

  • Also meinst du einfach nur abfragen ob das Auto in die Richtung fährt über die Z Rotation ?

    Jaa...das ist doch das, was du wissen wolltest ^^


    Darüber kannst du prüfen, ob das Auto auf den Blitzer zu fährt...oder eben nicht :)



    Den Widerspruch hört man schon raus

    Da ist kein Widerspruch, du benutzt es nicht.


    Du hast die Variablen deklariert und gibst ihnen einen Wert.


    Aber du fragst den Wert ja nirgends ab, also benutzt du die Variable nicht, du weist ihnen nur einen Wert zu :)

    ast2ufdyxkb1.png


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

  • Wie kann ich am besten ein Erfahrungslevel System erstellen, wo die User Erfahrungspunkte bekommen und dadurch das Level steigt ?

    Das kommt darauf an, wie sie diese Erfahrungspunkte erhalten sollen.


    Aber üblicherweise passiert das ja über dein "PayDay".


    Du kannst also einfach eine Spieler-Variable wie das Level machen, die nennst du dann z.b. pExp.


    C
    //Damit gibst du an, dass der Spieler Pro Level 4 XP braucht
    //Also um auf Level 2 zu kommen 4
    //Um auf level 3 zu kommen 8
    //Um auf Level 4 zu kommen 16
    //Kannst den Faktor natürlich beliebig Variieren
    stock GetXPNeeded(playerid)
    {
        return 4*SpielerInfo[playerid][pLevel];
    }


    Dann gibst du dem Spieler pro PayDay einfach immer einen Xp..



    C
    SpielerInfo[playerid][pExp]++; //Erhöht immer die XP um 1
    
    
    if(SpielerInfo[playerid][pExp] >= GetXPNeeded(playerid)) //Prüft ob er genug XP hat
    {
        //Level Up! :)
        SpielerInfo[playerid][pExp] = 0;
        SpielerInfo[playerid][pLevel]++;
    }

    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
  • Hey,


    Habe mal eine Frage ich möchte gerne verschiedene Autohaus Bizen machen..


    So käuft man ein Fahrzeug:



    Wie kann ich den Autohaus mit der zugewiesenen ID das geld in die Biz kasse geben?


    abfrage für den kauf: VehicleShop[i][AutohausID] //Um die ID zu erfahren des Autohauses


    Biz[1][bKasse] += VehicleShop[i][Preis]; //Die eins ist dafür das es in das Biz ein soll. aber da es verschiedene Bizen gibt kann man ja nicht allen das Geld geben nur da wo er halt das Fahrzeug gekauft hat wäre ja unfair

  • Du weißt ja, an welchem Biz er sich das Auto gekauft hat, als er es sich kauft...


    Du hast also 2 Möglichkeiten...


    Entweder du speicherst das in einem PVar und fügst das da einfach ein..


    oooder du prüfst die Positionen von dem Biz und checkst, an welchem er sich befindet..und hast so die ID.

    ast2ufdyxkb1.png


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

  • Das heitßt auf deutsch gesagt.



    if(IsPlayerInRangeOfPoint(playerid, 50.0, 953.2609, -1741.4628, 17.0195))
    {
    Biz[9][bKasse] += VehicleShop[i][Preis]/2;
    }


    Meinst ungefähr so wüsste sonst den weg nicht weiter das Business befindet sich da und wen er in den umkreis ist kann er ja kaufen?

  • Meinst ungefähr so wüsste sonst den weg nicht weiter das Business befindet sich da und wen er in den umkreis ist kann er ja kaufen?

    Zum Beispiel so :)


    Musst nur schauen, dass in diesem 50m Radius, nicht zufällig noch ein anderes Autohaus liegt :D

    ast2ufdyxkb1.png


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

  • Man könnte in der theorie ja eine arena erstellen wo er sich befinden muss oder etwa nicht?
    Dann könnte das ja auch klappen?

    Natürlich :)


    Gibt viele Möglichkeiten das zu machen...


    Kannst auch einfach Checken ob das Auto zu dem Biz gehört...

    ast2ufdyxkb1.png


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

  • E:



    AddPlayerClass(283,2067.0037,1367.3481,10.6719,308.5652,0,0,0,0,0,0); // Autohaus OldTimer Ecke 1
    AddPlayerClass(283,2237.4001,1523.3188,10.8125,145.5911,0,0,0,0,0,0); // Autohaus OldTimer Ecke 2


    AddPlayerClass(283,1025.1053,-1787.5189,13.8612,28.0382,0,0,0,0,0,0); // Autohaus Intercars Ecke 1
    AddPlayerClass(283,924.6554,-1579.4823,13.5469,224.4016,0,0,0,0,0,0); // Autohaus Intercars Ecke 2


    Hab dazu auch eine Zone erstellen lassen um zu schaun ob dies auch soweit korrekt ist.


    Dies sind die Abfragen der Area und zugleich die Bizen dabei.
    Habe die Bizen geprüft die sind korrekt und Funktionieren auch.


    Nun kommen wir zu den Teil vom stock siehe hier:


    C
    stock IsPlayerInArea(playerid, Float:zminX, Float:zminY, Float:zmaxX, Float:zmaxY)
    {
    	new Float:zoneX, Float:zoneY, Float:zoneZ;
    	GetPlayerPos(playerid, zoneX, zoneY, zoneZ);
    	if(zoneX >= zminX && zoneX <= zmaxX && zoneY >= zminY && zoneY <= zmaxY)
    	{
    		return 1;
    	}
    	return 0;
    }

    Nun zu erklärung:


    Ich habe nun beide Autohäuser eingefügt und die Area dazu.
    Nun Versuche ich Frustrierend ein Auto zu kaufen in der hoffung das die hälte davon in die Biz kasse fließt.
    Aber dies ist nicht der fall..

  • Zeig mal bitte deinen Befehl / Funktion wo du erläuterst wo das Geld von den Autos hin geht.

  • Schau dir mal die Parameter deiner IsPlayerInArea an und vergleiche sie mit deinen Koordinaten, an einigen Stellen sind die vertauscht.


    Parameter der Funktion:



    stock IsPlayerInArea(playerid, Float:zminX, Float:zminY, Float:zmaxX, Float:zmaxY)


    minimal X
    minimal Y
    maximal X
    maximal Y


    Und hier deine Aufrufe der Funktion:


    if(IsPlayerInArea(playerid, 1025.1053, -1579.4823, 924.6554, -1787.5189)) //Intercars Autohaus


    maximal X
    maximal Y
    minimal X
    minimal Y


    if(IsPlayerInArea(playerid, 2067.0037, 1523.3188, 2237.4001, 1367.3481)) //Oldtimer Autohaus


    minimal X
    maximal Y
    maximal X
    minimal Y