/call system

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,


    Ich sitzt garde an einem /call System jedoch versage ich garde. Wie kann ich jemanden eine naricht schicken oder das man /call [TEXT] eingeben müsste. also einfach nur [TEXT] der dan mein Empfänger ankommt ??


    Edit:


    Wie kann ich das den amchen ??




    MFG Chris

    Einmal editiert, zuletzt von Mr.asdfg ()

  • SendClientMessage(Empfänger, Farbe, Text);


    Du musst dann wenn dus so willst mit /call [Text], dann schon machen mit /call [Spieler] [Text]


    dcmd_call(playerid, params[])
    {
    new
    giveplayerid,
    sendername[MAX_PLAYER_NAME],
    string[128],
    text[100];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(sscanf(params, "us", giveplayerid, text);
    {
    SendClientMessage(playerid, FARBE, "BENUTZUNG: /call [Spieler] [Text]");// Falsche Eingabe, Nachricht senden...
    }
    if(giveplayerid == INVALID_PLAYER_ID)
    {
    SendClientMessage(playerid, FARBE, "Spieler existiert nicht");
    }
    else
    {
    format(string, sizeof(string), "[Telefon] %s sagt: %s", sendername, text);
    SendClientMessage(giveplayerid, FARBE, string);
    SendClientMessage(playerid, FARBE, string);
    }
    }


    Wenn du nur /call [Spieler] machen willst, musst du in OnPlayerText überprüfen ob er telefoniert (Variable) und eine Nachricht an den anderen senden

  • Im GF bei z.b. /call 911 kann man es sich gut abgucken.

  • enum player_Info
    {
    bool:Talking,
    CalledGuy
    }



    new playerInfo[MAX_PLAYERS][player_info];


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(call,4,cmdtext);
    return false;
    }



    public OnPlayerText(playerid, text[])
    {
    if(playerInfo[playerid][Talking] == true) {
    new name[MAX_PLAYER_NAME], callstr[128];
    GetPlayerName(playerid, name, sizeof(name));
    format(callstr, sizeof(callstr), "[Handy] %s: %s", name, text);
    SendClientMessage(playerInfo[playerid][CalledGuy], 0xFFFFFFFF, callstr);
    return false;
    }
    return true;
    }



    dcmd_call(playerid, params[])
    {
    new
    target;
    if(sscanf(params,"u",target)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Benutzung: /call [PlayerID/Name]");
    }
    if(playerInfo[playerid][Talking] == true) {
    return SendClientMessage(playerid, 0xFF0000FF, "Du telefonierst bereits!");
    }
    if(!IsPlayerConnected(target)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Der angegebene User ist nicht online!");
    }
    if(playerInfo[target][Talking] == true) {
    return SendClientMessage(playerid, 0xFF0000FF, "Die Leitung ist belegt...");
    }
    playerInfo[target][Talking] = true;
    playerInfo[playerid][Talking] = true;
    playerInfo[playerid][CalledGuy] = target;
    playerInfo[target][CalledGuy] = playerid;
    return 1;
    }