Beiträge von Simon2202

    Schönen guten Abend,
    Da ich aus Spaß am scripten wieder zu SAMP zurück kehre, biete ich hier meine Dienste als Scripter an,
    Ich kann leider keine Referenzen vorweisen, da alles was ich an Filterscripts hatte auf meinem alten Laptop war, der leider unerwartet kaputt ging.


    Jedoch habe ich noch ein angefangenes Reallife Script, dass ihr euch im Falle einer Anfrage ansehen könnt.
    Es hat knapp 50.000 Zeilen, ist komplett Selfmade und kein GF Edit.
    Nur um einige Funktionen herauszunehmen:

    • Basiert komplett auf Mysql
    • Besitzt ein Login/Registersystem mit Verschlüsselung der Passwörter
    • Fraktionssystem mit dynamischen Rängen, Gehältern und Fraktionsautos
    • PayDay System

    Das Script ist zwar bei weitem nicht fertig, sollte jedoch schon zeigen was ich kann.


    Bei Anfragen bitte eine PN an mich. Der Preis wird dann immer gesondert abgesprochen, abhängig vom Umfang des Auftrages.
    z.B kosten kleinere Systeme (Lottosystem ohne Mysql etc.) um die 5€, größere Systeme (Fraktionssystem, Aktiensystem) ab 15-20€, jedoch stark abhängig vom tatsächlichen Umfang.


    Als Zahlungsmittel akzeptiere ich PayPal und BankÜberweisungen, bei kleineren Beträgen auch österreichische PaySafeCards.


    mit freundlichen Grüßen,
    Simon2202

    Entweder du machst das ganze händisch über eine Excel Tabelle.


    Oder über eine Google Doc Tabelle, da können dann auch mehrere darauf zugreifen. Oder, falls es hier auch um ein Script Problem handelt, kannst du es Ingame über eine Mysql DB machen.


    MfG

    So kannst du das auch nicht verwenden! Das hier:


    Code
    stock IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
    {
    	new Float:X, Float:Y, Float:Z;
    	GetPlayerPos(playerid, X, Y, Z);
    	if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY) {
    		return 1;
    	}
    	return 0;
    }


    kopierst du und fügst du ganz unten in dein Script ein. Verwenden tust du es Beispielsweise so:



    Code
    if(IsPlayerInArea(playerid,0,1000,0,1000) == 1) {print("Spieler ist in Area);} else { print("Spieler ist nicht in Area);}
    
    
    
    
    Die Funktion gibt 1 zurück, wenn der Spieler in der Area ist und 0 wenn er es nicht ist!

    Bin mir nicht 100% sicher, aber:


    Bei:


    Code
    GetPlayerPos(id,pX,pY,pZ);
        pInfos[id] = CreatePlayer3DTextLabel(id, "", -1, pX, pY, pZ-7, 15.0, id, INVALID_VEHICLE_ID, 0);

    Attached du das TextLabel an den Spieler, in dem Falle geben die X,Y und Z Koordinaten den Offset an, also wie weit das TextLabel vom Spieler verschoben ist.


    Jedoch verwendest du hierbei die Spielerkoordinaten, also wahrscheinlich wird das 3d text Label wo angezeigt nur ganz weit weg, weil die Spieler Position recht hohe zahlen sind.

    Okey, ich gebe dir ein kurzes Beispiel:


    Code
    new var[6];
    for(new i=0;i<5;i++)
    {
      var[i] = i;
      if(var >= 6)
      {
        print(var);
      }
    }


    So. kein Praxisbezogenes Beispiel aber das schnellste was mir eingefallen ist. Das hier würde dir im Compiler keinen Error ausgeben, von der Syntax ansich passt es ja. der Compiler weiß ja nicht, was du mit dem Code machen willst, der spuckt dir nur einen Fehler aus, wenn die Syntax deines Codes falsch ist. z.B ein Klammerfehler, etwas falsch geschrieben, Semicolon vergessen etc.


    Jedoch würde nie etwas geprintet werden, weil die Schleife nur bis 4 durchläuft, das wäre dann eben ein Bug. Und einen Bug können wir nicht lösen ohne den Code zu haben.



    (Übrigens, selbst wenn du nach einem Compilerfehler fragst wäre es nützlich den Code zu haben. Lies bitte den Thread den ich oben verlinkt habe.)

    Beispiel:


    Du hast eine Zone, die eine untere Ecke ist z.B (0|0|0) die obere (100|100|100). Es muss bei der Funktion ein Rechteck sein,


    Dann schreibst du das so:


    Code
    IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY);
    
    
    IsPlayerInArea(playerid, 0.0, 0.0, 100.0, 100.0);

    Hier wird dir kaum jemand helfen können, habe mal gesucht und der Downloadlink vom Script wurde entfernt.


    Das ganze funktioniert bei "OnGameModeInit" mit dieser Funktion: [wiki]GetPlayerIp[/wiki]


    Ich schätze mal, die Ip jedes Spielers wird gespeichert und bei jedem der neu verbindet wird abgefragt ob bereits ein Spieler mit der Ip online ist.


    Musst mal bei "OnGameModeInit" schaun wo das ganze stattfindet.

    1. Verarbeite ich das ganze ja mit floatround ? Sollte wenn ich die Werte so habe:


    Lottopot: 100
    Lottofaktor: 5


    Die Rechnung dann nicht so ein: ?


    2. Deine Berechnungsmethode würde nicht funktionieren..

    Oke, habe es jetzt mit 6 Parametern.


    Eine Frage noch, ich habe die Berechnung zum Jackpot so:



    "lottofaktor" hat einen Wert von 5.


    Habe mir das jetzt bisschen debugged und alles ausgeben lassen und bin drauf gekommen, dass: 5/100 = 0.00000 ist.... Aber woran liegt das eigentlich sollte doch 0.05 heraus kommen?

    Ich komme gerade drauf, ich lasse ja Zahlen zwischen 1 und 45 Abfragen, also auch 2 Stellige.


    Gibt es einen guten Weg das zu machen, oder muss ich den Befehl dafür so aussehen lassen: /lotto [Zahl1] [Zahl2] {Zahl3] {Zahl3] [Zahl4] {Zahl5] [Zahl6] , Also jeden in einen Eigenen integer wert speichern?

    Hat sich nichts geändert, noch immer das gleiche. Habe jetzt noch eine ClientMessage vor der Schleife eingefügt:



    Wo mir jetzt das ausgegeben wird:



    Code
    [21:48:05] [ZAHLEN]: 49
    
    
    [21:48:05] Zahl 1 : 123456
    
    
    [21:48:05] [FEHLER]: Die Zahlen müssen zwischen 1 und 45 liegen!