Click auf Player = Call/SMS Menü | An die Profis!

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
  • >>BITTE NUR LEUTE POSTEN DIE AHNUNG HABEN<<
    Das ist eher eine Aufgabe für Leute wie InternetInk, DogZone, DMA, Einstein, BFX etc. und solche Leute die Ahnung haben denke ich da es sehr schwer ist.


    Da ich nicht gut im Scripten bin bitte leicht erklären oder fertig per FS oder in einem Blank Gamemode. Danke im Vorraus leider kein Geld mehr aufm PayPal Konto sonst würde ich dafür Geld zahlen.


    Würde gerne das bleim Clicken auf einen Spieler in der Liste wenn man "Tab" drückt bei einem Doppelklickt durch die Funtkion "OnPlayerCklickPlayer" das man den Spieler durch den Doppelklick anruft.


    Und zweite bitte das wenn man ein Doppelklick auf den Spielernamen macht kommt ein Menü mit "SmS" und "Call" wenn man SmS auswählt soll man in einer Dialog Menü box den Text eingeben OHNE Nummer einzuegeben und dann auf Senden Button um dem Spieler die Nachricht zu senden wie eine Normale SmS und beim Call das man ihn wenn man im Menü Call auswählt und auf den Button weiter das man ihn anruft OHNE Nummer eingeben zu müssen. Doch der Anruf/Die SmS soll wenn der andere Spieler /togphone drine hat geblockt werden...


    Die OnPlayerClockPlayer Funktion auf der alles abgespielt werden soll:
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    Die Call Funktion zur Information:
    if(strcmp(cmd, "/call", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /call [phonenumber]");
    return 1;
    }
    if(PlayerInfo[playerid][pPnumber] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You dont't have a cell phone !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s takes out a cellphone.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    new phonenumb = strval(tmp);
    if(phonenumb == 911)
    {
    SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up");
    SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Which Service Do You Require, Police or Paramedic?");
    Mobile[playerid] = 911;
    return 1;
    }
    if(phonenumb == PlayerInfo[playerid][pPnumber])
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You just get a busy tone...");
    return 1;
    }
    if(Mobile[playerid] != 255)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You are already on a call...");
    return 1;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
    {
    giveplayerid = i;
    Mobile[playerid] = giveplayerid; //caller connecting
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PhoneOnline[giveplayerid] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " That players Phone is Offline !");
    return 1;
    }
    if (Mobile[giveplayerid] == 255)
    {
    format(string, sizeof(string), "Your Mobile is Ringing Type (/Pickup) CallerID: %s", sendername);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    RingTone[giveplayerid] = 10;
    format(string, sizeof(string), "* %s's phone begins to ring.", sendername);
    SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up");
    ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    CellTime[playerid] = 1;
    return 1;
    }
    }
    }
    }
    }
    }
    SendClientMessage(playerid, COLOR_GRAD2, " You just get a Busy tone...");
    }
    return 1;
    }


    Die SmS Funktion zur Information:
    if(strcmp(cmd, "/txt", true) == 0 || strcmp(cmd, "/t", true) == 0 || strcmp(cmd, "/sms", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/t)ext [phonenumber] [text chat]");
    return 1;
    }
    if(PlayerInfo[playerid][pPnumber] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You dont't have a cell phone...");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s takes out a cellphone.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    new phonenumb = strval(tmp);
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/t)ext [phonenumber] [text chat]");
    return 1;
    }
    if(phonenumb == 555)
    {
    if ((strcmp("yes", result, true, strlen(result)) == 0) && (strlen(result) == strlen("yes")))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Text Message Delivered.");
    if (gTeam[playerid] == 2 || gTeam[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "SMS: I have no idea what you're talking about, Sender: MOLE (555)");
    RingTone[playerid] = 20;
    return 1;
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "SMS: A simple Yes will do, Sender: MOLE (555)");
    RingTone[playerid] = 20;
    return 1;
    }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
    {
    giveplayerid = i;
    Mobile[playerid] = giveplayerid; //caller connecting
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PhoneOnline[giveplayerid] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " That players Phone is Offline !");
    return 1;
    }
    format(string, sizeof(string), "SMS: %s, Sender: %s (%d)", result,sendername,PlayerInfo[playerid][pPnumber]);
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    //format(string, sizeof(string), "* %s's phone beeps.", sendername);
    RingTone[giveplayerid] =20;
    SendClientMessage(playerid, COLOR_WHITE, "Text Message Delivered");
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "~r~$-%d", txtcost);
    GameTextForPlayer(playerid, string, 5000, 1);
    GivePlayerMoney(playerid,-txtcost);
    SBizzInfo[2][sbTill] += txtcost;
    ExtortionSBiz(2, txtcost);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    Mobile[playerid] = 255;
    return 1;
    }
    }
    }
    }
    }
    SendClientMessage(playerid, COLOR_GRAD2, " Message Delivery Failed...");
    }
    return 1;
    }


    Die Togphone Funktion zur Information:
    if(strcmp(cmd, "/togphone", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pDonateRank] > 0 || PlayerInfo[playerid][pAdmin] > 1)
    {
    if (!PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 1;
    SendClientMessage(playerid, COLOR_GRAD2, " Your Phone is Offline !");
    }
    else if (PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 0;
    SendClientMessage(playerid, COLOR_GRAD2, " Your Phone is Online !");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Not an Admin / Premium Account User !");
    return 1;
    }
    }
    return 1;
    }

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

    Einmal editiert, zuletzt von TPO ()

  • Lässt sich alles machen aber 1. gehört das in den Bereich Godfather, und 2. müsste man meiner Meinung nach das Handysystem erstmal umbauen da es auch so verbuggt ist...
    Dort jez noch sowas neues einzubauen halte ich für relativ sinnfrei... Und 3. Wie soll das mit Call gehen? Soll man die Box die Ganze zeit vor der Nase haben um die Nachricht reinzuschreiben?

  • Ist im Grunde ganz einfach du solltest beim Public dieses einfügen
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    ShowPlayerDialog(playerid, DIALOGID,2, "TelefonSystem","Anrufen\nSMS\nStumm Schalten","Button 1","Button 2")//Zeigt dialog an Logisch :D
    return 1;
    }


    Und ab da wird es eig sehr leicht!


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == SMSDIALOGID)//SMS
    {
    if(response)
    {
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
    return 1;
    }
    if(PlayerInfo[playerid][pPnumber] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You dont't have a cell phone...");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s takes out a cellphone.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    new phonenumb = strval(tmp);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
    {
    giveplayerid = i;
    Mobile[playerid] = giveplayerid; //caller connecting
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PhoneOnline[giveplayerid] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " That players Phone is Offline !");
    return 1;
    }
    format(string, sizeof(string), "SMS: %s, Sender: %s (%d)", inputtext,sendername,PlayerInfo[playerid][pPnumber]);
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    //format(string, sizeof(string), "* %s's phone beeps.", sendername);
    RingTone[giveplayerid] =20;
    SendClientMessage(playerid, COLOR_WHITE, "Text Message Delivered");
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "~r~$-%d", txtcost);
    GameTextForPlayer(playerid, string, 5000, 1);
    GivePlayerMoney(playerid,-txtcost);
    SBizzInfo[2][sbTill] += txtcost;
    ExtortionSBiz(2, txtcost);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    Mobile[playerid] = 255;
    return 1;
    }
    }
    }
    }
    }
    SendClientMessage(playerid, COLOR_GRAD2, " Message Delivery Failed...");
    }
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOGID)
    {
    if(response)
    {
    if(PlayerInfo[playerid][pPnumber] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " You dont't have a cell phone...");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s takes out a cellphone.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    new phonenumb = strval(tmp);


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
    {
    giveplayerid = i;
    Mobile[playerid] = giveplayerid; //caller connecting
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PhoneOnline[giveplayerid] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " That players Phone is Offline !");
    return 1;
    }
    format(string, sizeof(string), "SMS: %s, Sender: %s (%d)", result,sendername,PlayerInfo[playerid][pPnumber]);
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    //format(string, sizeof(string), "* %s's phone beeps.", sendername);
    RingTone[giveplayerid] =20;
    SendClientMessage(playerid, COLOR_WHITE, "Text Message Delivered");
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "~r~$-%d", txtcost);
    GameTextForPlayer(playerid, string, 5000, 1);
    GivePlayerMoney(playerid,-txtcost);
    SBizzInfo[2][sbTill] += txtcost;
    ExtortionSBiz(2, txtcost);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    Mobile[playerid] = 255;
    return 1;
    }
    }
    }
    }
    }
    SendClientMessage(playerid, COLOR_GRAD2, " Message Delivery Failed...");
    }
    return 1;
    }
    if(listitem == 1) // SMS
    {
    ShowPlayerDialog(playerid,6,DIALOG_STYLE_INPUT,"SMS","Gebe hier bitte die Nachricht ein:","Senden","Abbrechen");
    }
    if(listitem == 2) //Stumm
    {
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pDonateRank] > 0 || PlayerInfo[playerid][pAdmin] > 1)
    {
    if (!PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 1;
    SendClientMessage(playerid, COLOR_GRAD2, " Your Phone is Offline !");
    }
    else if (PhoneOnline[playerid])
    {
    PhoneOnline[playerid] = 0;
    SendClientMessage(playerid, COLOR_GRAD2, " Your Phone is Online !");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Not an Admin / Premium Account User !");
    return 1;
    }
    }


    }
    }
    return 1;
    }



    Müsste so eig klappen!

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • Mach ein neues Telefonsystem, das GF ist totaler Mist ;)
    Im Grunde, ist es wenn du ein wenig ins Wiki guckst, schnell gelöst. Du musst lediglich, ein DIalog(dafür gibt es ein Tutorial im WIKI), erstellen, wenn der Spieler auf einen anderen klickt. Und dann je nach Button die SMS bzw. den Anruf tätigen ;) Außerdem musst du SMS umschreiben, sodass du es entweder in ein Menü eingeben kannst, oder einfach so und es dann aus OnPlayerText gelesen wird. Alles mit dem DIalog TUt oder aber mit ein paar Variablen gut zu machen. ;) Dies ist ein möglicher Lösungsweg. Ich scripte es dir nicht vor, weil es..1. einer vor mir gemacht hat, zwar das mit SMS nich beachtet, aber egal und 2. weil das hier nicht Scriptwunsch ist, sondern Scriptingbase ;) Also, probiers dir im Wiki anzuschauen, das vom Vordermann ist eigentlich auch richtig, nur musst du die SMS Sache umschreiben ;)

  • Will es nicht im Godfather haben^^ will kein GF Nutzen. Dachte jedes Call/SmS System ist etwas gleich...


    Danke WoodRunnder



    Achja InternetInk nein ENTWEDER Call oder SmS nicht beides aufeinmal..^^

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25