Beiträge von SkeeZy

    [09:32:09] AllowAdminTeleport() : function is deprecated. Please see OnPlayerClickMap()

    1. bewusst ?



    2. Also du könntest die Funktionen im OnGameModeInit2 mal einzeln rausnehmen und schauen, ob es an einer von diesen liegt.
    Wenn die Logs nichts sagen ist es immer äußerst schwierig.


    3. Wird mit MySQL etwas wichtiges geladen, dass den Gamemodenamen / Spawnfunktion beeinflusst ?


    4. Oder mal anders, funktionieren denn erstelle Commands / Funktionen ?


    5. So wie ich Kaliber kenne, hat er dein Problem soeben gelöst. :D

    Das Problem ist das Wort "Desc" das ist eigentlich eine SQL Anweisung. Diese steht mitten im query entsprechend weiß MySQL nicht was das da soll.


    Entweder nutzt du eine eine Bezeichnung bspw. description und wenn das gar nicht in Frage kommt nutzt du die Backticks `

    Okay ich versuchs mal, auch wenn ich desc vorher bereits einmal zu descr umbenannt habe.
    Das mit den Backticks funzt ja vielleicht.


    Hab noch ein Problem. Ingame wird mir wenn ich einen 6stelligen String als Tag eingebe der letzte Buchstabe gelöscht.
    Würde ich als Tag also Ingame im Befehl "testen" eingeben, wird daraus "teste"


    hau sonst mal raus was in der Log steht, also die ganze Zeile.

    hier:


    Brainfuck
    [18:43:27] [ERROR] error #1064 while executing query "INSERT INTO fraks (id, name, tag, desc, type, ent_x, ent_y, ent_z, ent_r, ent_int, ent_vw, maxmember) VALUES ('1', 'MechanikSF', 'MechS', '-', '0', '-1976.149536', '137.932114', '27.687500', '270.880096', '0', '0', '20'": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'desc, type, ent_x, ent_y, ent_z, ent_r, ent_int, ent_vw, maxmember) VALUES ('1',' at line 1

    Hab die Desc mal mit einem String ausgefüllt. War kein Unterschied.
    Von der Log her siehts so aus als würde es mir die Query abschneiden.

    scheint so als ob du einfach nen Parameter vor dem ersten %f vergessen hast.Du gibst 11 Parameter an hast aber nur 10 Values

    Also entweder ich bin blind oder es sind gleich viele. Habe es mit %e statt %s zuerst versucht. Gleiches Ergebnis.
    Andere Frage:
    Kann man einen leeren String in der MySQL Query mitgeben? desc wäre da wo ich es benutzt habe nämlich ""
    CreateNewFrak(name, tag, "", 0, X, Y, Z, R, GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), 20);

    Hey,
    ich der INSERT CMD wird nicht erfolgreich ausgeführt(Tabelle bleibt leer).
    Die mysql.log sagt ich habe hier einen Syntax-Fehler:


    Code
    new query[256];
    mysql_format(handle, query, sizeof(query), "INSERT INTO fraks (id, name, tag, desc, type, ent_x, ent_y, ent_z, ent_r, ent_int, ent_vw, maxmember)");
    mysql_format(handle, query, sizeof(query), "%s VALUES ('%d', '%e', '%e', '%e', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d')",
    	query, frakid, name, tag, desc, type, X, Y, Z, R, interiorid, virtualworld, maxmember);
    mysql_pquery(handle, query, "OnFrakCreated", "d", frakid);

    Finde diesen jedoch einfach nicht.


    Ich danke schonmal im Voraus.

    Das übliche:
    Was zeichnet euch aus ?
    Habt ihr ein ganz besonderes Konzept, dass uns ansprechen könnte ?
    Supporter müssen mind. 17 sein, Projektleiter wohl nur 16.
    Man erfährt mMn. genau garnichts zu eurem Konzept oder der bisherigen Entwicklung des Projekts.
    Naja gut, ihr habt ein Forum und der Teamspeak kommt.


    Wär schön, wenn ihr die Punkte noch ergänzen würdet ^^

    Genau Herr CyberFish. Es ist nur ein Spiel. Und ich finde es nicht angebracht meine Kompetenzen wegen meiner Ausdrucksweise in Frage zu stellen. Ich hab nur gefragt ob jemand Interesse hat. Ja oder nein. Mehr will ich nicht wissen. Weder was von irgendeinen Rechtschreibdoktor oder sonnst was. Somit hab ich auch keine Lust mehr sinnlos über Kleinigkeiten zu diskutieren.



    Trotzdem danke an alle für die Antworten, Vorschläge etc. :thumbup:

    ganz ehrlich. Bei den Antworten kam doch für dich nichts gutes rum, oder ?
    Außer vllt. hierbei: :D

    Lern doch einfach selber Scripten schadet ja nicht.


    PS: Überprüfe nochmal deine Rechtschreibung weil wenn ich sehe das du nämlich mit H schreibst...


    Ich merke es auch immer wieder, dass hier viel um den heißen Brei geredet wird. Ist wohl eine Angewohnheit dieser Community, die sich immer wieder mal zeigt und auch nicht aufhören wird.
    Natürlich ist die Kritik aber auch berechtigt. Es ist klar, dass man einfach keinen einzigen Spieler aus der deutschen SAMP Community nur mit einem Script beeindrucken und zum Spielen oder zur Unterstützung bringen kann.


    die Unzufriedenheit durch die immer wieder "gleichen" Server bleibt bestehen und wenn was neues kommt wird nach dem "gleichen" alten gefragt.


    Was ich damit meine:


    Du solltest dir erst wirklich überlegen, ob sich das ganze auch von deiner Seite lohnt und ob du auch über längere Zeit bei deiner Meinung bleibst.
    Die meisten Serverprojekte verschwinden nämlich nach einigen Tagen/Wochen wieder.
    Wenn du also ein Projekt ganz sicher durchziehen möchtest, musst du nurnoch einige Leute finden die dich bei der Sache unterstützen und das sind mMn. am besten welche, die du schon länger kennst und dessen Erfahrungen / Fähigkeiten du einschätzen kannst.
    Es kommen in diesem Forum viel zu viele Leute an, die sich nach potenziellen Teammitgliedern umschauen wollen, jedoch am Ende nichtmal dazu kommen einen Gameserver zu starten.


    Die meisten hier werden nicht mehr wirklich viel Interesse daran haben, ein Projekt vom Beginn an zu unterstützen, wenn es nicht schon gut läuft, ohne dass sie dafür auch sinngemäß entlohnt werden.
    Wenn du vielleicht eine gute und ansprechende Basis für ein solches Projekt hast, findest du sicher den einen oder anderen. Aktuell wissen wir aber nur, dass ihr zu zweit seid und ein nicht genau genanntes Script + eine WBB Lizenz habt.

    Ja mit der Tabelle hatte ich das so vor type = (1-3 bzw. spieler,frak,crew) | owner = uniqueid des Spielers/Frak/Crew | KeySlot(da man ja mehrere Slots hat) | UniqueID des Fahrzeugs



    Mein Problem ist eher das Array, wie kriege ich das hin, dass ich das alles nach Typ + Owner und dann noch nach Carkey abfragen kann ?


    Habe mittlerweile herausgefunden, dass 4D Arrays nicht funktionieren. Wie könnte ich das ganze anders lösen ?



    //e: Ich benötige hierbei immernoch Hilfe. Um das ganze mal sehr kurz zu beschreiben:


    Zitat von -

    Ich habe bereits ein Fahrzeugsystem, dass Fahrzeuge speichert, lädt und wieder löschen kann

    Zitat von -

    Dann habe ich versucht ein Carkeysystem zu erstellen, bei dem jeder Key(Schlüssel) ein Fahrzeug im Besitz managet

    Mein Problem ist, dass ich für die Carkeys ein Array habe, genauso wie für bereits erstellte Fahrzeuge. Jetzt habe ich jedoch gemerkt, dass ich am besten die Tuningwerte etc. im Carkeyarray speichere und nicht in dem vom Fahrzeug, da man über das Carkeysystem Fahrzeug speichern und laden können soll(Garagensystem) .


    Ich würde das ganze nochmal von vorne scripten, damit mich der alte kram nicht so verwirrt. Hat jemand eine Idee, wie ich die Arrays + Enum(mit den zu speichernden Daten) am besten gestalte oder welche Funktionen ich am besten nicht vergessen sollte ?

    Was heißt gekauft? CSGO ist ja kostenlos.


    Ich suche auch noch den ein oder anderen. Bitte nur legit Globals oder Supreme (bin z.Z Supreme) & mit Prime oder hohem Trustfactor. Entspannt paar Runden. Wenn möglich, gerne einen AWPler, läuft bei mir grad nicht mit der Gun.

    Mit gekauft ist denke ich mal gemeint, dass man Prime hat. Was heißt ich sollte mir lieber Prime kaufen, da hier sonst niemand mit mir zoggln will hehe

    Wow. Eines Tages will ich auch mal zu den coolen CSGO Spielern hier gehören.
    Wenn ich doch nur endlich meine 10ranked Matches beenden könnte.


    Wenn jemand einen nicht zu krassen Mitspieler für das eine oder andere Game sucht, bin ich gern dabei ^^


    "Gratulation zu Ihren letzten Wettkampfsiegen! Bitte warten Sie vor Ihren nächsten Wettkampfspielen darauf, dass die Spielsuche die Einstufung Ihrer Skill-Gruppe anhand ihrer jüngsten Leistungen kalibriert." ||

    Huhu,
    ich habe gestern ein Fahrzeugsystem erstellt. Die Werte(Tuning, VehicleID etc.) der Fahrzeuge werden in einem enum(carsInfo) gespeichert, aufrufen kann man sie über ( new cInfo[MAX_VEHICLES][carsInfo]; ).
    Aktuell werden alle Fahrzeuge, die der einzelne Spieler erstellt hat einfach beim Login für ihn erstellt, können getuned und dann so beim Disconnect wieder gespeichert werden.
    Jobfahrzeuge werden beim Serverstart gespawnt, Crew-/Fraktionsfahrzeuge nur, sobald sich das erste Mitglied einer solchen Crew/Fraktion einloggt.



    Ich möchte dazu jetzt noch Carkeysystem erstellen, das sowohl für Fraktionen als auch für Crews und für den Spieler selbst funktionieren soll.
    Hierbei soll man jedem Spieler, jeder Crew und jeder Fraktion im nachhinein einzeln eine maximale Anzahl an Carkeys zuweisen können.
    Auf jedem Carkey, den ein Spieler/Frak/Crew besitzt, wird eine Unique-ID(in der ganzen Fahrzeugtabelle in MySQL gibt es diese nur 1x) des Fahrzeugs gespeichert, wodurch man dann die dazugehörigen Fahrzeuginfos ermitteln kann.
    Hat der Spieler 6max. Carkeys, können 6 seiner Fahrzeuge gleichzeitig im Spiel als Vehicle existieren. Der rest soll in einer virtuellen Garage gespeichert sein.


    Jetzt weiß ich nur nicht so ganz, wie ich das am besten mache, dass ich eine unlimitierte Anzahl an Carkeys habe, die ich dann auch noch einem Spieler(o. Frak/Crew) zuweise(da es seine/ihre Carkeys sind) und dann auf jedem Slot die richtige UniqueID speichere. Das ganze soll später auch in MySQL gesaved und beim connect wie eben genannt neu geladen werden, sobald der spieler sich einloggt.



    Ich habe jetzt schon relativ viel dazu gegooglet aber nichts davon hat mir wirklich weitergeholfen.
    Wär cool, wenn sich jemand die Zeit nimmt mir damit zu helfen oder mir einen sinnvollen Ansatz, Start gibt.
    Wenn mir sogar jemand direkt per Teamspeak o.ä. damit helfen möchte, bin ich gern dazu bereit, obwohl das etwas viel verlangt ist. ^^


    Falls weitere Fragen zum bereits vorhandenen / geplanten bestehen, beantworte ich diese. Ich hoffe jedoch, das man einigermaßen versteht, was ich vorhabe.
    :)

    Also um es kurz zu machen, ist ein Fahrzeug Slot unbenutzt und du erstellt mit CreateVehicle (oder sonst wie) ein Fahrzeug, dann wird dieser Slot die neue ID des Fahrzeuges automatisch.
    Vehicleids setzen für Fahrzeuge kann man nicht.


    Dennoch kannst du ermitteln, was die niedrigste freie vehicleid ist, mit [wiki]IsValidVehicle[/wiki].

    Jo die Frage war vllt etwas blöd formuliert, da ich das schon wusste.
    Das eigentliche Problem hab ich jetzt doch selbst lösen können. Danke dir für deine Antwort ^^

    Habe schon eine Hilfe bekommen, nur vergessen das hier zu erwähnen, da das über Discord passiert ist.
    Hab die Funktion viel zu umständlich gemacht. Trotzdem danke^^



    //e: Die Probleme hören nicht auf:


    Ist es irgendwie möglich, die niedrigste unbesetzte vehicleid herauszufinden und dann ein Fahrzeug mit dieser vehicleid zu erstellen ?

    Okay ich hab jetzt erstmal folgendes gescriptet, um damit die benötigten Werte direkt aus der Funktion zu erhalten.


    Problem ist, dass der Compiler jetzt einige Sekunden länger braucht und einfach leer ist.



    Ich denke mal das Problem liegt also an der Funktion, da wenn ich sie entferne, der Compiler wieder enorm schnell ist.


    //EDIT: PROBLEM GEFUNDEN --> vor &secs fehlt ein Komma




    OKAY jetzt fühle ich mich irgendwie dumm.


    Die Funktion oben scheint abgesehen von "days" nur falsche Werte auszugeben.
    Wär cool, wenn mir jemand helfen oder einfach einen funktionierenden Code dafür scripten könnte.


    Aktuell sieht es so aus, funktioniert jedoch auch nicht, abgesehen vom Tag(bei der Stunde bin ich mir unsicher).

    :cursing: Das ist Grummy. Er zeigt sich immer nur, wenn irgendwie alles keinen Sinn mehr zu ergeben scheint.
    Mit ihm taucht immer irgendwann auch ein Engel auf, der ihm wieder einen Sinn für die Dinge gibt. :thumbup:

    Okay. Ich versuche aktuell ein Premiumsystem mit temporärem Premium zu erstellen.
    Das ganze soll über Timestamps funktionieren, indem für den Zeitpunkt an dem das Premium auslaufen soll einen Timestamp setze.
    Ich brauche jedoch auch eine Funktion, die prüft ob der Spieler noch Premium hat. Dafür habe ich mir folgende Funktion gescriptet:


    C
    stock GetPlayerPremium(playerid)
    {
    	if(pInfo[playerid][pPrem] > gettime()) return (pInfo[playerid][pPrem]-gettime()); //pPrem ist der Timestamp mit dem Auslaufdatum
    	return 0;
    }


    Nun weiß ich nur nicht, wie ich das am besten einsetze und dann die noch übrige Zeit bis zum Auslaufen des Premium als String bzw. in Tagen, Std, Minuten ausgebe.


    Wie prüfe ich mit der Funktion am besten, ob der Spieler überhaupt Premium hat und nutze dann noch den return-Wert innerhalb der dazugehörigen Expression?


    Beispiel(zum Verständnis):

    Ich danke schonmal im Voraus. Wenn es bessere Lösungen für ein solches System gibt, wär ich froh davon zu hören.


    !!! Die beste Lösung wäre natürlich, dass die GetPlayerPremium-Funktion einfach wie bei gettime(hour, min, second) die Sekunden(timestamp) returnt aber trotzdem noch die Variablen(hour, min, second) mitgibt.

    Wenn ich nicht ganz falsch liege, liegt es an deinem OnDialogResponse, Zeile 6. Da der return Wert von changeWartung immer 1 ist.
    Du könntest dir das ganze sparen und folgene Zeile

    Code: OnDialogResponse
    if(listitem == 3) { sInfo[sWartung] = (sInfo[sWartung] == 1) ? (changeWartung()) : (changeWartung()); }

    zu


    Code: OnDialogResponse
    if(listitem == 3) { changeWartung(); }

    Da du changeWartung sowieso immer ausführst, reicht es auch so.

    Danke das klappt so wie du beschrieben hast. Hätte man auch irgendwann mal selbst merken können -.-


    Lag wohl daran, dass ich vorher statt changewartung 2 verschiedene Funktionen in dem if Statement ausgeführt habe.



    Hast du vielleicht eine Hilfeseite, die die Funktion von den one-liner- if Statements erklärt? Hab das dort das erste mal benutzt und finde es praktisch, da es in den anderen Einstellungen ja auch klappt ^^
    Also eigtl. ist es doch wie folgt oder ?