Telefonzellen

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
  • Dann musst du:
    Telefonzellen mappen (sofern erwünscht)
    Deise ins Script packen
    DAnn nen Befehl machen (wie zb. /tele)
    Dann in dem Befehl dem User in der MySQL DB -**+$ geben (kommt darauf an, was er verlieren soll)
    und nicht vergessen:
    Eine if playertopoint abfrage machen, sonst kann er überall telen.
    Das wars auch schon :D
    Maxx

  • if(strcmp(cmd, "/telefon", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(1.0, playerid,1147.6927,-1413.1565,13.6722))
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "VERWENDUNG: /telefon [phonenumber]");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s ruft jemanden von der Telefonzelle aus an.", 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: Benutze [T] zm in das Telefon zusprechen");
    SendClientMessage(playerid, COLOR_ALLDEPT, "Einsatzleitung: Polizei/Polizei o. einen Notarzt/Paramedic");
    Mobile[playerid] = 911;
    return 1;
    }
    if(phonenumb == PlayerInfo[playerid][pPnumber])
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Besetzt...");
    return 1;
    }
    if(Mobile[playerid] != 255)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du telefonierst schon");
    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, " Die Nummer ist nicht vergeben... ");
    return 1;
    }
    if (Mobile[giveplayerid] == 255)
    {
    format(string, sizeof(string), " Du wirst von einer Telefonzelle aus angerufen Sender: Anonym (%s)", sendername);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    RingTone[giveplayerid] = 10;
    format(string, sizeof(string), "* %s's handy fängt an zu Klingeln.", sendername);
    SendClientMessage(playerid, COLOR_WHITE, "HINT: Drücke [T] um in dein Telefon zusprechen ! ");
    ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    CellTime[playerid] = 1;
    return 1;
    }
    }
    }
    }
    }
    }
    SendClientMessage(playerid, COLOR_GRAD2, " Du hörst einen beschäftigten klang...");
    }
    return 1;
    }



    aus dem StreetLifeRP Gm von Fatjoe kopiert, noch dass Objekt dahin packen ;)

  • also ich poste mal hier meine /call funktion ausm script



    else if(strcmp(cmd, "/call", true) == 0)
    {
    if(PlayerHasItem(playerid, ITEM_PHONE) == INVALID_ITEM_SLOT) {
    SendClientMessage(playerid, COLOR_GRAD2, "Du benötigst zuerst ein Telefon.");
    return 1;
    }


    if(gCalling[playerid][CELL_CALLTYPE] == 0) //no call
    {
    if(strcount(cmdtext, ' ') < 2)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /call [number]");
    SendClientMessage(playerid, COLOR_GRAD2, "Um zu Telefonieren Rufe jemanden an und tippe [/code]");
    return 1;
    }


    tmp = strtok(cmdtext, idx);
    if(!IsNumeric(tmp))
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Diese Nummer gibt es nicht. Versuche es erneut.");
    return 1;
    }


    new number = strval(tmp);
    if(number < 1000) //system number
    {
    //non player number
    SendClientMessage(playerid, COLOR_PURPLE, "Du holst dein Handy aus der Tasche.");
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
    format(string, sizeof(string), "* %s holt sein Handy aus der Tasche.", PlayerInfo[playerid][pName]);
    SendLocalMessageNotMe(Float:20.0, playerid, string,COLOR_PURPLE);
    gCalling[playerid][CELL_CALLTYPE] = 2; //system call
    gCalling[playerid][1] = number;
    SystemCall(playerid, number, "");
    return 1;
    }


    //player number
    new targetid = GetPlayerIDFromPhoneNumber(number);
    if(targetid == INVALID_PLAYER_ID) {
    SendClientMessage(playerid, COLOR_YELLOW, "Die Nummer die du Gewählt hast, ist Tot oder wurde Unterbrochen.");
    return 1;
    }
    if(targetid == playerid) {
    SendClientMessage(playerid, COLOR_YELLOW, "Dich selbst anzurufen, ist ein Zeichen deiner Verzweiflung.");
    return 1;
    }


    if((gCalling[targetid][CELL_CALLTYPE] > 0) || (gCalling[targetid][CELL_PLAYERID] != INVALID_PLAYER_ID)) // they already have a call
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Leitung ist Besetzt.");
    return 1;
    }


    gCalling[playerid][CELL_CALLTYPE] = 1; //player number
    gCalling[targetid][CELL_CALLTYPE] = 0;
    gCalling[playerid][CELL_PLAYERID] = targetid;
    gCalling[targetid][CELL_PLAYERID] = playerid;
    SendClientMessage(targetid, COLOR_YELLOW, "Dein Handy klingelt! Tippe /pickup um den Anruf entgegenzunehmen.");
    format(string, sizeof(string), "* %s's fängt an zu klingeln.", PlayerInfo[targetid][pName]);
    SendLocalMessageNotMe(Float:20.0, targetid, string,COLOR_PURPLE);


    SendClientMessage(playerid, COLOR_PURPLE, "Du nimmst dein Handy in die Handy.");
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
    format(string, sizeof(string), "* %s nimmt sein Handy in die Hand.", PlayerInfo[playerid][pName]);
    SendLocalMessageNotMe(Float:20.0, playerid, string,COLOR_PURPLE);
    }
    else //you already have a call
    {
    new text[255];
    if(gCalling[playerid][CELL_CALLTYPE] == 1) //player call
    {
    if(!IsPlayerConnected(gCalling[playerid][CELL_PLAYERID]))
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Leitung ist Tot.");
    StopCall(playerid);
    return 1;
    }
    }
    format(text, sizeof(text), "Du Telefonierst bereits mit jemanden.");
    SendClientMessage(playerid, COLOR_YELLOW2, text);
    }
    return 1;
    }



    Hoffe das nützt was?


    Nochmal:


    Es soll kein geld abgezogen werde, is erstmal unnütze


    sonern lieber locations sein, wo man ohne ein Handy telefonieren kann ( auch wenn man eins hat)

  • häää, wass willst du jetzt genau?



    -Dass es nichts kostet
    -Dass mann es nur an Speziellen Stellen kann?