/status Befehl

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 ich habe mal eine frage un zwar ich wollte für die feuerwehr ein /status befehl machen im Dialog.
    nun wollte ich fragen wie ich es schreiben solln also es soll folgenderweiße aussehen:
    Feuerwache1 macht /status dan klickt er auf Einfahrt und dan soll bei der leitsetlle eine message kommen mit "Feuerwache1 meldet einfahrt"
    Feuerwache1 macht /status dan klickt er auf Ausfahrt und dan soll bei
    der leitsetlle eine message kommen mit "Feuerwache1 meldet ausfahrt"
    und das selbe mit Feuerwache 2 :) vill könnt ihr mir helfen also den befehl im Dialog habe ich schonmal:
    ocmd:status(playerid,params[])
    {
    if(Spieler[playerid][Fraktion] == 4 || Spieler[playerid][Fraktion] == 5 )
    {
    ShowPlayerDialog(playerid, DIALOG_STATUS,DIALOG_STYLE_LIST, "{B9FF00}Status-Menu{FAFAFA}","Einfahrt\nAusfahrt\nEinsatzstelle Angekommen\nVerstärkung", "Melden", "Abbrechen");
    }
    return 1;
    }


    ich hoffe ihr könnt mir helfen :))

    Einmal editiert, zuletzt von Radek_Hillers () aus folgendem Grund: Fehler

  • Du gehst zu
    public OnDialogResponse
    . Dort fragst du ab welchen Button er gedrückt hat
    if(response == 0) // Oder if(response == 1) 0 Ist Abbrechen 1 ist Melden
    Wenn er auf 1 Klickt, fragst du ab welche Fraktion es ist. z.B. 1 für LSPD.


    Dann machst du SendClientMessage zu den Polizisten.
    Beispiel:

    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(playerid,DeineFarbe,"Die Feuerwehr hat Einfahrt / Ausfahrt gemeldet.");
    }
    else // Wenn sie nicht sind
    {
    return 1;
    }


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • geht nicht also bei der leitstelle kommt nix an ?(


    if(dialogid == DIALOG_STATUS)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,GELB,"Status Menu geschlossen");
    }
    if(response == 1)
    {
    switch (listitem)
    {
    case 0: //Einfahrt
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(playerid,GELB,"Die Feuerwehr hat Einfahrt gemeldet.");
    }
    return 1;
    }
    case 1://Ausfahrt
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(playerid,GELB,"Die Feuerwehr hat Ausfahrt gemeldet.");
    }
    return 1;
    }
    case 2://Angekommen
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(playerid,GELB,"Die Feuerwehr ist an der Einsatzstelle angekommen.");
    }
    return 1;
    }
    case 3://Verstärkung
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(playerid,GELB,"Die Feuerwehr hat Verstärkung gerufen.");
    }
    return 1;
    }
    }
    }
    }


    so habe ich es nun aber da kommt nix

    2 Mal editiert, zuletzt von Radek_Hillers () aus folgendem Grund: erneuert...

  • des 2 response in deinem Dialog, musst du so machen
    if(response==1) // Wenn er was aufwählt und nicht abbricht ;(

  • Dann mach es mit einer For-Schleife.

    for(new i = 0; i < MAX_PLAYERS; i++) // Diese Schleife aber nicht überall durchführen, oben hin(DialogResponse).
    { // i geht alle Spieler durch die Fraktion 1 sind.
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Einfahrt gemeldet."); // Hier anstatt playerid "i", weil wir durch die Schleife eine neue Variable geklariert haben.
    }
    return 1;
    }


    Erfolg nicht garantiert, ist ausm Kopf in PAWNO geschrieben.


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • ne wen ich es so richtig habe dan geht es nicht :(



    if(dialogid == DIALOG_STATUS)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,GELB,"Status Menu geschlossen");
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(response == 1)
    {
    switch (listitem)
    {
    case 0: //Einfahrt
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Einfahrt gemeldet.");
    }
    return 1;
    }
    case 1://Ausfahrt
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Ausfahrt gemeldet.");
    }
    return 1;
    }
    case 2://Angekommen
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr ist an der Einsatzstelle angekommen.");
    }
    return 1;
    }
    case 3://Verstärkung?
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Verstärkung gemeldet.");
    }
    return 1;
    }
    }
    }
    }


    mhh sonst noch etwas?

  • if(dialogid == DIALOG_STATUS)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,GELB,"Status Menu geschlossen");
    }
    if(response == 1)
    {
    switch (listitem)
    {
    case 0: //Einfahrt
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(Spieler[i][Fraktion] == 1) )
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Einfahrt gemeldet."); //so oder du machst es mit nem string das gemeldet wird wers war
    /*new fwfahrt[257];
    new sendername[MAX_PLAYER_NAME];// erst die definitionen
    format(fwfahrt, sizeof(fwfahrt), "HQ: An alle: %s von Feuerwehr hat eine Einfahrt gemeldet.", sendername);
    SendClientMessage(i, GELB, fwfahrt);´*/
    }
    return 1;
    }
    case 1://Ausfahrt
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Ausfahrt gemeldet.");
    }
    return 1;
    }
    case 2://Angekommen
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr ist an der Einsatzstelle angekommen.");
    }
    return 1;
    }
    case 3://Verstärkung?
    {
    if(Spieler[playerid][Fraktion] == 1)
    {
    SendClientMessage(i,GELB,"Die Feuerwehr hat Verstärkung gemeldet.");
    }
    return 1;
    }
    }
    }
    }


    den obersten habe ich mal 2 möglichkeiten gemacht müsste so funktionieren achja ich weis ich bin bissle spät dran aber vllt hilfts dir ja noch.
    Die zweite hab ich mal ausgeklammert.