Nur aus Interesse, wofür willst du eine eigene format funktion?
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 -
Nur einzelne Filterscripts oder auch ein ganzes RL Grund- Skript?
-
Was sucht ihr noch?
-
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:
Codestock 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:
-
Bin mir nicht 100% sicher, aber:
Bei:
CodeGetPlayerPos(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.
-
Danke, hatte selber mal eine andere Funktion mit der ich das auch nach oben hin machen konnte ^^. Hab es ausgebessert!
-
Okey, ich gebe dir ein kurzes Beispiel:
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.)
-
-
Erstmal den Thread bitte lesen:
Tipps: Scripting-Probleme richtig erklären
Dein Problem ist ein Bug in dem Code den du geschrieben hast. Nur weil keine Fehlermeldung kommt, heißt es nicht, dass der Code funktioniert. Um dir zu helfen brauchen wir den Code den du zum erstellen/spawnen und respawnen der Fahrzeuge verwendest.
-
Die funktion gibt es nichtmehr, bzw brauchst du sie nichtmehr im neuen Mysql Update. Musst leider einiges Umschreiben Einfaches ersetzen der include und des Plugins reichen nicht.
-
Suche im Script nach "Deine IP ist bereits 1 mal auf Crazy Reallife Players eingeloggt!" und poste den Code der ein paar Zeilen davor und danach steht
-
Wird eine Client Message ausgegeben, wenn dein Kumpel gekickt wird ? Wenn ja, such die und kopier die darüber liegenden und darunter liegenden Zeilen raus.
-
Suche im Script mal nach dem stock "AddPlayer" und poste ihn
-
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: 5Die Rechnung dann nicht so ein: ?
Code
Alles anzeigenJackpot = Lottopot * (1+lottofaktor/100) Jackpot = 100 * (1 + 5 /100) Jackpot = 100 * ( 1 + 0,5) Jackpot = 100 * 1,5 Jackpot = 105
2. Deine Berechnungsmethode würde nicht funktionieren..
-
Oke, habe es jetzt mit 6 Parametern.
Eine Frage noch, ich habe die Berechnung zum Jackpot so:
Code
Alles anzeigenocmd:showjackpot(playerid,params[]) { SCM(playerid,frot,"Lottofaktor: %d",lottofaktor); SCM(playerid,frot,"Test: %f", 5/100); new jackpot = floatround(lottopot * (1+lottofaktor / 100)); SCM(playerid,frot,"Prozentsatz: %f",lottofaktor/100); SCM(playerid,frot,"Wert: %d",floatround(lottopot * (lottofaktor /100))); SCM(playerid,frot,"Jackpot: %d",jackpot); SCM(playerid,iblau,"Derzeitiger Jackpot: %d",jackpot); return 1; }
"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:
Code
Alles anzeigenocmd:lotto(playerid,params[]) { new pzahlen[5],str[128]; if(startetlotto == 0)return SCM(playerid,frot,"[FEHLER]: Es wurde keine Runde Lotto gestartet!"); if(sscanf(params,"s[5]",pzahlen))return SCM(playerid,frot,"[FEHLER]: /lotto [6 Zahlen]"); if(strlen(pzahlen) != 6)return SCM(playerid,frot,"[FEHLER]: Du musst 6 Zahlen eingeben!"); SCM(playerid,frot,"[ZAHLEN]: %s",pzahlen); for(new i=0;i<6;i++) { pZahlen[playerid][i] = pzahlen[i] - 48; SCM(playerid,frot,"Zahl %d : %d",i+1,pZahlen[playerid][i]); if(pZahlen[playerid][i] < 1 || pZahlen[playerid][i] > 45)return SCM(playerid,frot,"[FEHLER]: Die Zahlen müssen zwischen 1 und 45 liegen!"); if(i < 5) { format(str,sizeof(str),"%s %d. Zahl: %d",str,i+1,pZahlen[playerid][i]); continue; } format(str,sizeof(str),"%s Zusatzzahl: %d",str,pZahlen[playerid][i]); } if(GetPlayerMoney(playerid) < lottokosten)return SCM(playerid,frot,"[FEHLER]: Du brauchst %d um dir ein Los zu kaufen!",lottokosten); GivePlayerMoney(playerid,-lottokosten); lottopot += lottokosten; SCM(playerid,iblau,str); return 1; }
Wo mir jetzt das ausgegeben wird: