Команды для общения (ChatCommands)

NozmaD

Администратор
Команда форума
Администратор
Сообщения
166
Баллы
208
Расширяем возможности общения на сервере и добавляем команды:

/me - Выразить эмоции вашего персонажа
/pm - Отправить кому то приватное сообщение
/shout - Крикнуть в чат
/time - Отобразить текущее время
/local - Локальный чат (Радиус чата можно отредактировать свободно)
/vehicle - Чат для игроков, находящихся в авто

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using GrandTheftMultiplayer.Server;
using GrandTheftMultiplayer.Server.API;
using GrandTheftMultiplayer.Server.Elements;
using GrandTheftMultiplayer.Server.Constant;
using GrandTheftMultiplayer.Server.Managers;
using GrandTheftMultiplayer.Shared;
using GrandTheftMultiplayer.Shared.Math;

public class Commands :Script {

    public Commands()
    {
        API.onChatMessage += OnChatMessageHandler;
    }

    public void OnChatMessageHandler(Client player, string message, CancelEventArgs e) //Nice player names colors in chat
    {
        API.sendChatMessageToAll("~b~"+player.name, message); //Changing Player names in chat to default blue
        e.Cancel = true; //This cancels the message event
    }

    [Command("me")] //typing in chat as an emote
    public void emotes(Client sender, string text)
    {
        string name = "~p~" + sender.name + " " + text;
        API.sendChatMessageToAll(name);
    }

    [Command("pm")] //sends a private message to someone
    public void privatemessage(Client sender, Client reciever, string text)
    {
        API.sendChatMessageToPlayer(reciever, "~r~"+sender.name + " прислал ЛС: ", text);
    }

    [Command("shout")] //shouts to everyone in chat
    public void shout(Client sender, string text)
    {
        API.sendChatMessageToAll("~h~~b~" + sender.name + " крикнул " + text);
    }

    [Command("help")] // displays all available commands
    public void help(Client sender)
    {
        API.sendChatMessageToPlayer(sender, "/me /pm /shout /time /local /vehicle");
    }

    [Command("time")] //displays time of the server
    public void GetTimeCommand(Client sender)
    {
        sender.sendChatMessage("~b~Time: " + API.getTime());
    }

    [Command("local")] //local chat
    public void localchat(Client sender, string text)
    {
        List<Client> aroundPlayers = new List<Client>();
        foreach (var player in API.getPlayersInRadiusOfPlayer(10f, sender))
        {
            API.sendChatMessageToPlayer(player, "~g~(Локальный чат) " + sender.name + ": " + text);
        }

    }

    [Command("vehicle")] //vehicle chat
    public void vehiclechat(Client sender, string text)
    {

        var usersInCar = API.getVehicleOccupants(API.getPlayerVehicle(sender));
        foreach (var player in usersInCar)
        {
            API.sendChatMessageToPlayer(player, "~o~(Чат авто) " + sender.name + ": " + text);

        }
    }
}
Автор: 3marproof
Скачать:

Пожалуйста, Войдите или Зарегистрируйтесь, что бы увидеть скрытый контент.


GitHub:

Пожалуйста, Войдите или Зарегистрируйтесь, что бы увидеть скрытый контент.

 
Верх