Mehrere kleine Fragen

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
  • So... da der andere Thread für was anderes war hier der neue wo ich mehrere Sachen frage...


    Zuerst mal, wenn ich z.b. eine Sirene auf ein Auto setze, wie entferne ich die da wieder?
    Wie erstelle ich ein Fahrzeug bei OnGameModeInit wo direkt ein Object drauf sitzt?


    Weitere Fragen werden kommen ;).
    Ich hoffe Ihr könnt mir helfen.

  • Gut...
    Wie finde ich die ModellID raus?
    Das z.b. auf einem Sultan andere Cords sind als beim Infernus z.b.


    Warum geht der Befehl nicht?



    ocmd:sirene(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,2))
    {
    if(Sirene[playerid] == 0)
    {
    DestroyObject(19420);
    new sirene = CreateObject(19419,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene, GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 1;
    }
    else if(Sirene[playerid] == 1)
    {
    DestroyObject(19419);
    new sirene = CreateObject(19420,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene, GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 0;
    }
    }
    else
    {
    ERROR
    }
    return 1;
    }

  • Ich bekomme keine Fehlercodes das ist es ja... Dann hab ich da eine AddChatMessage rein gemacht und die geht auch. Die blinkende Sirene geht bloß nicht weg...


    Mein Befehl: (Die richtigen Nachrichten Ingame kommen)



    ocmd:sirene(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,2))
    {
    if(Sirene[playerid] == 0)
    {
    DestroyObject(19420);
    new sirene = CreateObject(19419,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene, GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 1;
    new Float:X,Float:Y,Float:Z;
    new string[128];
    GetPlayerPos(playerid,X,Y,Z);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInRangeOfPoint(i,3.0,X,Y,Z))
    {
    format(string,sizeof(string),"%s schaltet die Sirene an.",SpielerName(playerid));
    SendClientMessage(i,ME,string);
    }
    }
    }
    else if(Sirene[playerid] == 1)
    {
    DestroyObject(19419);
    new sirene = CreateObject(19420,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirene, GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 0;
    new Float:X,Float:Y,Float:Z;
    new string[128];
    GetPlayerPos(playerid,X,Y,Z);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInRangeOfPoint(i,3.0,X,Y,Z))
    {
    format(string,sizeof(string),"%s schaltet die Sirene aus.",SpielerName(playerid));
    SendClientMessage(i,ME,string);
    }
    }
    }
    }
    else
    {
    ERROR
    }
    return 1;
    }


    Zeig mal deine Fehlercodes und die Zeilen, und wenn du zb die Sirenen nur aufen Sultan haben möchtest, einfach diese Abfrage einfügen ^^
    if(GetVehicleModel(GetPlayerVehicleID) == 560)


    Da kommt ein Error:
    C:\Grand Theft Auto San Andreas\gamemodes\Test.pwn(423) : error 076: syntax error in the expression, or invalid function call


    (Das ist die Zeile von der Funktion)


  • ocmd:sirene(playerid,params[])
    {
    new sirenean, sireneaus;
    if(IsPlayerAnAdmin(playerid,2))
    {
    if(Sirene[playerid] == 0)
    {
    DestroyObject(sireneaus);
    sirenean = CreateObject(19419,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirenean, GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 1;
    }
    else if(Sirene[playerid] == 1)
    {
    DestroyObject(sirenean);
    sireneaus = CreateObject(19420,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sireneaus, GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 0;
    }
    }
    else
    {
    ERROR
    }
    return 1;
    }


  • Geht immer noch nicht :/ Genauso wie deine ModellID Abfrage :/
    Danke aber für deine Mühe

  • TheBlackTiger: So klappts, habs getestet:

    new sirenean[MAX_PLAYERS], sireneaus[MAX_PLAYERS]; //oben im Script


    ocmd:sirene(playerid,params[])
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid))==560) //560 = Sultan, weiteres durch "||" trennen zB : "==560 || 411 || 462"
    {
    if(Sirene[playerid] == 0)
    {
    DestroyObject(sireneaus[playerid]);
    sirenean[playerid] = CreateObject(19419,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sirenean[playerid], GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 1;
    }
    else if(Sirene[playerid] == 1)
    {
    DestroyObject(sirenean[playerid]);
    sireneaus[playerid] = CreateObject(19420,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(sireneaus[playerid], GetPlayerVehicleID(playerid), -0.00000,0.225000,0.824999,0.000000,0.000000,0.000000);
    Sirene[playerid] = 0;
    }
    }
    return 1;
    }