Problem mit "Anruf tätigen"

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 Com,
    ich melde mich mal wieder weil ich ein Problem habe und zwar:
    - Die Nummer wird in meine Variable nicht übergeben
    - Sagt er mir die ganze Zeit kein Anschluss unter dieser Nummer.



    if(dialogid == HANDY_DIALOG)
    {
    //new text=strlen(inputtext);
    //var5 = text;
    if(!response)return SendClientMessage(playerid,-1,"Suche wurde abgebrochen!");
    switch(listitem)
    {
    case 0:
    {
    new nr=strval(inputtext);
    var4 = nr;
    if(PlayerInfo[playerid][pTot] == 1)return SendClientMessage(playerid, COLOR_GREY, "Du liegst im Koma du kannst jetzt nicht telefonieren!");
    if(PlayerInfo[playerid][pAdjustable] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
    if(PlayerInfo[playerid][pMuteTime] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist gemuted!");
    if(Mobile[playerid] != 255)return SendClientMessage(playerid, COLOR_GRAD2, " Du bist schon am Telefonieren...");
    if(PlayerInfo[playerid][pMauled] == 1)return SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du hast ein Mundtape!");
    if(PlayerInfo[playerid][pPnumber] == 0)return SendClientMessage(playerid, COLOR_GRAD2, " Du hast kein Telefon !");
    if(PlayerInfo[playerid][pHandyGeld] <= 4 && PlayerInfo[playerid][pHandyVer] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast nicht genug Guthaben um den Anruf zu Bezahlen !");
    SendClientMessage(playerid, COLOR_GREY, " Geh in den Handyladen und kauf dir eine PrePaid Aufladekarte !");
    SendClientMessage(playerid, COLOR_GREY, " 30$ Guthaben Kostet = 30$ !");
    return 1;
    }
    new str1[128],str2[128];
    format(str1,128,"Welche Nummer möchtest du anrufen?");
    format(str2,128,"Anruf tätigen || Akku %d",PlayerInfo[playerid][pHAkku]);
    return ShowPlayerDialog(playerid,HANDY_ANRUFEN,DIALOG_STYLE_INPUT,str2,str1,"Ja!","Nein!");
    }
    case 1:
    {
    new nr1=strval(inputtext);
    var5 = nr1;
    if(PlayerInfo[playerid][pTot] == 1)return SendClientMessage(playerid, COLOR_GREY, "Du liegst im Koma du kannst jetzt nicht telefonieren!");
    if(PlayerInfo[playerid][pAdjustable] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
    if(PlayerInfo[playerid][pMuteTime] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist gemuted!");
    if(Mobile[playerid] != 255)return SendClientMessage(playerid, COLOR_GRAD2, " Du bist schon am Telefonieren...");
    if(PlayerInfo[playerid][pMauled] == 1)return SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du hast ein Mundtape!");
    if(PlayerInfo[playerid][pPnumber] == 0)return SendClientMessage(playerid, COLOR_GRAD2, " Du hast kein Telefon !");
    new str1[128],str2[128];
    format(str1,128,"Welcher Nummer möchtest du eine SMS schreiben?");
    format(str2,128,"SMS schreiben || Akku %d",PlayerInfo[playerid][pHAkku]);
    return ShowPlayerDialog(playerid,HANDY_SMS,DIALOG_STYLE_INPUT,str2,str1,"Ja!","Nein!");
    }
    case 2:
    {
    if(PlayerInfo[playerid][pDonateRank] > 0 || PlayerInfo[playerid][pAdmin] >= 1 || IsATogPhoneMember(playerid))
    {
    if (!PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 1;
    SendClientMessage(playerid, COLOR_GRAD2, " Dein Telefon ist ausgeschaltet !");
    }
    else if (PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 0;
    SendClientMessage(playerid, COLOR_GRAD2, " Dein Telefon ist Angeschaltet !");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Premium Nutzer !");
    return 1;
    }
    }
    case 3:
    {
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1 || PlayerInfo[playerid][pDonateRank] >= 1){
    if(NummerAnonym[playerid] == 1){
    SendClientMessage(playerid,COLOR_GREEN,"Du hast deine Nummer wieder Sichbar gemacht!");
    NummerAnonym[playerid] = 0;
    }
    else if(NummerAnonym[playerid] == 0){
    SendClientMessage(playerid,COLOR_GREEN,"Du hast deine Nummer Anonym gemacht!");
    NummerAnonym[playerid] = 1;
    }
    }
    else { SendClientMessage(playerid,COLOR_GREEN,"Du bist kein Admin/Supporter/Premium User"); }
    }
    }
    }
    if(dialogid == HANDY_ANRUFEN)
    {
    new str1[128],str2[128];
    format(str1,128,"Sicher das du die Nummer '%d' anrufen willst?",var4);
    format(str2,128,"Anruf tätigen || Akku %d",PlayerInfo[playerid][pHAkku]);
    return ShowPlayerDialog(playerid,HANDY_ANRUFEN1,DIALOG_STYLE_MSGBOX,str2,str1,"Ja!","Nein!");
    }
    if(dialogid == HANDY_ANRUFEN1)
    {
    if(!response)return SendClientMessage(playerid,-1,"Suche wurde abgebrochen!");
    for(new i; i<MAX_PLAYERS; i++) // geht alle Spieler durch, die ...
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pPnumber] == var5) // online sind und die Handynummer haben, die der Spieler eingegeben hat
    {
    new msg[264];
    if(i == playerid) return SendClientMessage(playerid, -1,"Hinweis: Du kannst dich nicht selbst anrufen."); // sich selbst sollte man nicht anrufen ^^
    format(msg, sizeof msg, "[Verbindung] Versuche %s anzurufen ...", SpielerName(i)); // Message
    SendClientMessage(playerid, COLOR_YELLOW, msg); // Message wird ausgegeben
    format(msg, sizeof msg, "[Anruf] %s versucht dich anzurufen. Annehmen: /pickup", SpielerName(playerid)); // Message
    SendClientMessage(i, COLOR_YELLOW, msg); // Message wird ausgegeben
    HandyInfo[playerid][callversuch] = i; // Variable wird mit der ID des Gesprächpartners gesetzt
    HandyInfo[i][callversuch] = playerid; // Variable wird mit der ID vom Anrufer gesetzt
    return 1;
    }
    }
    SendClientMessage(playerid, -1,"Kein Anschluss unter dieser Nummer."); // Wenn die Nummer nicht gefunden werden konnte...

  • Hallo :)
    Du kamst mit var4 und var5 durcheinander!
    case 0 -> Zeile 10 und 11 sind unnötig, da die Nummer da noch garnicht bekannt ist! In dem Fall ist der Inputtext das "Listitem"!
    Bei case 1 das gleiche in Grün!
    Zeile 82 -> Beim Dialog "HANDY_ANRUFEN" musst du die Nummer aus dem "inputtext" rausziehen!
    Zeile 94 -> var5 entsprechend anpassen.
    Das ganze mit var4 und var5 ist etwas verwirrend und auch an der falschen Stelle!


    MfG Kevin

  • Und hier geht es nicht weiter .. ich hab alles versucht aber ab dem ERSTEN Input geht der nicht weiter zum "bestätigen".

    if(dialogid == HANDY_DIALOG)
    {
    if(!response)return SendClientMessage(playerid,-1,"Suche wurde abgebrochen!");
    switch(listitem)
    {
    case 0:
    {
    if(PlayerInfo[playerid][pTot] == 1)return SendClientMessage(playerid, COLOR_GREY, "Du liegst im Koma du kannst jetzt nicht telefonieren!");
    if(PlayerInfo[playerid][pAdjustable] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
    if(PlayerInfo[playerid][pMuteTime] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist gemuted!");
    if(Mobile[playerid] != 255)return SendClientMessage(playerid, COLOR_GRAD2, " Du bist schon am Telefonieren...");
    if(PlayerInfo[playerid][pMauled] == 1)return SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du hast ein Mundtape!");
    if(PlayerInfo[playerid][pPnumber] == 0)return SendClientMessage(playerid, COLOR_GRAD2, " Du hast kein Telefon !");
    if(PlayerInfo[playerid][pHandyGeld] <= 4 && PlayerInfo[playerid][pHandyVer] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast nicht genug Guthaben um den Anruf zu Bezahlen !");
    SendClientMessage(playerid, COLOR_GREY, " Geh in den Handyladen und kauf dir eine PrePaid Aufladekarte !");
    SendClientMessage(playerid, COLOR_GREY, " 30$ Guthaben Kostet = 30$ !");
    return 1;
    }
    new str1[128],str2[128];
    format(str1,128,"Welche Nummer möchtest du anrufen?");
    format(str2,128,"Anruf tätigen || Akku %d",PlayerInfo[playerid][pHAkku]);
    return ShowPlayerDialog(playerid,HANDY_ANRUFEN,DIALOG_STYLE_INPUT,str2,str1,"Ja!","Nein!");
    }
    case 1:
    {
    if(PlayerInfo[playerid][pTot] == 1)return SendClientMessage(playerid, COLOR_GREY, "Du liegst im Koma du kannst jetzt nicht telefonieren!");
    if(PlayerInfo[playerid][pAdjustable] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
    if(PlayerInfo[playerid][pMuteTime] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist gemuted!");
    if(Mobile[playerid] != 255)return SendClientMessage(playerid, COLOR_GRAD2, " Du bist schon am Telefonieren...");
    if(PlayerInfo[playerid][pMauled] == 1)return SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du hast ein Mundtape!");
    if(PlayerInfo[playerid][pPnumber] == 0)return SendClientMessage(playerid, COLOR_GRAD2, " Du hast kein Telefon !");
    new str1[128],str2[128];
    format(str1,128,"Welcher Nummer möchtest du eine SMS schreiben?");
    format(str2,128,"SMS schreiben || Akku %d",PlayerInfo[playerid][pHAkku]);
    return ShowPlayerDialog(playerid,HANDY_SMS,DIALOG_STYLE_INPUT,str2,str1,"Ja!","Nein!");
    }
    case 2:
    {
    if(PlayerInfo[playerid][pDonateRank] > 0 || PlayerInfo[playerid][pAdmin] >= 1 || IsATogPhoneMember(playerid))
    {
    if (!PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 1;
    SendClientMessage(playerid, COLOR_GRAD2, " Dein Telefon ist ausgeschaltet !");
    }
    else if (PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 0;
    SendClientMessage(playerid, COLOR_GRAD2, " Dein Telefon ist Angeschaltet !");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Premium Nutzer !");
    return 1;
    }
    }
    case 3:
    {
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1 || PlayerInfo[playerid][pDonateRank] >= 1){
    if(NummerAnonym[playerid] == 1){
    SendClientMessage(playerid,COLOR_GREEN,"Du hast deine Nummer wieder Sichbar gemacht!");
    NummerAnonym[playerid] = 0;
    }
    else if(NummerAnonym[playerid] == 0){
    SendClientMessage(playerid,COLOR_GREEN,"Du hast deine Nummer Anonym gemacht!");
    NummerAnonym[playerid] = 1;
    }
    }
    else { SendClientMessage(playerid,COLOR_GREEN,"Du bist kein Admin/Supporter/Premium User"); }
    }
    }
    }
    if(dialogid == HANDY_ANRUFEN)
    {
    new str1[128],str2[128];
    gewaehlte_Nr[playerid] = strval(inputtext);
    format(str1,128,"Sicher das du die Nummer '%d' anrufen willst?",gewaehlte_Nr[playerid]);
    format(str2,128,"Anruf tätigen || Akku %d",PlayerInfo[playerid][pHAkku]);
    return ShowPlayerDialog(playerid,HANDY_ANRUFEN1,DIALOG_STYLE_MSGBOX,str2,str1,"Ja!","Nein!");
    }
    if(dialogid == HANDY_ANRUFEN1)
    {
    if(!response)return SendClientMessage(playerid,-1,"Suche wurde abgebrochen!");
    for(new i; i<MAX_PLAYERS; i++) // geht alle Spieler durch, die ...
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pPnumber] == gewaehlte_Nr[playerid]) // online sind und die Handynummer haben, die der Spieler eingegeben hat
    {
    new msg[264];
    if(i == playerid) return SendClientMessage(playerid, -1,"Hinweis: Du kannst dich nicht selbst anrufen."); // sich selbst sollte man nicht anrufen ^^
    format(msg, sizeof msg, "[Verbindung] Versuche %s anzurufen ...", SpielerName(i)); // Message
    SendClientMessage(playerid, COLOR_YELLOW, msg); // Message wird ausgegeben
    format(msg, sizeof msg, "[Anruf] %s versucht dich anzurufen. Annehmen: /pickup", SpielerName(playerid)); // Message
    SendClientMessage(i, COLOR_YELLOW, msg); // Message wird ausgegeben
    HandyInfo[playerid][callversuch] = i; // Variable wird mit der ID des Gesprächpartners gesetzt
    HandyInfo[i][callversuch] = playerid; // Variable wird mit der ID vom Anrufer gesetzt
    gewaehlte_Nr[playerid] = 0;
    return 1;
    }
    }
    SendClientMessage(playerid, -1,"Kein Anschluss unter dieser Nummer."); // Wenn die Nummer nicht gefunden werden konnte...
    }