Beiträge von Haxler

    Ich kann dir nur davon abraten was Yasin_Afridi dir empfiehlt. Die meisten veröffentlichten Scripts sind meiner Meinung nach nicht wirklich gut umgesetzt. Wieso sollte man sich einen schlechten Programmierstil aneignen, wenn man es direkt richtig lernen kann? Du musst dir zuerst im Klaren darüber sein, was genau du bezwecken willst. Du willst, dass Cops an einem bestimmten Punkt Verbrecher in den Knast teleportieren können? Mit IsPlayerInRangeOfPoint kannst du abfragen, ob der Spieler an einem von dir definierten Punkt ist. Dabei musst du überprüfen, ob der Spieler ein Cop ist und ob, wenn dies der Fall ist, ein anderer Spieler in seinem Fahrzeug (IsPlayerInVehicle / GetPlayerVehicleID) sitzt. Falls ja kannst du per GetPlayerWantedLevel herausfinden, ob und wieviele Wanteds ein Spieler hat. Zum Schluss teleportierst du den Spieler per SetPlayerPos in den Knast.

    Yasin_Afridi: Aus Kompatibilitätsgründen würde ich statt 24 immer MAX_PLAYER_NAME verwenden. Des Weiteren ist Spielerdatei mit einer Größe von 256 Zellen viel zu groß! Der String benötigt maximal 15 + MAX_PLAYER_NAME Zeichen.

    http://wiki.sa-mp.com/wiki/MoveObject

    Zitat

    Important Note: This function can be used to make objects rotate smoothly. In order to achieve this however, the object must also be moved. The specified rotation is the rotation the object will have after the movement. Hence the object will not rotate when no movement is applied. For a script example take a look at the ferriswheel.pwn filterscript made by Kye included in the server package (SA-MP 0.3d and above).


    Außerdem ist die Schleife unnötig.

    RNPC bearbeitet nur die Record-Dateien. D.h. es sind ganz normale NPCS die vom Plugin bearbeitete Records abspielen.

    mysql_SetInt("häuser","hRent",HausInfo[hid][hRent],"id",hausid);
    mysql_SetInt("häuser","hMiete",HausInfo[hid][hMiete],"id",hausid);
    Ist Rent und Miete das gleiche bei dir? Außerdem fehlen diese Werte bei Insert. Überprüf mal, ob die Spalten dafür überhaupt existieren.

    Ich mein, funktioniert diese Query?

    SQL
    INSERT INTO `häuser` (hOwner, hBeschreibung, EnterX, EnterY, EnterZ, ExitX, ExitY, ExitZ, hInt, hPreis, hLevel) VALUES ('Keiner', 'Großes Interior', '1246.293823', '-909.063720', '46.601562', '225.630996', '1022.479980', '1084.069946', '7', '1', '1')

    Dann erklär mir mal genau wie du das Objekt an die Gabel des Gabelstaplers attachen willst? Da bringen dir deine Variablen nicht viel da du 1. keine Möglichkeit hast abzufragen, ob die Gabel oben/unten ist und 2. du nichts an die "beweglichen Teile" eines Fahrzeugs attachen kannst... Mir ist klar dass man es viel simpler gestaltet könnte aber die Frage des Threaderstellers war,

    Zitat

    Gibt es eine Möglichkeit um abzufragen ob z.B auf dem Gabelstapler eine Kiste aufgeladen ist ?

    , was somit nicht möglich ist.

    Die Tragefläche des Gabelstablers lässt sich zwar per Tasten bewegen aber man kann nicht abfragen ob sie oben oder unten ist.. Außerdem bringt AttachObjectToVehicle auch nichts, weil du das Objekt nicht direkt zur Tragefläche "attachen" kannst, sonder nur zum Fahrzeug selbst,

    Oben in der Leiste steht "Insert Object", damit kannst du ein Objekt hinufügen (Wenn du die ID kennst). Falls du die ID nicht kennst kannst du rechts im bei "Objects" Objekte suchen und dann per Insert Object verwenden.

    Ich denke mal die Objekte zu synchronisieren wäre viel zu viel Aufwand. AttachObjectToVehicle wird ihm nicht viel bringen wenn er die Kisten mit dem Gabelstabler anheben will.

    @Arendium: Nein, habe ein Object verwendet das nicht explodiert.
    @NicoWiss: Wenn du dir meinen Code genau angucken würdest siehst du, dass die Objekt-ID richtig an die Funktion übergeben wird.
    Da das ganze nicht mehr zum Thema passt halte ich mich hier raus, alles weitere kann gerne per PN geklärt werden :D

    @Arendium:

    new barrel;
    COMMAND:test(playerid,params[])
    {
    DestroyObject(barrel);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    barrel = CreateObject(1222 ,X,Y,Z,0,0,0,10.0);
    SetTimerEx("CheckPos",100,1,"dd",playerid,barrel);
    return 1;
    }


    forward CheckPos(pid, obj);
    public CheckPos(pid, obj)
    {
    new Float:x, Float:y, Float:z;
    GetObjectPos(obj,x,y,z);
    new s[128];
    format(s,128,"%f - %f - %f",x,y,z);
    SendClientMessage(pid,0xFF0000FF,s);
    return 1;
    }
    wunder dich nicht, war nur ein Test-Befehl^^^


    edit: Kaliber: Entweder wir reden aneinander vorbei oder du hast ne Möglichkeit gefunden die mir noch unbekannt ist? Wie wärs wenn du uns daran teilhaben lässt :)

    Zitat


    Ja


    Habs gerade getestet. Meine Vermutung hat sich bestätigt: Die Koordinaten werden nicht geupadted wenn man das Objekt z.b. mit einem Fahrzeug 'wegschiebt'. (Was meine Frage mit einem Nein beantwortet).

    Zitat

    Du müsstest abfragen, ob sich das Objekt vor dem Spieler/Gabelstapler befindet


    Wird die Objekt-Position überhaupt geupdated wenn das Objekt nicht vom Script bewegt wird?