Funksystem

  • Funksystem

    Hallo



    ich möchte für mein Funkspielscript eine Funkfunktion erstellen.



    Diese sollte folgend ausehen:



    Man sollte mit /on und /off sein Funkgerät an/ausschalten können.



    Mit /freq die Frequenz ändern können (Nur die mit der gleichen Frequenz sollen miteinander Funken können)



    Nur weiß ich leider nicht wie ich sowas scripten könnte.

    Könnt ihr mir da villeicht helfen ?
  • Moin,
    heute Mittag hab ich beim absenden via UMTS dann leider nen Verbindungsabbruch gehabt,
    aber nu endlich^^:

    An sich brauchst du erstmal eine Variable für jeden User,
    welche Frequenz er gerade an hat.
    Dazu benutze ich nun als Beispiel mal PVars.

    Erstmal muss der User eine Frequenz auswählen können:
    [pwn]
    ocmd:frequenz(playerid,params[])
    {
    new frequenz;
    if(sscanf(params, "i", frequenz))return SendClientMessage(playerid, 0x0087FFFF, "Benutzung: /frequenz [FREQUENZ]");
    SetPVarInt(playerid, "Frequenz", frequenz); // Frequenz für den Spieler setzen
    return 1;
    }
    [/pwn]

    Nun muss man noch auf seiner Frequenz senden können:
    [pwn]
    ocmd:funk(playerid,params[])
    {
    if(GetPVarInt(playerid, "Frequenz") == 0)return SendClientMessage(playerid, 0x0087FFFF, "Wähle erst eine Frequenz mit /frequenz aus!"); // Abfrage, ob der User überhaupt eine Frequenz gewählt hat
    new text[128];
    if(sscanf(params, "s", text))return SendClientMessage(playerid, 0x0087FFFF, "Benutzung: /funk[TEXT]");
    new string[128];
    format(string,sizeof(string),"[Frequenz %i] %s: %s",GetPVarInt(playerid, "Frequenz"), SpielerName(playerid), text); // Sendung formatieren
    for(new i = 0; i < GetMaxPlayers(); i++) // Schleife anfang
    {
    if(IsPlayerConnected(i)) // Abfrage ob der User, also die ID vergeben ist, also online ist
    {
    if(GetPVarInt(i, "Frequenz") == GetPVarInt(playerid, "Frequenz")) // Abfragen ob die Frequenz des Empfängers die selbe wie die des Senders ist
    {
    SendClientMessage(i, 0x0087FFFF, string); // An den User mit gleicher Frequenz senden
    }
    }
    }
    return 1;
    }
    [/pwn]

    Du brauchst nur noch den stpock " SpielerName(playerid)" oder einen ähnlichen, der den Spielername ausliest und ausgibt,
    wenn du einen hast, der anders heißt, ersetze in der Sendung in der Formatierung das " SpielerName(playerid)" durch deine Funktion.

    Gruß,
    Dennis