Beiträge von J0a9

    nächster Versuch :)


    ( Query wurde überarbeitet ^^ )

    hast du mal folgendes versucht:


    ich bin mir jetzt nicht 100% sicher, was mir aber aufgefallen ist folgendes:


    Wenn du den Befehl /fpark eingibst wird hier ja die aktuelle Fahrzeugposition in dem Enum eingesetzt:

    Code
    GetVehiclePos(veh, FFahrzeugInfo[veh][fParkPosX], FFahrzeugInfo[veh][fParkPosY], FFahrzeugInfo[veh][fParkPosZ]);
    GetVehicleZAngle(veh, FFahrzeugInfo[veh][fParkPosA]);
    FFahrzeugInfo[veh][fPosX] = FFahrzeugInfo[veh][fParkPosX];
    FFahrzeugInfo[veh][fPosY] = FFahrzeugInfo[veh][fParkPosY];
    FFahrzeugInfo[veh][fPosZ] = FFahrzeugInfo[veh][fParkPosZ];
    FFahrzeugInfo[veh][fPosA] = FFahrzeugInfo[veh][fParkPosA];


    und dann rufst du ja das er das Speichern soll.
    Bei SaveFraktionsCar wird aber erneut die aktuelle Position aufgerufen und erneut in den Enum eingesetzt:

    Code
    GetVehiclePos(vehicleid, FFahrzeugInfo[vehicleid][fPosX], FFahrzeugInfo[vehicleid][fPosY], FFahrzeugInfo[vehicleid][fPosZ]);
    GetVehicleZAngle(vehicleid, FFahrzeugInfo[vehicleid][fPosA]);


    Es könnte daran liegen das er dann durcheinander kommt...
    Hast du mal versucht nen Query zu machen bei /fpark und so zu speichern ohne SaveFraktionsCar beim eingeben des Befehls aufzurufen?


    Wie gesagt es ist nur eine vermutung!

    ich habe grad den Überblick verloren ;(


    nochmal alles zusammengefügt was ich aktuell habe ( einiges habe ich bisschen verändert... )

    Code: bei GamemodeInit
    for(new i = 0; i < MAX_MUELLTONNEN1; i++)
    {
        new zufalltonne = random(3);
        Muelltonnen_Info1[i][MuelltonneErstellt1] = true;
        Muelltonnen_Info1[i][NachsteMuelltonne1] = 0;
        Muelltonnen_Info1[i][MuelltonneArt1] = zufalltonne;
        Muelltonnen_Info1[i][Mueltonne] = CreateDynamicObject(Muelltonnen_Info1[i][MuelltonneObjekt1],Muelltonnen_Info1[i][m_t_posX1],Muelltonnen_Info1[i][m_t_posY1],Muelltonnen_Info1[i][m_t_posZ1],Muelltonnen_Info1[i][m_t_posRX1],Muelltonnen_Info1[i][m_t_posRY1],Muelltonnen_Info1[i][m_t_posRZ1]);
    }



    Das ist jetzt komplett aktuell was ich habe, aber wenn ich jetzt die Space-Taste drücke passiert garnichts...
    vermutlich habe ich etwas übersehen....



    //edit:
    Was bedeuten die Serverlogmeldungen?



    //Edit2:
    @Jeffry hab die Fehler die mir in der Konsole angezeigt wurden behoben.
    Es lag daran da mein Streamer etwas veraltet war ( hatte davor nur 2.7.9 ) und jetzt auf Version 2.8.2 geupdatet.
    Damit wären diese Fehler behoben, jedoch wird immernoch nicht das Objekt Attached....

    Wird Playerinfo[playerid][pGeld] richtig geladen? Hast du es vorher schonmal ausgegeben, zb. in der Konsole oder per Format() im Chat?


    das Geld wird folgendesmaßen gespeichert im Format: %i.%i.
    Wenn ich das Printe mit dem Split oben wird mir in der Konsole richtig anzeigt, jedoch nicht ausgezahlt.
    Ich hab ne Idee, ich teste es kurz wenn das funktioniert poste ich es hier gleich rein :)

    Poste mal bitte das Include+Split Funktion... Wird am Array liegen, du definierst eine Dimension mehr als du benötigst/verwendest...
    Ich kenne die Split Funktion leider nicht, müsste wissen wie die, die Variablen ausgibt...

    Das ist der Centsystem Include ( klick hier )


    So versuche ich das zu splitten...

    Code
    new geld[2][2];
    split(PlayerInfo[playerid][pGeld], geld, '.');
    printf("%i.%i", geld[0], geld[1]);
    GivePlayerMoney(playerid, geld[0], geld[1]);


    Split Funktion:

    Wenn du ein Cent system hast kannst du kein GivePlayerMoney nutzen, da es keine Float´s unterstützt...
    Ausserdem hat GivePlayerMoney() nur 2 Parameter und du willst 3 setzen...


    Du musst den Betrag dann als Textdraw über die Geldanzeige der HUD legen...

    Textdrawanzeige ist jetzt nicht das Problem, dass habe ich ja schon fertig.
    Aber das nützt mir nichts wenn das Geld nicht ausgezahlt wird...
    Beim Centsystem gibt es folgende Parameter:

    Code
    GivePlayerMoney(playerid, dollars, cents=0)
    ResetPlayerMoney(playerid)
    GetPlayerCents(playerid)


    Ich habe das schon getestet wenn ich z.B. 10,5$ haben möchte klappt das so:
    GivePlayerMoney(playerid, 10, 5);.


    So ich möchte aber das Geld was in der Datenbank steht gesplittet haben und so dem Spieler das Geld auszahlen.
    Könnte es nicht am Array liegen?

    Hallo,


    ich habe kurze Frage , ich versuche gerade das Geld aus der Datenbank dem Spieler zu splitten.
    Das Geld wird geladen, aber was ich jetzt nicht verstehe wenn ich das printen lasse bekomme ich keinen Error.
    Sobald ich das in GivePlayerMoney einsetze erhalte ich einen Error...


    Code:

    Code
    new geld[2][2];
    split(PlayerInfo[playerid][pGeld], geld, '.');
    printf("%i.%i", geld[0], geld[1]);
    GivePlayerMoney(playerid, geld[0], geld[1]);

    Fehlermeldung:
    error 035: argument type mismatch (argument 2)



    ( Nutze den Include "Cent System" )
    Kann mir einer weiterhelfen? Ist bestimmt ein Denkfehler...

    ich hab mehrere "Varianten" versucht.


    Wie du schon sagtest habe ich mal DestroyDynamicObject ausgeklammert, dann war das Problem die Animation
    war richtig aber es wurde nichts Attached und das Objekt stand dann da noch.


    Dann kam mir auch die Idee erst zu entfernen, aber ich habe 3 Müllarten.
    Wenn ich diese lösche kann ich ihm ja nicht wieder dieselbe Art zuweisen, wenn doch wie könnte man das am einfachsten machen?
    Also ich habe 3 Arten (Art = 0, Art = 1, Art = 2), diese werden beim laden des Servers per Random zugeteilt...
    Und genau da stehe ich glaube ich auf dem Schlauch...


    Daher habe ich versucht wenn der Spieler im Radius von 3.0 ist soll das Objekt erst Atteched werden, dann die Animation und zuletzt entfernt werden, aber dann löscht der mir die aus der Hand ...

    ups, ja hatte vergessen hier zu ändern habe mal bei dem Enum überall ne 1 gehabt diese jetzt aber komplett entfernt sodass dieses Enum stimmt.


    Der IsPlayerInRangeOfPoint funktioniert ja, nur das Objekt wird gelöscht aber davor nicht Attached...

    Code
    AttachObjectToPlayer(Muell_Info[i][Mueltonne1], playerid, 0, 0.5, -0.5, 0, 0, 0);

    Die '1' bei [Mueltonne1] gehört da nicht hin.

    habs geändert habe diese '1' übersehen, es wird trotzdem nicht Attached.
    Glaube AttachDynamicObjectToPlayer geht schon in die Richtung...

    Versuch mal hiermit dem Spieler das Objekt zugeben. AttachDynamicObjectToPlayer(STREAMER_TAG_OBJECT objectid, playerid, Float:offsetx, Float:offsety, Float:offsetz, Float:rx, Float:ry, Float:rz);


    Soweit ich weiß musst du wenn du Dynamische Objekte erstellst auch mit den Streamer Natives weiter arbeiten... Kann sein das ich falsch liege^^

    hmmm, jaa stimmt habe daran nicht gedacht, passiert jedoch nichts...
    also das gleiche wie vorher ;(

    Guten Abend Breadfish-Community,


    Ich möchte, wenn der Spieler vor nem Objekt ist ( Müllsäcke ) und ne Taste klick, dann soll er dieses Objekt
    was auf dem Boden war verschwinden und in seinen Händen Attachen...


    Folgendes habe ich versucht:


    Falls ihr den Enum braucht:



    Objekt wird folgendermaßen erstellt:

    Code
    Muellt_Info[i][Mueltonne] = CreateDynamicObject(Muell_Info[i][MuellObjekt],Muell_Info[i][m_posX],Muell_Info[i][m_posY],Muell_Info[i][m_posZ],Muell_Info[i][m_posRX],Muell_Info[i][m_posRY],Muell_Info[i][m_t_posRZ]);


    Der Fehler liegt da wo der Spieler die Taste drückt, aber ich weiß nicht was ich falsch gemacht habe? :o
    es handelt sich bestimmt um einen Denkfehler.


    Kann mir einer weiterhelfen?


    Vielen Dank :)




    //Edit (Screens hinzugefügt):
    sa-mp-004.png


    sa-mp-005.png

    du hast ja

    Code
    if(response)
    {
    	/* rest der Codes */
    }




    das bedeutet wenn der das Auswählt sprich auf den "Close" Button klickt.
    Hast du mal versucht folgendes zu machen?



    Ist mal ne vermutung, denn du gibst ja nur an was bei dem einen Button passieren soll :)




    Kann mir jemand auch kurz weiterhelfen, es handelt sich bestimmt um ein Denkfehler.
    Ich möchte, wenn der Spieler vor nem Objekt ist ( Müllsäcke ) und halt ne Taste klickt, dann soll er dieses Objekt
    was auf dem Boden war verschwinden und in seinen Händen Attachen...


    Folgendes habe ich versucht:


    Falls ihr den Enum braucht:


    Objekt wird folgendermaßen erstellt:

    Code
    Muellt_Info[i][Mueltonne] = CreateDynamicObject(Muell_Info[i][MuellObjekt],Muell_Info[i][m_posX],Muell_Info[i][m_posY],Muell_Info[i][m_posZ],Muell_Info[i][m_posRX],Muell_Info[i][m_posRY],Muell_Info[i][m_t_posRZ]);


    Der Fehler liegt da wo der Spieler die Taste drückt, aber ich weiß nicht was ich falsch gemacht habe? :o

    8| ich habs mir grad umständlich gemacht...
    Habe nen Filterscripteditor heruntergeladen, dann rumgebastelt bis das passt gespeichert und am Ende kam komplett was anderes heraus.


    Dank dir Kaliber, dann versuche ich das beim nächsten mal auch "manuell per Hand" :D

    Dank dir, die Mülltonne ist nun sichtbar und wird Attached aber es ist falsch positioniert...
    Aus diesem Grund habe ich die Tonne erneut neu positioniert aber folgendes ist sichtbar:


    sa-mp-003.png



    Code:

    Code
    AttachObjectToPlayer(testobjt, playerid, -0.93, 0.68, 0.00, 0.0, 88.0, -177.0);


    Liegt das denn an den Koordinaten? Habe viele versucht aber nichts gebracht...

    Hallo Breadfish-Community,


    ich habe eine Frage bezüglich der AttachObjectToPlayer.
    Undzwar möchte ich dem Player ein Objekt in seine Hand Attachen, mit dem Attach Editor habe ich auch das Objekt positioniert und gespeichert.
    Nur wenn ich das im Script einfüge wird das Objekt garnicht erstellt.
    Dahingegen mit SetPlayerAttachedObject ist das Objekt sichtbar aber an der Falschen "Körperstelle".


    Meine Frage daher habe ich was falsch gemacht?
    Ich verstehe gerade nicht was der Unterschied zwischen den beiden ist...


    AttachObjectToPlayer versuch: (funktionier nicht)

    Code
    new testobjt;
    testobjt = CreateObject(1409, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToPlayer(1409, playerid, 0.98,-0.10,-0.60,0.0,-87.0,304.0);
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);


    SetPlayerAttachedObject versuch: (funktioniert nur falsche Position...)

    Code
    SetPlayerAttachedObject(playerid, 0, 1409, 4, 0.98, -0.10, -0.60, 0.0, -87.0, 304.0, 1.00, 1.00, 1.00);
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);


    Ich vermute ich habe bei AttachObjectToPlayer nen Denkfehler, ich habe das gefühlte 10x mit dem Wiki eintrag geprüft aber mir fällt nichts auf warum das nicht Attached wird.
    Kann mir einer weiterhelfen?


    Vielen Dank :)

    Füg in deiner server.cfg das ein:


    Code
    ackslimit 3000


    eventuel etwas höher falls jemand einen höheren Ping bzw schlechte verbindung hat ^^



    //Edit:
    im englischen Forum steht folgendes:
    ( klick mich )


    Specially crafted tools could attack the server's lower level networking layer, causing the server to hang and drop players.