Beiträge von Mogly1

    Füge mal in SpawnPlayerInRound

    Noch die Abfrage hinzu

    Code
    if(zaehler >= sizeof(RandomDeathVillageSpawns)) zaehler = 0;

    Evt. kommt da ein Fehler, da du das nur beim Befehl überprüfst aber nicht bei OnPlayersapwn.

    Okay weil du so nett gefragt hast palwal

    Wir erstellen ein Fire enum, wo wir die Position, Id, Leben und den Text speichern

    ungefähr so dann.

    dann erstellen wir einfach mal ein Feuer in dem wir ein object erstllen und dort das enum mit den Daten befüllen, wir nehmen also GetPlayerPos und setzen das Leben auf 100 von dem Feuer, die id setzen wir auf das erstellte Obejct, also dann so:

    (Nutze hierbei ocmd als include)

    So nun haben wir ein Feuer erstellt also beim ersten Aufruf haben wir somit im index = 0 die ganzen Daten.


    Nun Bauen wir einen Timer ein, da OnPlayerUpdate zu viel Ressourcen zieht(verbessert mich wenn das nicht stimmt MfG.)

    Ich habe hier jetzt SetTimerEx genommen.

    Diesen Timer nutzen wir um Schaden uns abzuziehen und dem Feuer wenn wir mit dem Feuerlöscher draufhalten.

    So nun müssen wir das Feuer noch löschen, was wir unter DeleteFire angegeben haben

    Dazu setzen wir also einfach alle Daten wieder zurück

    So und hier sind noch die 2 Methoden aus dem Script, vom Link

    die du benötigst für die Berechnungen(Das ist jetzt Mathe, werde da jetzt nix kommentieren c(: )

    Bei Fehlern oder Verbesserungen Bedanke ich mich für die Meldung .

    und falls du noch vor hast mit Waffen wände zerstörbar zu machen, kannst du diese Simple Methode nutzen auch für dich evt. nützlich palwal

    natürlich muss dann das Objekt wieder leben haben, aber das Beispiel habe ich ja jetzt gezeigt.

    MfG. Mogly1

    @Rocky Balboa 
    Hier ist sein Connect_To_Database();

    Code
    stock Connect_To_Database()
    {
        #if defined Testserveran
        mysql_log( LOG_ALL , LOG_TYPE_HTML);
        #endif
        gSQL = mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS); //Wir versuchen mit den Angaben die wir oben im Script gemacht haben uns mit dem MySQL Server zu verbinden.
        mysql_oquery("SELECT 1", THREAD_CONNECTION_CHECK1 , INVALID_PLAYER_ID ,gSQL);
        tMySQL = SetTimer("MySQL_Connection_Check",5003,false);
    }

    wollte hier das nur fix für alle ersichtlich machen
    MfG. Mogly1

    Aber hast du evt. in der Tabelle bei Admin keine Default Value?
    Bzw. hilft dir der Link eventuell:
    https://stackoverflow.com/ques…snt-have-a-default-values

    Nach dem Login?
    Speicherst du die Koordinaten richtig und lädst sie auch wieder?
    Nicht das du nach dem Logout die Koords nicht richtig in der Db hast und somit beim Einloggen dann falsch spawnst.
    (Wenn du das im Script drinne hast)

    Oder wei genau meinst du das mit dem durch die Map fallen.

    Mfg. Mogly1

    Hast du bei

    "OnplayerRegister"

    auf groß und klein Schreibung geachtet, also das der public genaus so auch geschrieben ist?


    nicht das du es im public mit einem großen P geschrieben hast also so, "OnPlayerRegister".


    mfg. M1

    Hey, weiß einer warum nichts passiert wenn ich /createclan bzw wenn ich vor einem freien Clanhaus stehe kein Clan erstellt wird?

    Da Ich jetzt nicht fest stellen konnte, wann du ClanHaus[i][hActicate] setzt.

    Denke Ich das du in der Zeile 5873 das ändern solltest zu ClanHaus[i][hActicate] ==1, da du sonst derzeitig alle überspringst, die Noch zu haben sind?
    (Meine Vermutung, da ich nicht weiß wann du ClanHaus[i][hActicate] die variable setzt. Bsp. in OnPlayerCreateClan wird sie nämlich nicht gesetzt.)

    Kann aber auch falsch sein :P.

    Dann muss ich für denen Player einen Timer setzen oder?


    Wie ressourcenhungrig ist eigentlich so ein Timer? ich brüchte ja 100Stk bei 100 Spielern. Bei SetWorldTime brauche ich nur einen (da geht die minute ja nicht?)

    Nicht ganz du machst einen Globalen Timer und gehst dann mit einer for schleife durch alle Spieler die gerade auf den Server sind, somit sparst du andere Timer.

    und wenn du jetzt den Timer einmal alle Minute updatest sollte das doch gehen oder? Sowie den Spielern beim Connect die Uhrzeit einmal setzen, die du einfach in einer globalen Variable speicherst und beim Timer Aufruf setzt.



    Sry wegen dem langen Zitieren aber Foren und ich ka. wie man das kürzt :D

    Also, nach dem DestroyVehicle(BizVehicle[i]);

    fügst du noch das hinzu:

    Code
    DestroyVehicle(Biz6Vehicle[i]);
    Biz6Vehicle[i] = INVALID_VEHICLE_ID;
    ErsetztesVehicle[playerid] = CreateVehicle(FVVehTypes1[i][FVT1Model],//

    Grund, du hast ja bestimmt Biz6Vehicle[I] = CreateVeh... erstellt somit behält er die Vehicle id auch wenn du sie Destroyst, denn DestroyVehicle cleart nicht dein Biz6Vehicle[i], somit musst du danach der Variable eine Invalid id geben oder -1 setzen ist eig. egal :D

    Somit sollte es dann gehen eig. ^^

    Schau mal in deinem Code Zeile 22 bis 25

    müsste playerid nicht zu i? wie du davor auch für die if abfragen genutzt hast?

    Code
    PlayerCar[i][slot][vehAbgeschleppt] = 1;
                            format(PlayerCar[i][slot][vehAbgeschlepptVon], MAX_PLAYER_NAME, "%s", GetName(playerid));
                            PlayerCar[i][slot][vehKaution] = Geld;
                            SavePlayerVehicle(i);

    Sonst speicherst du die Daten ja nur für die playerid... könnte evt. der Fehler sein.

    mfg. Mogly1

    Also du könntest über deiner AddAuftrag Funktion, die Seite hinzufügen aber das

    Problem hierbei ist, mann sieht dennoch dann 12 Items bzw. das 13 sogar als überschrift.

    siehe https://wiki.sa-mp.com/wiki/AddMenuItem

    Deswegen würde ich das so nicht ganz machen, du machst gerade jedes Item(Auftrag) gleich als AddMenuItem aber das wird dir bald Probleme geben.


    Ich würde dir empfehlen wenn du es über so ein Menu weiter machen willst, erstelle dir gleich ein Menu mit genau 10 Items und der "Nächsten Seite".

    Also so hier, das wäre ein Lösungsansatz/vorschlag von mir (mit diesem kannst du dann auch ganz einfach Items/Aufträge wieder löschen)

    Was genau, habe ich da jetzt gemacht?



    Beachte bitte: "128 menus in total" und da das Menu dann Player abhängig sein müsste, wegen Nächste Seite, kann es bei zu vielen Spielern zu Probleme führen.

    (Bei anderen Ansätzen, bin ich gerne offen, falls dieser unnötig oder co. ist)

    MfG Mogly1.