Beiträge von Kaliber
-
-
-
Nein, du musst die Logik nur drehen.
Also einfach negieren, das Gegenteil anwenden.
Anstatt den Fall, dass das Admin Level größer Gleich 1 sein soll, sagst du, wenn sein Admin Level kleiner 1 ist, (bzw in diesem Fall einfach 0), dann darf er es nicht tun.
-
Macht es viel aus wenn ich bei dieses hier es so mache ?
Das kommt darauf an, was darunter geschieht
Falls darunter auch ein return 1; steht, dann macht es keinen Unterschied.
Generell ist es eher dafür gedacht bestimmte Clean Code Prinzipien einzuhalten.
Hier mal ein Beispiel, was ich oft sehe:
C++
Alles anzeigenif(IsPlayerInRangeOfPoint(playerid,x,y,z)) { new a=random(10); if(a > 7) { if(y > 20) { if(IsPlayerInAnyVehicle(playerid)) { if(IsPlayerDriver(playerid)) { if(IsPlayerLeader(playerid)) { for(new i; i<MAX_HOUSES; i++) { if(i == 5 && IsPlayerInRangeOfPoint(playerid,i,i,i)) { if(HasItem(playerid)) { return SendClientMessage(playerid,-1,"ok"); } } } SendClientMessage(playerid,-1,"Nicht im Haus"); } else { SendClientMessage(playerid,-1,"Kein Leader"); } } else { SendClientMessage(playerid,-1,"Kein Fahrer"); } } else { SendClientMessage(playerid,-1,"nicht im Auto"); } } else { SendClientMessage(playerid,-1,"nicht ok"); } } else { SendClientMessage(playerid,-1,"nicht geklappt"); } } SendClientMessage(playerid,-1,"nicht am ort!");
Das ist ein sogenannter if-Tree des Todes 😂 Meistens geht das ja noch viel weiter.
Und oft ist das auch logisch nicht in der Reihenfolge, so wird meistens zum Schluss geprüft, ob man wirklich Dinge darf, obwohl vorher schon Dinge getriggert wurden.
Durch das return und gezielte Negation ist es möglich das aufzuräumen und deutlich übersichtlicher zu gestalten, dass du keine Ebenen mehr hast.
C++
Alles anzeigenif(!IsPlayerLeader(playerid)) return SendClientMessage(playerid,-1,"Kein Leader"); if(!IsPlayerInRangeOfPoint(playerid,x,y,z)) return SendClientMessage(playerid,-1,"nicht am ort!"); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"nicht im Auto"); if(!IsPlayerDriver(playerid)) return SendClientMessage(playerid,-1,"Kein Fahrer"); if(random(10) <= 7) return SendClientMessage(playerid,-1,"nicht geklappt"); if(y <= 20) return SendClientMessage(playerid,-1,"nicht ok"); if(!HasItem(playerid)) return SendClientMessage(playerid,-1,"kein item"); if(!InHouse(playerid)) return SendClientMessage(playerid,-1,"Nicht im Haus"); SendClientMessage(playerid,-1,"ok"); return 1;
Alle negativen / Fehler - Fälle fängst du quasi vorne ab und übrig bleibt der Happy-Path.
Dann ist das auch sehr übersichtlich und eindeutig.
Aber Performance-Technisch ist da kein Unterschied. Nur deutlich übersichtlicher, da ja auch hier auf else etc verzichtet werden kann.
-
Willkommen zurück 🤘🏼
Der wie vielte neue Acc war das jetzt? Komme gar nicht mehr hinterher
-
-
Heyho, ja das existiert weil du es per Ajax ja immer mitgibst.
In einer normalen form wäre das nicht der Fall.
Die Frage ist, was $('#SwitchItem_1').val() zurückgibt, wenn der Wert gesetzt ist oder nicht. Vermutlich 0 oder 1.
Musst in deinem PHP Skript also prüfen ob es existiert und ob es halt 1 ist
#Handy
-
Problem gelöst.
Erleuchte uns doch noch kurz
-
Welche SA:MP Version nutzt du denn?
Und wo hast du die her?
Bei mir wird keine .dat erstellt 😅
-
Hey ist es möglich mit GeoIP nur IP Adressen aus Deutschland zu zulassen quasi als VPN Schutz zu verwenden und wenn ja wie stelle ich es an besten an ?
MfG
Je nachdem welches GeoIP Include/Plugin du verwendest kannst ja einfach z.B. GetPlayerCountry verwenden und prüfen, ob die IP aus DE ist oder nicht.
Aber das natürlich kein VPN Schutz direkt, weil es ja auch viele VPN-Server in Deutschland gibt.
Aber ja, so blockst alle ausländischen Spieler 😄
-
Ihr könnt euren Skin für IG-Geld ändern, gleicher Preis!
Das finde ich bisschen Schade 😅 Mir ist auch nicht ganz ersichtlich, wie man Geld verdient? Einige Stages habe ich geschafft, und dann stand da nur, dass es Training-Stages waren? :o Wo finde ich denn die richtigen?
Paar Anregungen evtl:
- Fand es schade, dass wenn man eine Stage nicht geschafft hat, direkt eine neue kam. Wäre vllt cool, wenn man einen Modus hat, dass eine random kommt (so wie es jetzt ist) oder man manuell weiter skippen muss oder sowas...denn eig würde ich ja gerne welche trainieren wollen
- Manchmal war ich zu doof zu sehen, wo die Map losgeht...evtl wäre es cool, wenn man hier zum Start einen Checkpoint oder so setzt, dann sieht man das direkt.
- Es ist nicht nötig zu versuchen mit einem Textdraw die Mini-Map verdecken zu wollen. Ihr könnt einfach SetPlayerInterior nutzen, dann wäre die eh leer, aber man würde Checkpoints z.B. sehen.
- Ein /restart Befehl oder so wäre cool, dass man die Stage direkt nochmal wiederholen kann xD Manchmal war man aus der Stage raus oder hat den Fallschirm verloren, wäre aber noch ewig gefallen
Aber sehr cooles Konzept an sich, viel Erfolg!
- Fand es schade, dass wenn man eine Stage nicht geschafft hat, direkt eine neue kam. Wäre vllt cool, wenn man einen Modus hat, dass eine random kommt (so wie es jetzt ist) oder man manuell weiter skippen muss oder sowas...denn eig würde ich ja gerne welche trainieren wollen
-
Hey, ja möglich ist das definitiv.
Als Orientierung kannst ja mal hier rein schauen: https://github.com/derpierre65/pWBB4/releases/tag/0.2
Glaube es gibt noch kein wbb5 include, müsste man dann selbst noch erarbeiten 😅
#Handy
-
Powerpoint, habe ich das richtig gelesen?
Ich empfehle dir den Windows Movie Maker oooder das kannst auch online auf so vielen Webseiten 4 free machen.
-
-
Ganz einfache Lösung:
1. Crashdetect laden.
2. Log genau lesen. Dann weißt du, welche Funktion fehlt und musst daran das Plugin abglesen
-
coords := GetPlayerCoordinates()
Das sollte noch ganz oben.
Durch die Funktion weiß er, wo du bist.
Was am Nächsten ist, weiß er durch die getDist Funktion. Die bestimmt die Entfernung zwischen dir und dem Punkt.
Und anhand dessen wird es dann sortiert.
-
Ah ich hätte mehr Posten sollen, es soll sich nicht nur um 2 Vergleichsdaten handeln sondern um Unbegrenzte.
Schon klar, das tut es
-
-
Für 100 Euro würde ich nichtmal den code editor öffnen.
Warum sollte man sich denn für euch entscheiden mit so niedriger Entlohnung?Also logischerweise geht es hier um ein Hobbyprojekt und 100€ sind im Vergleich zu einigen anderen Summen, die ich hier immer mal lese, schon ganz gut.
Viele wollen ja ganze Selfmade Skripte, an denen Jahre gearbeitet wurde für 25€ haben.
Unser Ziel sind Minimum 500 Onlineuser
Alsoo plant ihr einen internationalen Server?
Paar Infos zu euer Vision wären ganz cool
-
So ist schon richtig
512 ist nur sehr übertrieben, kann ja nur 16 von der Ipv4 sein und 6 banip + Null Terminator = 16 + 6 + 1 = 23
Reicht vollkommen als string größe
#Handy