CREATE TABLE IF NOT EXISTS bedeutet das er nur eine anlegt wenn keine vorhanden ist.
Beiträge von YaBroo
-
-
Wie hängt er sich denn auf. Direkt beim Verbinden oder nach ner gewissen Zeit ?
Crasht die exe oder kann man neu verbinden und spielen?
Hängt er sich auf oder habt ihr TimeOut? -
Kennt sich jemand damit genauer aus oder hatte ähnliche Probleme ?
Woher kommt denn dann der 3. Zugriff auf den Server wenn nur du in dein Kollege connecten ?
Wie hängt er sich denn auf. Direkt beim Verbinden oder nach ner gewissen Zeit ? -
Auch wenn ich nicht Jeffry heiße würde ich dich gerne etwas fragen.
requests connection cookie. steht dafür, das jemand versucht auf den Server zu connecten.
Das der Server abschmiert, spricht dafür, dass evt. noch Bots connecten aber die MAX NPC / PLAYER in der server.cfg nicht angepasst sind.Benutzt du NPC's/Bots ? Schau mal in deine Server.cfg ob die max angepasst ist.
Bin mir nicht sicher ob der Server sich davon aufhängen kann, allerdings kann man dadurch nicht connecten.
Probeweise einfach mal schauen. -
Man kann auch einfach [wiki]GetPlayerPoolSize[/wiki] nutzen. Das gibt einfach die Anzahl der belegten Slots zurück.
Wenn playerid 1 und 22 online sind , spieler dazwischen sind offline, hat man aber dennoch unnötige slots und müsste durchgehend loopen bis random irgendwann
mit einem belegten slot übereinstimmt.
Kann man natürlich trotzdem besser verwenden als MAX_PLAYERS im Loop. -
https://wiki.sa-mp.com/wiki/SetTimer
http://wiki.sa-mp.com/wiki/Random
http://wiki.sa-mp.com/wiki/LoopsIm CMD setzt du einen Timer - gehst alle Spieler durch und stellst noch eine Abfrage ob es ein validplayer ist.
Nimm dir eine seperate vspieler bezogene variable zur Hand in der du einen counter der schleife (validplayers) speicherst.
Den Counter lässt du +1 setzen sofern eine Spielerid online ist.
Somit bekommt jeder der online ist eine Zahl zugewiesen.new var[MAX_PLAYERS],
counter;var[loopvari] = counter;
Dann nutzt du die Random Funktion und gehst die aktuelle größe des globalen counters durch.
Dann hast du als output eine Zahl, diese vergleichst du nochmal mit allen Spielern und guckst welcher Spieler diesen Counter input == randomzahl
hat und somit hast du immer einen Gewinner der Online ist.
Natürlich noch GewinnerCounter hinzufügen oder den alten resetten um zu prüfen wie viele Gewinner schon gepickt wurden.
Wesentlich besser als solange zu loopen bis mal rndm mit ner playerid übereinstimmt falls einer zwischen drin offline sein sollte außer man hat MAX_PLAYERS an seine reguläre Spieleranzahl angepasst,
dann wäre es nicht so wild. -
Du weißt Spieler[pID][pDeckname] nichts zu.
Was genau kommt denn raus wenn du im setdeckname CMD unten den string des decknamen printest?
Hat der Spieler bestimmte Decknamen oder freiwählbar?
Wenn sie freiwählbar sind musst du im CMD auchSpieler[pID][pDeckname] = deckname;SetPlayerName(playerid, deckname);
nutzen, dann wird es sofort INGame aktualisiert und in pDeckname gespeichert.
ggf. falls du den Decknamen erst beim verkleiden setzen möchtest, dann das SetPlayerName dort einfügen. -
Nicht gesehen das du einen ganz anderen CMD oben hast als dein unten beschriebenes Problem.
Wo setzt du denn den Decknamen? -
Hast du dem String nun auch den input des CMD's hinzugefügt?
-
Nun bekommt der Spieler eine Zahl statt den Decknamen
Spieler[playerid][pDeckname] auch mit MAX_PLAYER_NAME definiert?
und printe es dir dann nochmal aus weil du aktuell dem decknamen string keinen string zuweißt.
-
Warum erstellst du eig. jedem Spieler ein eigenes TextDraw anstatt einen bzw. 2 globale für alle die im Gangfight anzeigst/updatest?
Und was meinst du mit synchron geupdated wenn der string nur eine variable immer einzelnt updated (+1)? -
-
Die Idee eines Interaktiven Tutorial-Konzepts habt ihr sehr gut umgestezt
+1 für die Arbeit.
mfg
-
Das geht schon in die richtige Richtung aber gibt es noch andere die vlt besser sind ?
Schreib dir einen params Befehl in dem du alle Animationen selber durchgehen kannst. Dann kannst du dir ja den besten raus suchen.
-
Poste mal deine Definition der Gangfahrzeuge, Flock und wo du sie unter OnGMInit zu machst & unter OnPlayerEnterVehicle abfragst.
-
Das Fahrzeug wird auch abgeschlossen jedoch
wen ich in ein Haus rein und raus gehe ist es wieder Offen
Dann kann es ja laut System nicht abgeschlossen sein wenn es trotzdem offen ist.
Schließlich ändert sich der Code nicht wenn man ein Haus betritt / verlässt wenn dort nichts eingetragen ist.Geh unter OnGamemodeinit alle F-Fahrzeuge durch, dann abschließen lassen somit werden sie beim Laden auch gleichzeitig abgeschlossen.
-
Interessant ist auf jedenfall zu sehen das egal mit welchem Account ich versuche auf den Server zu connecten, dieser mir den output gibt das dieser Nickname wegen waffenhack gesperrt ist.
Props
Klassischer 0815 Server Startbonus der schon vor Jahren verpönt wurde schreckt ohnehin ab, sich aber nicht mal einloggen zu können ohne gekickt zu werden ist keine Bewertung wert. -
-
Bei mir geht das zum Beispiel nicht. Da kommt egal was ich eingebe "Ungültige ID" ?!
Wie hast du denn MaxVeh definiert?
-
Kommt keine Meldung if(Deagle[playerid] > 1) return SendClientMessage(playerid,ORANGE,"Du bist in der Deagle Arena");
Bei dir müsste es dann so aussehen da du scheinbar keine globale Vari hast die allgemein ist.