Fehler in Anrufsystem

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
  • HeyHoo,


    habe einen Fehler im Call-System.
    Hier einmal meine Befehle:

    Spoiler anzeigen

    ocmd:pickup(playerid,params[])
    {
    if(TelefoniertGerade[playerid] == 1)
    {
    SendClientMessage(playerid, Grau, "Du Telefonierst bereits!");
    return 1;
    }
    else
    {
    if(HandyKlingelt[playerid] == 1)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[playerid][pHandyAkku] < 10)
    {
    SCM(playerid,Weiss,"Dein Handy hat zu wenig Akku zum telefonieren, lade es erst wieder auf!");
    }
    else
    {
    new caller = Caller[playerid];
    new string[128];
    TelefoniertGerade[playerid] = 1;
    SendClientMessage(caller,Grau, "Ihr Anruf wurde angenommen!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s nimmt sein Handy raus.", PlayerName(playerid));
    SetPlayerSpecialAction(playerid,11);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    RingTone[playerid] = 0;
    return 1;
    }
    }
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:hangup(playerid,params[])
    {
    if(TelefoniertGerade[playerid] == 1)
    {
    new caller = Caller[playerid];
    if(TelefoniertGerade[caller] == 1)
    {
    SetPlayerSpecialAction(playerid,13);
    SetPlayerSpecialAction(caller,13);
    SCM(playerid,Weiss,"Du steckst dein Handy weg!");
    SCM(caller,Weiss,"Der Gesprähspartner hat das Gespräch beendet!");
    TelefoniertGerade[playerid] = 0;
    TelefoniertGerade[caller] = 0;
    }
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:h(playerid,params[])
    {
    if(TelefoniertGerade[playerid] == 1)
    {
    new caller = Caller[playerid];
    if(TelefoniertGerade[caller] == 1)
    {
    SetPlayerSpecialAction(playerid,13);
    SetPlayerSpecialAction(caller,13);
    SCM(playerid,Weiss,"Du steckst dein Handy weg!");
    SCM(caller,Weiss,"Der Gesprähspartner hat das Gespräch beendet!");
    TelefoniertGerade[playerid] = 0;
    TelefoniertGerade[caller] = 0;
    }
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:call(playerid,params[])
    {
    if(SpielerInfo[playerid][pHandy] == 1)
    {
    new string[128];
    new handy;
    if(sscanf(params,"i",handy))return SCM(playerid,Grau,"Benutze: /call [Handynummer]");
    {
    if(TelefoniertGerade[playerid] != 0)
    {
    SCM(playerid,Weiss,"Du telefonierst schon!");
    return 1;
    }
    else
    {
    format(string, sizeof(string), "* %s nimmt sein Handy raus.", PlayerName(playerid));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][pHandynummer] == handy)
    {
    if(IsPlayerConnected(i))
    {

    if(SpielerInfo[playerid][pHandynummer] == handy)
    {
    SCM(playerid,Weiss,"Du kannst dich nicht selber anrufen!");
    return 1;
    }
    else
    {
    if(TelefoniertGerade[i] != 0)
    {
    SCM(playerid,Grau,"Besetzt...");
    return 1;
    }
    else
    {
    if(SpielerInfo[i][pHandyStatus] == 1)
    {
    if(SpielerInfo[playerid][pHandyAkku] > 10)
    {
    if(SpielerInfo[i][pHandyAkku] > 10)
    {
    new stringg[128];
    format(stringg, sizeof(stringg), "* %s 's Handy klingelt!", PlayerName(i));
    format(string, sizeof(string), "Dein Handy klingelt, Anrufer: %s (Abnehmen: /pickup)!", PlayerName(playerid));
    SendClientMessage(i, COLOR_YELLOW, string);
    ProxDetector(30.0, i, stringg, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    SetPlayerSpecialAction(playerid,11);
    RingTone[i] = 10;
    HandyKlingelt[i] = 1;
    Caller[i] = playerid;
    Anrufer[playerid] = i;
    SCM(playerid,Grau,"Benutze /hangup zum Auflegen.");
    }
    else
    {
    SCM(playerid,Weiss,"Der Handyakkustand dieses Spielers ist zu niedrig zum telefonieren!");
    }
    }
    else
    {
    SCM(playerid,Weiss,"Dein Handy hat zu wenig Akku zum telefonieren, lade es erst wieder auf!");
    }
    }
    else
    {
    SCM(playerid,Weiss,"Das Handy dieses Spielers ist aus!");
    }
    }
    }
    }
    }
    }
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerText(playerid, text[])
    {
    new string[128];
    if(realchat)
    {
    if(SpielerInfo[playerid][pMute] == 0)
    {
    if(TelefoniertGerade[playerid] == 1)
    {
    new Partner = Caller[playerid];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt (Handy): %s", sendername, text);
    SCM(Partner,COLOR_YELLOW,string);
    format(string, sizeof(string), "Du sagst (Handy): %s",text);
    SCM(playerid,COLOR_YELLOW,string);
    return 0;
    }
    else if(TelefoniertGerade[playerid] == 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    }
    else if(SpielerInfo[playerid][pMute] != 0)
    {
    SendClientMessage(playerid,Rot,"Du bist Gemutet!");
    return 0;
    }
    }
    return 1;
    }


    Keine Errors im Script, aber wenn Ich jmd. Anrufe, dieser abnimmt, kann er das was Ich schreibe nicht lesen, warum?
    Was er schreibt, kann ich lesen.


    lg
    Deagle