Mobile Sirene auf Fahrzeugdach lässt sich zwar draufsetzten aber nicht mehr entfernen

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
  • Beitrag von hackedicht ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von hackedicht ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Warum ist das ein Problem ? Er braucht die Variable nicht außerhalb des Befehls oder hab ich was überlesen ?



    Ist ungetestet: Ich habe den befehl auf /sirene verkürzt.. es wird automatisch an und aus geschalten ^^ Sollte funktionieren
    ocmd:sirene(playerid,params[])
    {
    new Float: vx,Float: vy, Float: vz;
    new vID=GetPlayerVehicleID(playerid),cmd[5];
    new sirene[MAX_VEHICLES];
    new sirenestat[MAX_VEHICLES];
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetVehicleModel(vID)==560)
    {
    GetPlayerPos(playerid,vx,vy,vz);
    if(sirenestat[vID] == 0)
    {
    sirene[vID]=CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene[vID],vID,0.450000,0.075000,0.749999,-10.799998,0.000000,0.000000);
    sirenestat[vID]= 1;
    SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    }
    SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte ausgeschaltet.");
    DestroyObject(sirene[vID]);
    sirenestat[vID] = 0;
    return 1;
    }
    if(GetVehicleModel(vID)==490)
    {
    if(sirenestat[vID] == 1)
    {
    SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte ausgeschaltet.");
    DestroyObject(sirene[vID]);
    sirenestat[vID]=0;
    return 1;
    }
    else
    {
    sirene[vID]=CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene[vID],vID,-0.599999,1.125000,1.049999,-18.900001,0.000000,0.000000);
    SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    sirenestat[vID] = 1;
    return 1;
    }
    }
    }
    }



    Und falls du fragen hast frag ruhig

    2 Mal editiert, zuletzt von [MVS]Simon ()

  • Beitrag von hackedicht ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • new Sirene[MAX_VEHICES];
    ocmd:sirene(playerid,params[])
    {
    new cmd[3];
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,BLAU,"Du befindest dich nicht in einem Fahrzeug!");
    if(sscanf(params,"s",cmd))return SendClientMessage(playerid,USEWHITE,"/sirene an/aus");
    if(!strcmp(cmd,"an",true)){
    if(GetVehicleModel(GetPlayerVehicleID(playerid))==560&&Sirene[GetPlayerVehicleID(playerid)]==0){
    Sirene[GetPlayerVehicleID(playerid)]=CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene[vID],vID,0.450000,0.075000,0.749999,-10.799998,0.000000,0.000000);
    return SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    }
    else if(GetVehicleModel(GetPlayerVehicleID(playerid))==490&&Sirene[GetPlayerVehicleID(playerid]==0){
    Sirene[GetPlayerVehicleID(playerid)]=CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene[vID],vID,-0.599999,1.125000,1.049999,-18.900001,0.000000,0.000000);
    return SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    }
    return 1;
    }
    else if(!strcmp(cmd,"aus",true)){
    if(GetVehicleModel(GetPlayerVehicleID(playerid))==560||GetVehicleModel(GetPlayerVehicleID(playerid))==490&&Sirene[GetPlayerVehicleID(playerid]!=0){
    DestroyObject(Sirene[GetPlayerVehicleID(playerid)]),SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte ausgeschaltet.");
    return Sirene[GetPlayerVehicleID(playerid]=0;
    }
    }
    return 1;
    }


    Probier das mal so aus, sollte klappen ;)

  • Beitrag von hackedicht ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • //Globale Variablen
    new UCL[MAX_VEHICLES];
    new sirene[MAX_VEHICLES];
    new sirene1[MAX_VEHICLES];
    new sirene2[MAX_VEHICLES];
    new sirene3[MAX_VEHICLES];
    new sirene4[MAX_VEHICLES];


    if(strcmp(cmdtext,"/sirene",true)==0)
    {
    if(UCL[GetPlayerVehicleID(playerid)] == 0)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(tmpcar) == 560)
    {
    sirene[GetPlayerVehicleID(playerid)] = CreateObject(19288,0,0,0,0,0,0,100);
    sirene1[GetPlayerVehicleID(playerid)] = CreateObject(18646,0,0,0,0,0,0,100);
    sirene2[GetPlayerVehicleID(playerid)] = CreateObject(19288,0,0,0,0,0,0,100);
    sirene3[GetPlayerVehicleID(playerid)] = CreateObject(19288,0,0,0,0,0,0,100);
    sirene4[GetPlayerVehicleID(playerid)] = CreateObject(19292,0,0,0,0,0,0,100);
    AttachObjectToVehicle(sirene[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0 ,2.6,0,0,0,0);//Vorne Mitte
    AttachObjectToVehicle(sirene1[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),-0.5,0.0,0.85,0,0,0);//Dach sirene
    AttachObjectToVehicle(sirene2[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite
    AttachObjectToVehicle(sirene3[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite
    AttachObjectToVehicle(sirene4[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0,0.9,0.4,0,0,0);//Mittig im Fenster
    UCL[GetPlayerVehicleID(playerid)] = 1;
    return 1;
    }
    }
    else if(UCL[GetPlayerVehicleID(playerid)] == 1)
    {
    DestroyObject(sirene[GetPlayerVehicleID(playerid)]);
    DestroyObject(sirene1[GetPlayerVehicleID(playerid)]);
    DestroyObject(sirene2[GetPlayerVehicleID(playerid)]);
    DestroyObject(sirene3[GetPlayerVehicleID(playerid)]);
    DestroyObject(sirene4[GetPlayerVehicleID(playerid)]);
    UCL[GetPlayerVehicleID(playerid)] = 0;
    return 1;
    }
    }
    return 1;
    }

  • Beitrag von hackedicht ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • ocmd:sirene(playerid,params[])
    {
    new vID=GetPlayerVehicleID(playerid);
    new sirene = CreateObject(18646,0,0,-1000,0,0,0,100);
    new sirenestat[MAX_VEHICLES];
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetVehicleModel(vID) == 560 || GetVehicleModel(vID) == 490)
    {
    if(sirenestat[vID] == 0)
    {
    AttachObjectToVehicle(18646,vID,0.450000,0.075000,0.749999,-10.799998,0.000000,0.000000);
    sirenestat[vID]= 1;
    SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du hast die Einsatzsignalleuchte ausgeschaltet.");
    DestroyObject(sirene);
    sirenestat[vID] = 0;
    return 1;
    }
    }
    }
    return 1;
    }


    probiers mal

  • new Sirene[MAX_VEHICLES];
    ocmd:sirene(playerid,params[])
    {
    new cmd[4];
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,orange,"Du befindest dich nicht in einem Fahrzeug!");
    if(sscanf(params,"s[4]",cmd))return SendClientMessage(playerid,weis,"/sirene an/aus");
    if(!strcmp(cmd,"an",true)){
    if(GetVehicleModel(GetPlayerVehicleID(playerid))==560&&Sirene[GetPlayerVehicleID(playerid)]==0){
    Sirene[GetPlayerVehicleID(playerid)]=CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(Sirene[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0.450000,0.075000,0.749999,-10.799998,0.000000,0.000000);
    return SendClientMessage(playerid,orange,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    }
    else if(GetVehicleModel(GetPlayerVehicleID(playerid))==490&&Sirene[GetPlayerVehicleID(playerid)]==0){
    Sirene[GetPlayerVehicleID(playerid)]=CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(Sirene[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),-0.599999,1.125000,1.049999,-18.900001,0.000000,0.000000);
    return SendClientMessage(playerid,orange,"Du hast die Einsatzsignalleuchte eingeschaltet.");
    }
    }
    else if(!strcmp(cmd,"aus",true)){
    if(GetVehicleModel(GetPlayerVehicleID(playerid))==560||GetVehicleModel(GetPlayerVehicleID(playerid))==490&&Sirene[GetPlayerVehicleID(playerid)]!=0){
    DestroyObject(Sirene[GetPlayerVehicleID(playerid)]);
    SendClientMessage(playerid,orange,"Du hast die Einsatzsignalleuchte ausgeschaltet.");
    return Sirene[GetPlayerVehicleID(playerid)]=0,1;
    }
    }
    return 1;
    }


    Von meinerseits waren dort einige Fehler drin, die ich nun behoben habe.
    Der Befehl wurde von mir getestet und funktioniert einwandfrei ;)

  • Beitrag von hackedicht ()

    Dieser Beitrag wurde vom Autor gelöscht ().