Beiträge von Kaliber

    Wieso scanf_s?


    Machs doch einfach:


    Funzt einwandfrrei :o

    @Dr. Frauenarzt einige Includes verändern ihre Parameter.

    Absolut korrekt ;)
    Sehr gut geschlussfolgert mein junger Padawan! :)


    Und zwar rate ich mal ins Blaue und sage du verwendest die color Include von Ryder ;)


    Dort wird die Funktion nämlich gehookt und diese musst du anpassen :P

    Wie kann ich, nachdem ich ein Spieler teleportiere ihn und sein Fahrzeug freezen

    Einfach den Fahrer Freezen ;)


    Bei dem Code unten verwendest du immer i, obwohl du eigentlich d verwenden musst, da das die Variable in der Schleife ist ;)


    Musst dich schon auf eins festlegen :P

    for(new i=1, j=MAX_HOUSES; i<=j; i++)

    Nur mal kurz was fundamentales, was mich daran stört.


    Von der Geschwindigkeit her, wäre es hier besser direkt MAX_HOUSES in der Bedingung zu verwenden, da das eine Konstante ist.


    Du packt es in eine Variable, das macht es langsamer. Das würde nur Sinn machen, wenn MAX_HOUSES eine Funktion wäre xD


    Und davon abgesehen, solltest du bei 0 starten und nicht bei 1 :)


    Zudem musst du die ID auch zurückgeben und nicht nur 1 ;)


    Und wichtig ist auch, dass es kleiner als MAX_HOUSES ist und nicht kleiner gleich :D


    Und die 0 wäre kein invalider Index hahaha xD


    Also die ganze Funktion mal so schreiben:


    C
    stock getFreeHouseID()
    {
        for(new i; i<MAX_HOUSES; i++)
        {
            if(!hInfo[i][hID]) return i;
        }
        return -1;
    }


    C
    stock createHouse(playerid, Float:X, Float:Y, Float:Z)
    {
    	new query[256],fid=getFreeHouseID();
            if(fid == -1) return 0; //Hier wären alle Häuser voll!
    	mysql_format(handle, query, sizeof(query), "INSERT INTO houses (h_id, h_x, h_y, h_z) VALUES ('%d','%f', '%f', '%f')",
      		fid, X, Y, Z);
    	mysql_pquery(handle, query, "OnHouseCreated", "ddfff", playerid, fid, X, Y, Z);
    	return 1;
    }


    Die Beschreibung wird nicht gesetzt, da du bei dem einen insID und bei dem Anderen houseid verwendest...


    Sind diese Werte identisch? Was genau machst du da xD

    Ist es möglich, alle Werte auf 0 zu setzten oder irgendwas invalides wie -1 ?

    Leider geht das nicht, das musst du manuell ein nacheinander machen.

    Actually, gibt es da einen Trick.


    Natürlich kann man es mit einer Schleife machen oooder mit einer temporären Variable:



    new tmp[MAX_PCARS][PCarEnum]; //Temporäre Variable setzt alle Werte auf 0
    PCar[playerid] = tmp; //Resettet alle Variablen für den Spieler


    Ist sogar schneller, als über eine Schleife :)

    Fehler gefunden, wenn das Fahrzeug die ID 1 hat, funktioniert es komischerweise nicht (wieso auch immer).

    Also ich habe das mal eben getestet, ich kann auch bei vehicleid 1 die health ändern.


    Eventuell hast du ein Anti-Cheat oder so was da macken macht?


    oder irgendwo was?


    Keine Ahnung, aber dann gut, dass du es gelöst hast :)