Beiträge von Kaliber

    Ach warte mal, jetzt kapier ich was du vor hast.


    Du willst f_ID und die Array Belegung egal wie 1:1 abbilden...dann machs einfach so:


    Anstatt dem hier:


    C
    cache_get_value_name_int(i, "id", fInfo[i][f_ID]);
    fInfo[i][f_VWorld] = fInfo[i][f_ID] + 100;
    cache_get_value_name_int(i, "Geld", fInfo[i][f_Geld]);
    //Etc


    Mach folgendes:


    C
    new id;
    cache_get_value_name_int(i, "id", id);
    fInfo[id][f_VWorld] = id + 100;
    cache_get_value_name_int(i, "Geld", fInfo[id][f_Geld]);

    Dann brauchste auch nicht f_ID, da das immer deinem Array Index entspricht.

    Ganz einfache Lösungsmöglichkeiten:


    • Du erstellst in der MySQL Datenbank auch Fraktion 5. Natürlich alles leer und mit name Test oder sowas. Das einzige was du dann beachten musst ist, dass da niemand reingesetzt werden kann.
    • Oder du machst dass Fraktion 6 zu Fraktion 5 wird. Anschließend wird später Fraktion 5 zu 6. Ich meine, das juckt niemanden welche ID da was hat.

    Ich kann mir nicht vorstellen das es jetzt an den fehlenden tabellen liegt.

    Ich kanns dir nicht sagen, das könntest du aber einfach feststellen, indem du bei den anderen Servern in den MySQL Logs schaust und wenn dieser identisch ist, muss es eine andere Fehlerquelle haben.


    Ich weiß nicht, ob du etwas am Skript geändert hast oder nicht.
    Aber dennoch sollten eigentlich keine Fehler auftreten im MySQL Log, da es ja so oder so zu fehlern kommt, egal ob man sie von außen sieht oder erst dann, wenn Daten durcheinander gebracht werden.


    Kann dir nur raten, versuch die Querys richtig zu machen und dann wenn keine Fehler mehr da sind und es immer noch nicht geht, muss es ein Skripttechnisches Problem sein.
    Dann bräuchte ich da mal die Codes von :)

    Ja..eh die Logs sind selbstsprechend...


    Schaut euch eure Querys nochmal an und welche Tabellen fehlen, erstellt diese und passt die Querys an ^^


    Ein Log sagt mehr als 1000 Worte..hahaha xD

    Ahh ja, mein Fehler, das Array beginnt ab 0, du startest ab 1.


    Also unter OnPlayerSpawn mach mal folgendes:


    Warum spawnt der Spieler nicht nach 10 Sekunden?

    Ich verstehe nicht, was du da versuchst.


    AddPlayerClass gibt die Möglichkeit einen Skin zu wählen in der ClassSelection.


    Da musst du ihn auch mal rein setzen, das könntest du mit ForceClassSelection und SpawnPlayer tun.


    Allerdings ist bei AddPlayerClass der erste Parameter die Modelid, wo du überall 0 hast.


    Was hat das für einen Sinn? Er würde immer den CJ Skin angezeigt bekommen.


    Und du erstellst überall Autos für jeden Spieler...die verwenden aufeinander gestapelt xD


    Bei 20 Spielern, macht das 100 Autos und jeweils 20 aufeinander xD gg

    Schreib es doch einfach mal so:



    Was gibt denn das printf da aus?

    Der Text muss ich sagen verwirrt mich etwas. Du wirst nirgends konkret, hier mal ein paar Beispiele was ich meine:


    Es soll kein Server werden wo es dinge gibt die man noch nie Irgendwoanders gesehen hat ( vielleicht ist da das ein oder andere bei ) aber sonst will ich z. B. Jobs wie Müllmann einfach schöner gestalten für die User, damit es auch mehr Spaß macht.

    Also die letzten Server die ich so gesehen habe, die inzwischen auch alle wieder down sind, da war es so, dass man Mülltonnen hatte, und diese zum Auto getragen hat richtig nach unten und dann konnte man zum Nächsten Haus. Also immer von Haus zu Haus und die einen hatten sogar eine kleine Plattform hinten, wo einer stehen konnte.


    Jetzt ist die Frage, wie willst du denn das Ausbauen?! Da würde mir eigentlich nichts zu einfallen.
    Ich verstehe zwar den Punkt mit dem für User schöner gestalten, aber das sagt sich immer so leicht.
    Das ist ja kein Konkreter Plan, sondern so ein wisch wasch.


    Es soll kein Projekt werden was in den Nächsten 2 Wochen Startet mit 100 von Bugs.

    Klar will man das nicht, ich denke kein Projekt hatte das Ziel 100 Bugs zu haben oder Down zu gehen xD
    Dennoch ist es passiert, obwohl viele gute Ideen hatten und/oder es weniger Bugs gab.


    Wie willst du realisieren, dass wenige Bugs vorhanden sind?
    Da wären Schlagworte wie, System Kopplung sehr wichtig gewesen. Das hier auf sorgfältigen Code geachtet wird. Verschiedene Includes, Trennung vom Gamemode, Systeme separat testen. Besonders viel testen, das tun viele Server viel zu wenig, leider.


    Aber um zu vermeiden in den Nächsten 2 Wochen Down zu gehen, ist es meiner Ansicht nach keine Idee zu sagen, ja bei uns ist das nicht so und wir haben ein tolles Müllmannsystem.


    Versteh mich nicht falsch, ich finde es heldenhaft, zu versuchen einen vernünftigen Reallife Server zu skripten in diesen Zeiten.
    Ich meine, da braucht man ja Leute für, darauf gehst du beispielsweise gar nicht ein, wer skriptet denn alles, wer mappt denn alles?
    Werden diese Leute entlohnt oder machst du das wirklich alles alleine? Denn das kann manchmal sehr schwierig werden und ziemlich lange dauern.


    Es gibt so viele wichtige Aspekte bei einem gezielten System und zwar geht es nicht so sehr um die 100%ige Ausführung, sondern auch um das große und ganze Konzept dahinter, was in meinen Augen viel wichtiger ist.
    Wenn nur die Jobs schöner gestaltet sind, glaube ich kaum, dass ihr wirklich attraktiv für die Leute werdet.


    Erkläre doch im Detail, was euch besonders macht, was für große Pläne du hast.
    Ob schon Teile vom Skript existieren, ob schon überhaupt was existiert.


    Du stellst dich sehr ausführlich vor, aber eigentlich hätte das Alter genügt und Informationen wie, wie lange du in SA:MP unterwegs bist oder wie Vertraut du mit den ganzen Konzepten bist, ob du schon mal einen Server geleitet hast, all das wären viel wichtigere Informationen, als wo du wohnst.


    Ich verstehe nicht, wieso deine Anfrage so viele Leute "Liken", für mich sieht das eher danach aus, dass du ins blaue los skriptest und hoffst, dass paar Leute sich dir anschließen, die evtl was beisteuern und joa..das wars eigentlich. Ich will dich jetzt nicht angreifen oder so, aber diese Konzeption, richt eigentlich eher nach 0815, als nach irgendeinem guten Plan bzw Server.


    Zudem ist dein Text sehr groß geschrieben, was leicht unseriös wirkt, weil es so rüber kommt, dass du verschleiern willst, dass das eigentlich ziemlich wenige Informationen sind, also einfach mal etwas größer.


    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Da ist meine (hoffentlich) konstruktive Kritik wohl doch etwas länger geworden, das tut mir Leid :)


    Ich wollte das mal loswerden, nichts gegen dich, es kommen ja fast täglich solche Anfragen hier in Breadfisch, nur es hat jetzt leider dich getroffen, das tut mir Leid.


    Ich hoffe du kannst ein paar Schlüsse daraus ziehen und machst dir ein paar Gedanken, denn wenn du wirklich nur ins Blaue Skriptest, suche nicht nach einem Projekt, sondern einfach nach ein paar Leute, mit denen du ein bisschen Fun hast auf deinem Gamemode.
    Seriöse Projekte sollten nicht ohne Konzept mal eben so entstehen, falls ich mich aber irre und das völlig falsch sehe und du voll das krasse Konzept hast, was du einfach nur geheim halten wolltest, lass uns wissen, ich denke mal, da sind alle gespannt, was uns dann da erwartet!


    #RageModeOff


    Ansonsten, euch noch viel Erfolg! :)

    Hallöle,


    habe gerade was auf meiner Platte gefunden, was für den Ein oder Anderen eventuell ganz hilfreich sein kann.


    In der heutigen SA:MP Zeit, wird ja viel auf so interaktives reden gelegt wo man manchmal in Squenzen landet, wo es einem so vorkommt als ob der Bot/Actor mit einem redet.


    Blöd nur, wenn es einen O-Chat (Globalen Chat) gibt (oder Neulings Chat) oder what ever, was diese Sequenz quasi kaputt macht.


    Viele Server denken sich hier, ok dann senden wir dem Spieler einfach keine Nachrichten.


    Gut, das geht auch in vielen Fällen gut, nur ist es so, das zum Beispiel gerade wenn der User im Tutorial ist oder so, viele Spieler ihn grüßen oder ähnliches mit ihm schreiben, ohne zu wissen, dass er die Nachrichten nie erhalten wird.


    Um diesem Problem entgegen zu wirken hatte ich mal diese Include geschrieben.


    Da werden alle Nachrichten gespeichert, die der User nicht erhalten hat und nach der Sequenz wiedergegeben.
    So gibt es keinen Informationsverlust und der User hat nichts verpasst und eine schöne Sequenz gehabt :)


    Konfiguration
    Nun, hier gibt es nicht viel zu zu sagen. Einfach unter OnPlayerConnect die Funktion initCache(playerid); aufrufen, für den Reset.
    Falls sich hier Leute fragen, wieso ich das nicht gehookt habe lautet die Antwort einfach, weil ich keinen anderen Includes dazwischen funken will.
    Kann natürlich bei belieben verändert werden.


    Nutzung
    Hier mal ein "typischer" Auszug aus OnPlayerText:



    Also schauen wir uns das ganz kurz an:


    Wenn der Spieler im "Cache-Modus" ist, nichts anderes prüft die Funktion isCache, dann werden die Nachrichten dem Cache hinzugefügt und dem Spieler in diesem Moment nicht gesendet. Andernfalls, wird natürlich einfach die Nachricht gesendet.


    In den "Cache-Modus" kann der Spieler durch die Funktion startCache(playerid) gesetzt werden.


    Am Ende, wenn er aus der Sequenz (z.B. dem Tutorial) raus ist, einfach die Funktion: endCache(playerid) nutzen, dann wird alles gespeicherte gelöscht und dem User werden alle verpassten Nachrichten gesendet :)


    Download
    Source-Code: PasteBin
    Direkter-Download: MediaFire


    [size=12]Schlusswort
    Hoffe für den Ein oder Anderen, ist das eine kleine Hilfe :)


    Zusatz-Info für Skripter:

    @Kaliber sobald man bei einem Spieler auf "Hinzufügen" / "Abziehen" klickt, obwohl kein Betrag eingegeben wurde, steht da "NaNM" und man kann diesem Spieler nichts mehr Abziehen sowie Hinzufügen.

    Joa, da parseInt daraus nicht 0, sondern NaN macht...


    Kannst ja die Abfrage ändern von if(sum <= 0) zu if(isNaN(sum)).


    Frage: Ist es nicht sinnlos, beim Input negativ Beträge zu erlauben, wenn es bereits einen "Abziehen" Button gibt?

    Ist es nicht sinnlos mir diese Fragen zu stellen, wobei du das System nicht einmal nutzt?


    Ist doch Jacke wie Hose...

    Hoffe ich habe das richtig verstanden:


    Also in der Mitte haste die Kontrolle.


    Du gibst da einen Betrag ein und diesen kannst du dann mit der Tabelle auf der Linken Seite hinzufügen oder abziehen.


    Oder eben auf der Rechten Seite, je nachdem wie du das magst ^^


    Falls dich noch was stört oder nicht funzt, kannste gerne hier nochmal schreiben :)


    Hoffe es taugt was xD


    //Edit: Die Namen kannst du im Quellcode ändern.


    Oben steht ein Array und dort einfach direkt reinschreiben, habe es extra markiert :)


    //Edit2: Für alle, die es nicht downloaden wollen, und sich nur mal anschauen wollen hier ein Screen:


    //Edit3: Für Freiparken, einfach noch einen User hinzufügen und "Freiparken" nennen xD


    Paar Fragen:


    1. Sollen die Daten gespeichert werden? Im Sinne von, wenn man das HTML-File schließt, sollen dann die Daten weiterhin verfügbar sein?


    2. Was soll das Feld in der Mitte? Das sieht aus wie ein Taschenrechner, aber ist dieser Relevant? Weil..eh den hat man ja mal schnell zur Hand...


    3. Ist das für mehrere oder hast nur du das offen und ihr schaut alle drauf?