Feuer Alarm Problem

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 Morgen Community,


    Ich habe eine Problem mit meinem Feuerwehr Sirenen Sound
    Wen zwei leute bei der Sirene sind hört nur einer den Sound aber wir beide haben den Radio Sound auf ganz hoch gestellt ich habe die Sirene gehört mein Kumpel nicht
    woran könnte das liegen ?
    Hier ist der code


    PlayAudioStreamForPlayer(playerid,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);


    Was ist da falsch ?


    Hoffe mit kann einer helfen.

  • public CreateFire(playerid)
    {
    switch(playerid)
    {
    case 0:
    {
    PlayAudioStreamForPlayer(playerid,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach in der {00FF00}LS Mall{FFFFFF} aus!");
    AddFire(1109.7426,-1518.5206,15.7969, random(100), 0);
    AddFire(1109.4607,-1517.0424,15.7969, random(100), 0);
    AddFire(1110.8823,-1518.2303,15.7969, random(100), 0);
    AddFire(1111.1472,-1519.8075,15.7969, random(100), 0);
    AddFire(1108.0875,-1516.2218,15.7969, random(100), 0);
    AddFire(1107.0024,-1516.8269,15.7969, random(100), 0);
    AddFire(1108.9535,-1514.8013,15.7969, random(100), 0);
    mx = 1109.7426;my=-1518.5206;mz=15.7969;

    }
    case 1:
    {
    PlayAudioStreamForPlayer(playerid,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach am {00FF00}LS Hospital{FFFFFF} aus!");
    AddFire(2017.7671,-1437.9889,14.3000, random(100), 0);
    AddFire(2019.3118,-1436.9531,14.3859, random(100), 0);
    AddFire(2019.1769,-1438.8497,14.7842, random(100), 0);
    AddFire(2018.9347,-1440.3239,15.0654, random(100), 0);
    AddFire(2020.1074,-1440.3599,15.3154, random(100), 0);
    AddFire(2021.1141,-1439.6196,15.3568, random(100), 0);
    AddFire(2023.2761,-1441.0536,16.1249, random(100), 0);
    mx=2017.7671;my=-1437.9889;mz=14.3000;
    }
    case 2:
    {
    PlayAudioStreamForPlayer(playerid,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach am {00FF00}LSPD{FFFFFF} aus!");
    AddFire(1486.9941,-1667.0309,14.5532, random(100), 0);
    AddFire(1486.4098,-1664.8375,14.5532, random(100), 0);
    AddFire(1487.9250,-1664.5344,14.5532, random(100), 0);
    AddFire(1484.6763,-1666.7335,14.5532, random(100), 0);
    AddFire(1482.4634,-1667.3370,14.5532, random(100), 0);
    AddFire(1482.3033,-1665.4377,14.5532, random(100), 0);
    AddFire(1483.2228,-1663.8508,14.5532, random(100), 0);
    mx=1486.9941;my=-1667.0309;mz=14.5532;
    }
    }
    Icon=1;
    SetMapIconsForAll();
    return 1;
    }

  • Da liegt ja das Problem ..


    Du erstellst einen Feuer und gibst eine random Variable an .. , falls du das ganze in einem Timer machst dann ändere CreateFire in folgendes um:



    public CreateFire(ID)
    {
    switch(ID)
    {
    case 0:
    {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayAudioStreamForPlayer(i,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach in der {00FF00}LS Mall{FFFFFF} aus!");
    AddFire(1109.7426,-1518.5206,15.7969, random(100), 0);
    AddFire(1109.4607,-1517.0424,15.7969, random(100), 0);
    AddFire(1110.8823,-1518.2303,15.7969, random(100), 0);
    AddFire(1111.1472,-1519.8075,15.7969, random(100), 0);
    AddFire(1108.0875,-1516.2218,15.7969, random(100), 0);
    AddFire(1107.0024,-1516.8269,15.7969, random(100), 0);
    AddFire(1108.9535,-1514.8013,15.7969, random(100), 0);
    mx = 1109.7426;my=-1518.5206;mz=15.7969;

    }
    case 1:
    {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayAudioStreamForPlayer(i,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach am {00FF00}LS Hospital{FFFFFF} aus!");
    AddFire(2017.7671,-1437.9889,14.3000, random(100), 0);
    AddFire(2019.3118,-1436.9531,14.3859, random(100), 0);
    AddFire(2019.1769,-1438.8497,14.7842, random(100), 0);
    AddFire(2018.9347,-1440.3239,15.0654, random(100), 0);
    AddFire(2020.1074,-1440.3599,15.3154, random(100), 0);
    AddFire(2021.1141,-1439.6196,15.3568, random(100), 0);
    AddFire(2023.2761,-1441.0536,16.1249, random(100), 0);
    mx=2017.7671;my=-1437.9889;mz=14.3000;
    }
    case 2:
    {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayAudioStreamForPlayer(i,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach am {00FF00}LSPD{FFFFFF} aus!");
    AddFire(1486.9941,-1667.0309,14.5532, random(100), 0);
    AddFire(1486.4098,-1664.8375,14.5532, random(100), 0);
    AddFire(1487.9250,-1664.5344,14.5532, random(100), 0);
    AddFire(1484.6763,-1666.7335,14.5532, random(100), 0);
    AddFire(1482.4634,-1667.3370,14.5532, random(100), 0);
    AddFire(1482.3033,-1665.4377,14.5532, random(100), 0);
    AddFire(1483.2228,-1663.8508,14.5532, random(100), 0);
    mx=1486.9941;my=-1667.0309;mz=14.5532;
    }
    }
    Icon=1;
    SetMapIconsForAll();
    return 1;
    }

  • Okay habe da noch eine frage wegen dem IsFWDuty


    Habe da noch eine abfrage erstellt sobald nur einer im FW-Dienst ist das dann auch ein Feuerausbrechen kann das sieht so aus


    if(IsFWDuty())
    {
    CreateFire(random(3));
    }


    stock IsFWDuty()
    {
    for(new i = 0;i < MAX_PLAYERS;i++)
    {
    if(fwduty[i]==0) return 1;
    }
    return 0;
    }
    kalppt aber leider nicht es bricht tortzdem feuer aus auch wen kein Feuerwehrmann on ist oder duty


  • // Edit habe dich falsch verstanden
    stock IsFWDuty() {
    for(new i = 0;i < MAX_PLAYERS;i++) {
    if(!IsPlayerConnected(i)) continue;
    if(fwduty[i]==1) return 1; // Ich glaube die Variable stellst du eher auf 1 :)
    }
    return 0;
    }

  • Ist das eigentlich auch Richtig das ich das in OnGamemodeInit habe ?
    //Feuerwehrsystem
    f_init();
    //SetTimerEx("CreateFire", random(60000) + 80000, false, "i", random(MAX_FIRES));
    if(IsFWDuty())
    {
    CreateFire(random(3));
    }

  • Wie könnte man das dann sonst machen weil ich will dann schon wirklich das Sobald der Spieler in den Feuerwehr-Dienst geht das dann auch das Feuer erstellt wird
    und wen er ausm Dienst geht das keine Meldung mehr von dem Feuer kommt also das dann erstmal nix mehr erstellt wird ^^


  • new Feuer; // Eine Variable erstellen, um zu überprüfen ob ein Feuer erstellt wurde


    public OnGameModeInit() {
    Feuer = 0;
    SetTimer("CheckFeuer",900000,true); // Ist ein Timer der jede 15 Mins ausgeführt wird
    return 1;
    }


    forward CheckFeuer();
    public CheckFeuer() {
    if(Feuer == 1) return 1; // Falls ein Feuer vorhanden ist wird kein neues mehr erstellt
    if(!IsFWDuty()) return 1; // Falls kein Feuerwehrmann OnDuty ist wird es übersprungen
    CreateFire(random(3));
    return 1;
    }


    public CreateFire(ID) {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayAudioStreamForPlayer(i,"http://matze.server.royal-streets.de/royalstreetsserversounds/sirenefeuerwehrrsr.mp3",1920.2426,-1636.9709,19.0122,100,0);
    Fire = 1; // Feuer wird/wurde erstellt Variable auf 1 setzten.
    switch(ID) {
    case 0: {
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach in der {00FF00}LS Mall{FFFFFF} aus!");
    AddFire(1109.7426,-1518.5206,15.7969, random(100), 0);
    AddFire(1109.4607,-1517.0424,15.7969, random(100), 0);
    AddFire(1110.8823,-1518.2303,15.7969, random(100), 0);
    AddFire(1111.1472,-1519.8075,15.7969, random(100), 0);
    AddFire(1108.0875,-1516.2218,15.7969, random(100), 0);
    AddFire(1107.0024,-1516.8269,15.7969, random(100), 0);
    AddFire(1108.9535,-1514.8013,15.7969, random(100), 0);
    mx = 1109.7426;my=-1518.5206;mz=15.7969;
    }
    case 1: {
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach am {00FF00}LS Hospital{FFFFFF} aus!");
    AddFire(2017.7671,-1437.9889,14.3000, random(100), 0);
    AddFire(2019.3118,-1436.9531,14.3859, random(100), 0);
    AddFire(2019.1769,-1438.8497,14.7842, random(100), 0);
    AddFire(2018.9347,-1440.3239,15.0654, random(100), 0);
    AddFire(2020.1074,-1440.3599,15.3154, random(100), 0);
    AddFire(2021.1141,-1439.6196,15.3568, random(100), 0);
    AddFire(2023.2761,-1441.0536,16.1249, random(100), 0);
    mx=2017.7671;my=-1437.9889;mz=14.3000;
    }
    case 2: {
    FlamesLeft = 7;
    SendClientMessageToAll(0xFFFFFFFF, "[Feueralarm] Ein {FF0000}Feuer{FFFFFF} brach am {00FF00}LSPD{FFFFFF} aus!");
    AddFire(1486.9941,-1667.0309,14.5532, random(100), 0);
    AddFire(1486.4098,-1664.8375,14.5532, random(100), 0);
    AddFire(1487.9250,-1664.5344,14.5532, random(100), 0);
    AddFire(1484.6763,-1666.7335,14.5532, random(100), 0);
    AddFire(1482.4634,-1667.3370,14.5532, random(100), 0);
    AddFire(1482.3033,-1665.4377,14.5532, random(100), 0);
    AddFire(1483.2228,-1663.8508,14.5532, random(100), 0);
    mx=1486.9941;my=-1667.0309;mz=14.5532;
    }
    }
    Icon=1;
    SetMapIconsForAll();
    return 1;
    }


    Du musst dann die Variable Fire bei der Löschung wieder auf 0 setzten.

  • Ist das eigentlich auch Richtig das ich das in OnGamemodeInit habe ?


    Nicht wirklich. Wenn du den Server startest, ist ja noch kein Spieler mit dem Server verbunden, sodass ein Feuer auch nicht entstehen kann, da IsFWDuty immer 0 zurückgibt.

  • Bekomme dann diese Warnings und Error



    (17597) : warning 219: local variable "ID" shadows a variable at a preceding level
    17599) : error 017: undefined symbol "Fire"
    (17599) : warning 215: expression has no effect

  • Benenne "ID" in "ID2" um.
    Hast du "Feuer" oben im Script auch definiert?

  • Bekomme dann diese Warnings und Error



    (17597) : warning 219: local variable "ID" shadows a variable at a preceding level
    17599) : error 017: undefined symbol "Fire"
    (17599) : warning 215: expression has no effect


    Sorry mein Fehler:


    Ändere auf Zeile 17599 das Fire auf Feuer um.
    Ändere auf Zeile 17597 ID auf FeuerID um und auf Zeile 19600 das ID auch auf FeuerID

  • Okay ^^
    Noch ein Problem
    man kann zurzeit nur mit dem Feuerlöscher die Flammen löschen ich wollte es auch mal mit dem Feuerwehrwagen versuchen aber irgendwie Klappt Ingame dann nix
    public f_OnPlayerUpdate(playerid)
    {
    new newkeys,l,u;
    GetPlayerKeys(playerid, newkeys, l, u);
    new i;
    if(Holding(KEY_FIRE))
    {
    if(GetPlayerWeapon(playerid) == 42)
    {
    for(i = 0; i<MaxFire; i++)
    {

    if(PlayerFaces(playerid, FirePos[i][0], FirePos[i][1], FirePos[i][2], 1) && IsPlayerInRangeOfPoint(playerid, 4, FirePos[i][0], FirePos[i][1], FirePos[i][2]))
    {
    FireHealth[i]-=2;
    #if defined Labels
    new fwstring[128];
    format(fwstring, sizeof(fwstring), "%d/%d", FireHealth[i], FireHealthMax[i]);
    Update3DTextLabelText(FireText[i], 0xFFFFFFFF, fwstring);
    //Delete3DTextLabel(FireText[i]);
    //FireText[i] = Create3DTextLabel(fwstring, 0xFFFFFFFF, FirePos[i][0], FirePos[i][1], FirePos[i][2], 20, 0);
    #endif
    if(FireHealth[i] <= 0)
    {
    DeleteFire(i);
    CallRemoteFunction("OnFireDeath", "dd", i, playerid);
    }
    }
    }
    }
    }
    if(Holding(KEY_FIRE))
    {
    if(IsPlayerInVehicle(playerid, 407))
    {
    for(i = 0; i<MaxFire; i++)
    {

    if(PlayerFaces(playerid, FirePos[i][0], FirePos[i][1], FirePos[i][2], 1) && IsPlayerInRangeOfPoint(playerid, 4, FirePos[i][0], FirePos[i][1], FirePos[i][2]))
    {
    FireHealth[i]-=2;
    #if defined Labels
    new fwstring[128];
    format(fwstring, sizeof(fwstring), "%d/%d", FireHealth[i], FireHealthMax[i]);
    Update3DTextLabelText(FireText[i], 0xFFFFFFFF, fwstring);
    //Delete3DTextLabel(FireText[i]);
    //FireText[i] = Create3DTextLabel(fwstring, 0xFFFFFFFF, FirePos[i][0], FirePos[i][1], FirePos[i][2], 20, 0);
    #endif
    if(FireHealth[i] <= 0)
    {
    DeleteFire(i);
    CallRemoteFunction("OnFireDeath", "dd", i, playerid);
    }
    }
    }
    }
    }
    return 1;
    }