Handy-System fehlerhaft

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,


    hab nen Problem mit meinem Handy-System.
    Der Handy Call geht überhaupt nicht, und FACEBOOK & SMS geht nur ab und zu.


    Hier meine Codes:


    die new's:
    new ClickedPlayer[MAX_PLAYERS];
    new IsAtLaptopDialog[MAX_PLAYERS];
    new HandyAus[MAX_PLAYERS];
    new WirdAngeruft[MAX_PLAYERS];
    new RuftAn[MAX_PLAYERS];
    new Telefoniert[MAX_PLAYERS];
    new HandyCall;


    OnPlayerDeath:


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(WirdAngeruft[playerid] == RuftAn[i] || WirdAngeruft[i] == RuftAn[playerid] || Telefoniert[playerid] == Telefoniert[i])
    {
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Der Verbindung wurde gebrochen.");
    SendClientMessage(i, FARBE_GELB, "[HANDY]: Der Verbindung wurde gebrochen.");
    RuftAn[playerid] = -1;
    WirdAngeruft[playerid] = -1;
    Telefoniert[playerid] = -1;
    Telefoniert[i] = -1;
    WirdAngeruft[i] = -1;
    RuftAn[i] = -1;
    }
    }


    OnPlayerText:


    new string[200];
    if(Telefoniert[playerid] >= 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Telefoniert[playerid] == Telefoniert[i])
    {
    format(string, 200, "[HANDY]: %s: %s", SpielerName(playerid), text);
    SendClientMessage(i, FARBE_GELB, string);
    SendClientMessage(playerid, FARBE_GRAU, string);
    printf(string);
    }
    }
    }


    Meine 2 Commands: Abheben, auflegen:


    ocmd:auflegen(playerid,params[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Telefoniert[i] == Telefoniert[playerid])
    {
    SendClientMessage(i, FARBE_GELB, "[HANDY]: Es wurde einfach aufgelegt ..");
    SendClientMessage(playerid, FARBE_GRAU, "[HANDY]: Du hast das Handy aufgelegt.");
    Telefoniert[i] = -1;
    Telefoniert[playerid] = -1;
    }
    }
    return 1;
    }


    ocmd:pickup(playerid,params[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(WirdAngeruft[playerid] >= 0)
    {
    if(WirdAngeruft[playerid] == RuftAn[i])
    {
    ClickedPlayer[i] = -1;
    Telefoniert[playerid] = RuftAn[i];
    Telefoniert[i] = RuftAn[i];
    RuftAn[i] = -1;
    WirdAngeruft[playerid] = -1;
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Du hebst den Anruf ab.");
    KillTimer(HandyCall);
    SendClientMessage(i, FARBE_GELB, "[HANDY]: Dein Anruf wird abgehoben.");
    }
    }
    }
    return 1;
    }


    Hier meien Dialoge:


    case DIALOG_HANDY:
    {
    if(response)
    {
    if(listitem == 0)
    {
    new string[240];
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    format(string, sizeof(string), "%s (ID:%i)\n", SpielerName(i), i);
    }
    ShowPlayerDialog(playerid, DIALOG_CALL, DIALOG_STYLE_LIST, "Folgende User sind in deiner Kontaktliste:", string, "Anrufen", "Abbrechen");
    IsAtLaptopDialog[playerid] = 1;
    }
    }

    if(listitem == 1)
    {
    new string[240];
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    format(string, sizeof(string), "%s (ID:%i)\n", SpielerName(i), i);
    }
    ShowPlayerDialog(playerid, DIALOG_SMS, DIALOG_STYLE_LIST, "Folgende User sind in deiner Kontaktliste:", string, "Fortfahren", "Abbrechen");
    IsAtLaptopDialog[playerid] = 1;
    }
    }

    if(listitem == 2)
    {
    new string[240];
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    format(string, sizeof(string), "%s (ID:%i)\n", SpielerName(i), i);
    }
    ShowPlayerDialog(playerid, DIALOG_FACEBOOK, DIALOG_STYLE_LIST, "Folgende User sind im Chat online:", string, "Fortfahren", "Abbrechen");
    IsAtLaptopDialog[playerid] = 1;
    }
    }

    if(listitem == 3)
    {
    ShowPlayerDialog(playerid, DIALOG_HANDYAUSEIN, DIALOG_STYLE_LIST, "Handy-Menü", "Handy einschalten\nHandy ausschalten", "Fortfahren", "Abbrechen");
    }
    }
    }

    case DIALOG_CALL:
    {
    if(response)
    {
    if(HandyAus[ClickedPlayer[playerid]] == 0)
    {
    new string[200];
    format(string, 200, "[HANDY]: Du wirst von %s angerufen.", SpielerName(playerid));
    SendClientMessage(ClickedPlayer[playerid], FARBE_GELB, string);
    SendClientMessage(ClickedPlayer[playerid], FARBE_GELB, "[HANDY]: Nutze (/pickup) (/p) oder (/abheben) um dne Höhrer abzunehmen.");
    format(string, 200, "[HANDY]: Du rufst %s an.", SpielerName(ClickedPlayer[playerid]));
    SendClientMessage(playerid, FARBE_GELB, string);
    WirdAngeruft[ClickedPlayer[playerid]] = playerid;
    RuftAn[playerid] = playerid;
    HandyCall = SetTimerEx("AnrufAusTimer", 1000*20, false, "d", playerid);
    }
    else
    {
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Der Spieler hat sein Handy ausgeschaltet!");
    }
    }
    }


    case DIALOG_SMS:
    {
    if(response)
    {
    if(HandyAus[ClickedPlayer[playerid]] == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ShowPlayerDialog(playerid, DIALOG_SMS1, DIALOG_STYLE_INPUT, "SMS senden", "Gib die Nachricht ein, welche du absenden möchtest:", "Fortfahren", "Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Der Spieler hat sein Handy ausgeschaltet!");
    }
    }
    }

    case DIALOG_SMS1:
    {
    if(response)
    {
    new string[150];
    format(string, 150, "[HANDY]: SMS | Absender: %s | Nachricht: %s", SpielerName(playerid),inputtext);
    SendClientMessage(ClickedPlayer[playerid], FARBE_GELB, string);
    format(string, 150, "FACEBOOK | Empfänger: %s | Nachricht: %s", SpielerName(ClickedPlayer[playerid]),inputtext);
    SendClientMessage(playerid, FARBE_GELB, string);
    ClickedPlayer[playerid] = -1;
    IsAtLaptopDialog[playerid] = 0;
    }
    }


    case DIALOG_FACEBOOK:
    {
    if(response)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ShowPlayerDialog(playerid, DIALOG_FACEBOOK2, DIALOG_STYLE_INPUT, "Nachricht senden", "Gib die Nachricht ein, welche du absenden möchtest:", "Fortfahren", "Abbrechen");
    }
    }
    }

    case DIALOG_FACEBOOK2:
    {
    if(response)
    {
    new string[150];
    format(string, 150, "FACEBOOK | Absender: %s | Nachricht: %s", SpielerName(playerid),inputtext);
    SendClientMessage(ClickedPlayer[playerid], FARBE_GELB, string);
    format(string, 150, "FACEBOOK | Empfänger: %s | Nachricht: %s", SpielerName(ClickedPlayer[playerid]),inputtext);
    SendClientMessage(playerid, FARBE_GELB, string);
    ClickedPlayer[playerid] = -1;
    IsAtLaptopDialog[playerid] = 0;
    }
    }

    case DIALOG_HANDYAUSEIN:
    {
    if(response)
    {
    if(listitem == 0)
    {
    HandyAus[playerid] = 0;
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Handy eingeschaltet!");
    }

    if(listitem == 1)
    {
    HandyAus[playerid] = 1;
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Handy ausgeschaltet!");
    }
    }
    }


    & Hier OnPlayerClickPlayer:


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    if(IsAtLaptopDialog[playerid] == 1)
    {
    ClickedPlayer[playerid] = clickedplayerid;
    }
    return 1;
    }


    & hier der eine timer:


    forward AnrufAusTimer(playerid);
    public AnrufAusTimer(playerid)
    {
    SendClientMessage(ClickedPlayer[playerid], FARBE_GELB, "[HANDY]: Der Anruf wurde aufgelegt.");
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Es reagiert keiner ..");
    IsAtLaptopDialog[playerid] = 0;
    WirdAngeruft[ClickedPlayer[playerid]] = -1;
    RuftAn[playerid] = -1;
    ClickedPlayer[playerid] = -1;
    return 1;
    }


    Wenn ihr mir helfen könnt, seid ihr die besten! :D


    Lg,
    playerid aka. inCrecdible