Sirene an F-Car

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Guten Tag,
    Ich möchte eine Sirene an ein Frak Car anbringen.


    for(new v;v< sizeof(Car);v++)
    {
    new obj = CreateObject(19419,0,0,0,0,0,0);
    AttachObjectToVehicle(obj, Car , 0.000000, 0.000000, 0.814999, 0.000000, 0.000000, 0.000000);
    }


    public IsAWheelmanCar(carid)
    {
    for(new h = 0; h < sizeof(GangAutoInfo); h++){
    if(carid == GangAutoInfo[h][cID]){
    if(GangAutoInfo[h][cOwner] == 8){
    return 1;
    }}}
    return 0;
    }

  • Ich habe dies So geregelt (ist zwar nur am Beispiel vom Sultan und mit der Undercover Leuchte aber ich hoffe es hilft dir trotzdem


    Ganz oben im Script
    new sirene1[MAX_VEHICLES];


    OnVehicleDeath
    DestroyObject(sirene1[vehicleid]);


    OnPlayerCommandText

    if(strcmp(cmdtext, "/ucl",true) == 0)
    {
    if(UCL[GetPlayerVehicleID(playerid)] == 0)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(tmpcar) == 560)
    {
    sirene1[GetPlayerVehicleID(playerid)] = CreateObject(18646,0,0,0,0,0,0,100);
    AttachObjectToVehicle(sirene1[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),-0.5,0.0,0.85,0,0,0);
    UCL[GetPlayerVehicleID(playerid)] = 1;
    return 1;
    }
    }
    else if(UCL[GetPlayerVehicleID(playerid)] == 1)
    {


    DestroyObject(sirene1[GetPlayerVehicleID(playerid)]);
    UCL[GetPlayerVehicleID(playerid)] = 0;
    return 1;
    }
    }
    return 0;


    Mit freundlichen Grüßen,
    TheFirstRush

  • Sofern du aber eine Variablen Definition mit MAX_VEHICLES vermeiden möchtest (2000), dann würde ich dir eine PVar-Variante gerne zeigen:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/sirene",true) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY," Sie sitzen in keinem Fahrzeug...");

    new old_object = GetPVarInt(playerid,"PlayerSirene") - 1,
    vehicle_id = GetPlayerVehicleID(playerid),
    vehicle_model = GetVehicleModel(vehicle_id),
    siren_object;

    if(old_object > -1) {
    DestroyObject(old_object);
    DeletePVar(playerid,"PlayerSirene");
    }

    siren_object = CreateObject(19419,0.0,0.0,0.0,0.0,0.0,0.0);
    SetPVarInt(playerid,"PlayerSirene",(siren_object+1));
    switch(vehicle_model)
    {
    // Hier weitere Fahrzeuge hinzufügen (zuerst aber richtige Position herausfinden).

    // Sultan
    case 560: return AttachObjectToVehicle(siren_object,vehicle_id,-0.5,0.0,0.85,0,0,0);

    // Aus Faulheit kann man jedoch auch eine statische Position für alle nicht definierte Fahrzeuge definieren
    // Einfach folgende Zeile entkommentieren (Ist aber nicht zum empfehlen, weil es unordentlich aussieht).
    // default: return AttachObjectToVehicle(siren_object,vehicle_id,0.0,0.0,0.0,0,0,0);
    }
    DeletePVar(playerid,"PlayerSirene");
    DestroyObject(siren_object);
    return SendClientMessage(playerid,COLOR_GREY," Sie sitzen in keinem gültigen Fahrzeug, worauf die Sirene passt...");
    }
    return 0;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"PlayerSirene") > 0) DestroyObject(GetPVarInt(playerid,"PlayerSirene")-1);
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if((oldstate == PLAYER_STATE_PASSENGER || oldstate == PLAYER_STATE_DRIVER) && GetPVarInt(playerid,"PlayerSirene") > 0) {
    DestroyObject(GetPVarInt(playerid,"PlayerSirene")-1);
    DeletePVar(playerid,"PlayerSirene");
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!