AttachObjectToVehicle - Hilfe

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo liebes SA-MP.DE Forum,


    Ich will diesen Code:


    blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new 490 = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, 490, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);
    In mein Script einfügen habe es auch versucht und zwar, der FBI Rancher sollte dauerhaft das Blaulicht mit der ID 19419 auf dem dach habe, natürlich habe ich die Cords auch schon rausgesucht damit es genau auf das dach past: -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000


    Nun ich habe es so:
    blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new 490 = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, 490, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);
    in mein Script eingefügt..
    aber es kommen immer folgende errors wenn ich es Compile:



    C:\Users\Matthias-laptop\Desktop\Script-Pack\MY.ER-Script+Server\gamemodes\MYER - neu.pwn(15195) : error 017: undefined symbol "blaulicht"
    C:\Users\Matthias-laptop\Desktop\Script-Pack\MY.ER-Script+Server\gamemodes\MYER - neu.pwn(15196) : error 001: expected token: "-identifier-", but found "-integer value-"
    C:\Users\Matthias-laptop\Desktop\Script-Pack\MY.ER-Script+Server\gamemodes\MYER - neu.pwn(15197) : error 017: undefined symbol "blaulicht"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    Nun die Zeilen wo der error kommt sind diese hier untereinander natürlich:
    (15195) : error 017: undefined symbol "blaulicht" blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    (15196) : error 001: expected token: "-identifier-", but found "-integer value-" new 490 = GetPlayerVehicleID(playerid);
    (15197) : error 017: undefined symbol "blaulicht" AttachObjectToVehicle(blaulicht, 490, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);


    Ich habe euch hinter dem code so wie ich ihn eingefügt habe in meinem Script dem Fehler dahinter geschrieben, damit ihr mir weiterhelfen könnt.


    Ich frage euch ob ihr mir dabei helfen könnt..
    ich würde mich sehr freuen.
    mfg: Raz3r

  • So ist es doch richtig oder
    der Rancher hat die id 490 und hier guck so hab ich es:


    blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new 490 = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, 490, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);


    mfg: RaZ3r

  • So ist es doch richtig oder
    der Rancher hat die id 490 und hier guck so hab ich es:


    blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new 490 = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, 490, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);


    mfg: RaZ3r


    • Die Variable blaulicht wird nicht erstellt.
    • Variablen mit nur einer Zahl als Namen können nicht erstellt werden


    somit:
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Ja ist mir kla..


    Aber wenn ich es so einfüge:
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);


    ist das doch für alle Fahrzeuge oder?..
    wenn ja ich will es nur für den FBI Rancher haben.


    mfg: RaZ3r

  • Wenn dir das klar gewesen wäre, dann hättest du das nicht gemacht... Fehler sind zum lernen da.


    Mit einer Abfrage des VehicleModels kannst du das einschränken:

    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 490)
    return 1;
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • nun kommen 2 Errors wenn ich es so einfüge wie du es mir geschrieben hast:


    C:\Users\Matthias-laptop\Desktop\Script-Pack\MY.ER-Script+Server\gamemodes\MYER - neu.pwn(15195) : error 017: undefined symbol "playerid"
    C:\Users\Matthias-laptop\Desktop\Script-Pack\MY.ER-Script+Server\gamemodes\MYER - neu.pwn(15198) : error 017: undefined symbol "playerid"
    C:\Users\Matthias-laptop\Desktop\Script-Pack\MY.ER-Script+Server\gamemodes\MYER - neu.pwn(15198) : warning 204: symbol is assigned a value that is never used: "vehicleid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    hmm komisch -.-
    kann mir da jemand weiterhelfen
    Würde mich sehr freuen, wenn mir hier wer weiterhelfen könnt...
    Oda kann das sein das ich das irgend wie unter die falsche zeile packe ?

    signaturjohnparker.jpg

    Einmal editiert, zuletzt von John Parker () aus folgendem Grund: edit: Text

  • if(GetVehicleModel(GetPlayerVehicleID()) != 490)
    return 1;
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID();
    AttachObjectToVehicle(vehicleid, blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);
    Also ich dächte es müsste so aussehen.


    Dein Fehler.
    if(GetVehicleModel(GetPlayerVehicleID()) != 490)
    return 1;
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID(playerid); <- Dächte hier braucht man keine PlayerID Weil es heist GetPlayer<-VehicleID
    AttachObjectToVehicle(blaulicht, blaulicht <-- 2x Blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);
    LG Era

    Einmal editiert, zuletzt von era2211 ()

  • Ok erstmals danke.


    Aber wo kommt nun was in das Script, allso wo genau soll ich was hinpacken unter was für eine zeile soll ich das alles packen:
    if(GetVehicleModel(GetPlayerVehicleID()) != 490)
    return 1;
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.0


    Würde mich freuen wenn du mir da nochmals helfen würdest.

    signaturjohnparker.jpg

    Einmal editiert, zuletzt von John Parker () aus folgendem Grund: edit

  • Das alles einfach so wie es hier steht:
    if(GetVehicleModel(GetPlayerVehicleID()) != 490)
    return 1;
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    new vehicleid = GetPlayerVehicleID(playerid);
    AttachObjectToVehicle(blaulicht, blaulicht, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.0


    unter onplayerentervehicle klatschen ?...


    //edit:
    wenn ich es so darunter klatsche stürzt mein Pawno ab -.-

  • also bei AttachObject muss das 2. blaulicht zu vehicleid
    und wenn du es unter OnPlayerEnterVehicle hast dann brauchst du kein new vehicleid, denn es ist vom Callback schon gegeben.


    d.H.



    public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
    {
    if(GetVehicleModel(vehicleid) != 490)
    return 1;
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    AttachObjectToVehicle(blaulicht, vehicleid, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.0);
    return 1;
    }

  • So sollte es gehen (nicht getestet):


    new FBI[60],FBIBlaulicht;


    public OnGameModeInite()
    {
    FBI[0] = AddStaticVehicle(......
    FBI[1] = AddStaticVehicle(......
    FBI[2] = AddStaticVehicle(......
    FBI[3] = AddStaticVehicle(......//soviele wie du hast

    for(new f=0; f<sizeof(FBI); f++)
    {
    FBIBlaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    AttachObjectToVehicle(FBIBlaulicht,FBI[ f], -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);
    }
    return 1;
    }


    ich hoffe ich konnte dir helfen ^^

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


    Einmal editiert, zuletzt von Fabi.StaR ()

  • Ok so hat es nun funktioniert:
    if(GetVehicleModel(vehicleid) == 490 && ispassenger != 1)
    {
    new blaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    AttachObjectToVehicle(blaulicht, vehicleid, -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);
    }


    aber, erst wenn ich einsteige in das Fahrzeug ist das blaulicht da, ich will es aber so haben das das blaulicht sofort an dem car ist ohne das ich erst einsteigen muss und dann ist es da..
    weiß da jemand wie das geht ? xD


    mfg: Raz3r

  • kann nicht funktionieren


    es müsste wenn schon FBI[f] sein aber ich weiß nicht genau, ob er das wollte...


    Will er die Sirenen nicht mehr entfernen, kann er den Wert so lassen (besser er definiert ihn lokal). Will er aber diese auch wieder entfernen können, sollte er den Wert in ein Array umwandeln:


    Code
    FBIBlaulicht[60] anstatt FBIBlaulicht
    FBIBlaulicht[f] = CreateObject(19419,0,0,0,0,0,0,100); anstatt FBIBlaulicht = CreateObject(19419,0,0,0,0,0,0,100);
    AttachObjectToVehicle(FBIBlaulicht[f], FBI[f], -0.009999, 0.654999, 1.029999, 0.000000, 0.000000, 0.000000);


    Bitte beachte: Bei AttachObjectToVehicle musste UNBEDINGT das f zu FBI[f] ändern, egal ob er die Sirenen irgendwann wieder entfernen will oder nicht. Tut er das nicht, fügt er nur den ersten n-Fahrzeugen eine Sirene hinzu (n entspricht dem Wert von sizeof(FBI), also 60)


    Edit @Onkel_RaZ3r : Schiebe den Code unter OnGameModeInit (Siehe ersten Teil meines Beitrages)