Beiträge von IPrototypeI

    Problem ist das der Samp Mapeditor einfach nicht auf meinem Rechner geht und somit bin ich auf den MtaMapeditor angewiesen


    Und es ist ja für das Game Multi-theft-auto


    Dies stimmt zwar schon jedoch hast du die möglichkeit die 0.3e/x Objecte zu importieren und solch ein tool gibt es auch damit du Objecte entfernen kannst.

    1. Habe bereits beim Laden prints eingefügt, weil ich dachte, dass evtl die Funktion 2x aufgerufen wird o.Ä., es scheint richtig zu sein. Die Rotation hab ich auch geprintet, aber die Werte sind auch richtig.
    2. Die Objekte sind an der selben Stelle (2 Stück), eins in der richtigen Rotation, das andere 180° gedreht.


    Edit:
    Ebenfalls merkwürdig ist, dass nach einem gmx alles ohne Probleme geladen und erstellt wird. Doch nach einem kompletten aus- und einschalten werden an den Stellen immer die 2 Objekte erstellt..


    Hm also ich kann dir da auch nicht weiterhelfen ich hab keinen Fehler gesehen auch beim testen ist mir auch nix aufgefallen.


    Siehe:


    Pastebin:
    http://pastebin.com/1teFBGXa


    Es könnte auch an ihrgend was anderm liegen was den code beeinflussen könnte , aber die funktion wird ja nicht doppelt aufgerufen sonst würde ich sagen das du main() raus genommen hast.
    Aber dem ist ja nicht so.


    //edit mir ist gerade aufgefallen das du eine Include veröffentlicht hast , welche dieses System ja beinhaltet und das hier ist ja wahrscheinlich auch das gleiche vllt mit abänderungen oder ohne ist ja auch egal. Nur hast du direkt das problem mit deiner include oder ist das erst seit dem du die rotation geändert hast was ja sinnlose ist das es deswegen doppelt erstellt wird.

    mit strcat kannst du nur zwei strings zusammenfügen jedoch werden dort die platzhalter nicht erkannt später beim formatieren, der fehler kommt davon da dein text zu lang ist daher hast du nur die möglichkeit das ganze zwei mal zu formatieren mit format

    Okay das habe ich dann richtig verstanden.


    Aber
    mysql_query("SELECT `spaltename` FROM `Staat` WHERE `Steuer`");
    Steuer kommt schon vor?
    Oder verstehe ich das falsch.


    Bei deinem Momentanen aufbau deiner tabelle brauchst du die WHERE clausel nicht WHERE dient nur dazu die suche der einträge einzugrenzen da damit eine bedingung gestellt wird
    in deinem Fall benötigst du nur


    mysql_query("SELECT `Steuer` FROM `Staat`");


    und somit ziehst du nur 1 ergebniss aus deiner tabelle also den wert 50, welchen du nun auch mit mysql_fetch_int(); verarbeiten kannst.

    Hallo Leute wie mach ich das wenn ein Spieler einen Checkpoint betritt das ein Timer von 10 sek gestartet wird und wenn der Timer abläuft soll die Person an einen ort teleportiert werden ?


    wär nett wenn mir jemand helfen würd MfG Stream.


    Dazu brauchst du die koordinaten des checkpoints, welche du nochmal abfragen solltest unter dem Callback
    http://wiki.sa-mp.com/wiki/OnPlayerEnterCheckpoint_DE OnPlayerEnterCheckpoint da dieses dan aufgerufen wird wenn ein spieler in ein checkpoint rein läuft.
    mit IsPlayerInRangeOfPoint(playerid,r,xy,z) kannst du wie schon erwähnt abprüfen in dem callback ob er sich an dem jeweiligen bestimmten checkpoint befindet nun startest du einen timer
    mit SetTimerEx("Functionsname", 10000, false, "i", playerid);
    Functionsname name der Function welche aufgerufen wird , 10000 sind 10 sekunden also 10000 milisekunden, false der timer soll sich nicht wiederholen, i parameter der funktion oder auch argument genannt. public Functionsname(id). playerid ist enthält den wert mit dem die funktion aufgerufen wird der wert wird an das argument id weiter gegeben.
    nun musst du nur noch die position setzen in der funktion. SetPlayerPos(id,0.0,0.0,0.0); zum beispiel.

    ich sag dazu mal nur das es sscanf gibt womit du die möglichkeit hast die ausgelesenen string via fread und einer while-schleife zu splitten und diese dan einem array
    zuzuordnen.


    Dazu gibt es auch ein skript im englischen Forum falls du es nicht vor hast sowas selbst zu schreiben


    http://forum.sa-mp.com/showthread.php?t=176461


    //edit nun gut die meisten punkte sind ja nicht in der map datei enthalten sondern in einer einzelnen datei wie die "teleports" die solltest du selbst ihrgendwie convertieren in ein format und dort in die meta datei rein packen dann kannst die auch noch so auslesen

    Schonmal ein Danke aber was ist mit Spalten name gemeint?



    Das ganze nennt sich ja auch die Mysql-Tabelle, welche du erstellst da sollte es ja auch logisch sein das ein Spaltenamen gibt du wirst ja wohl in deinem bisherigen Leben bestimmt mal auch eine Tabelle gezeichnet haben und diese auch beschriftet.


    Ein Spaltename wäre Steuer und polizeilohn.


    Nur was sagt dir, dass er das von Strickenkid nutzt?


    Weil ich Gott bin !!!


    Nein er hat in einem post davor geschrieben das es das MrMonat Reallife skript ist zu dem hatte mal einer aus meiner skypeliste das selbe problem ich hab ihm dabei geholfen
    und kam zu dem Ergebniss das sscanf hier die Ursache ist, ich habs natürlich ihm das auch behoben.


    Zu dem

    Zitat

    mysql_query INSERT und dannach direkt SELECT ist möglich jedoch crasht es bei 7 / 10 Fällen


    Das hat ja rein nix damit zutun im zusammenhang das der Server wie er erwähnt hat beim einloggen des spielers abkratzt und zu deiner Aussage nun gut es gibt genug fehler die durch plugin hervorgerufen werden bei einer r7 r version von BlueG hat es mir die ganzen querys zerschossen , wenn ich diese über das Skript erstellen lassen habe.


    Das hat damit nix zu tun das mysql_plugin von Strickenkid verfügt auch darüber threated querys abzusenden.
    Es bedeutet ja eigentlich auch nur das eine neue verbindung geöffnet wird und die wieder dicht gemacht wird
    http://wiki.sa-mp.com/wiki/MySQL_Plugin#OnMysqlQuery
    This callback is called when a threaded query execution has finished.


    die Aussage war eher darauf bezogen das er dort keinen fehler finden konnte
    weil die "weiterverarbeitung" des querys in dem callback geschieht.

    mysql_query("SELECT * FROM `accounts` WHERE Name = 'xFreeze' LIMIT 1",1,playerid,handle);

    public OnMysqlQuery(resultid, spareid, MySQL:handle)
    {
    switch (resultid){
    case 1:{
    mysql_store_result(handle);
    strdel(Load_Query,0,100);
    mysql_fetch_row(Load_Query,"|",handle);
    sscanf(Load_Query,"p<|>e<s[10]dlfff>",PlayerInfo[spareid]);
    mysql_free_result(handle);
    }
    }
    return 1;
    }
    mit
    mysql_fetch_row(Load_Query,"|",handle);
    wird die ganze abgerufene reihe herrausgenommen und in den string Load gepackt das kann so aussehen
    10|Günter|12.00|1124|Ja
    mit sscanf ist es möglich nur den specifer das sind die abfolge von zeichen hier nun zur erklärung p<|> was so viel bedeutet das er den string erst splittet wenn das zeichen |
    vorhanden ist in die darauf folgenden formate. d = steht für integer s[10] = string mit 10 zeichen f = float das besondere ist das das ganze auch gleich konvertiert wird.
    nun gut sollte die abfolge falsch sein und es wird zumbeispiel versucht ein string in ein integer zu packen so kann es dazu kommen das der server abkratzt.
    und dieses sscanf specifer abfolge musst du korrigieren anhand von dem dir in der mysql ausgegebenen string und natürlich den dazugehörigen 2d arrays.
    weil dort kann auch was vertauscht sein.

    Zu ergänzen währe auch das CreateDynamicObject Unabhängig von CreateObject ist und mehr Objekte(aber auch begrenzt gleichzeitig) angezeigt werden können
    dazu hinweg kann man sich eine Art Streamer addon basteln für mehr als 500 Objecte so bräuchte man keinen eigenen Scanner


    Eben nicht. CreateDynamicObject ist Abhängig vom limit her von CreateObject , da CreateObject auch auf CreatePlayerObject basiert nur das CreatePlayerObject clientseitig ist und die streamer mit CreatePlayerObject arbeiten.Daher wenn du ein Object für alle erstellst geht ein Slot für alle Spieler flöten und du kannst nur noch 999 Objecte mit
    CreatePlayerObject erstellen.
    Am besten nimmst du das Streamer plugin da noch hilfreiche weitere funktionen enthalten sind.

    das liegt an deinem Where2[] du packst da ein integer rein obwohl ein string von der funktion gewollt ist daher solltest du dein funktion besser abändern.
    Bsp:
    stock mysql_SetIntHaus(Table[], Field[], To, Where[], Where2)


    Hättest noch das "verbesserte" query posten sollen da man nochmals dazu sagen muss das mysql_fetch_int(); nur ein ergebnis verarbeiten kann.