- Home /
using Photon RPC for chat
Hello, recently i was trying to add a chat to my multiplayer game and i tried many ways to add a chat, its been long time im trying but it didnt work
however unity does not give me any errors so its hard to tell where is the problem here is my code: using Photon.Pun; using Photon.Realtime; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro;
public class PhotonChatManager : MonoBehaviour, IPunObservable
{
public static PhotonChatManager instance;
public TMP_InputField chatField;
public CommandsHandler cmdHandler;
public TMP_Text chat;
PhotonView PV;
public string playerName;
public string lastMessage;
public Command[] commands = new Command[5];
public List<string> operators = new List<string>();
void Awake() {
PV = GetComponent<PhotonView>();
cmdHandler = GetComponent<CommandsHandler>();
if(!PV.IsMine)
return;
playerName = PhotonNetwork.NickName;
instance = this;
if(PhotonNetwork.IsMasterClient){
operators.Add(playerName);
}
}
public void checkChatMessage(string message){
foreach (Command cmd in commands)
{
string wholeCmd = "/" + cmd.name;
if(message.StartsWith(wholeCmd)){
accessCommand(cmd, message);
return;
}
}
if(message.StartsWith("/"))
return;
string formattedMsg = "[!] " + playerName + "<color=#C0C0C0>» </color>" + message;
if(PhotonNetwork.IsMasterClient){
formattedMsg = "<color=#FF3333>[Host] </color>" + playerName + "<color=#C0C0C0>» </color> " + message;
PV.RPC("sendMessage", RpcTarget.All, formattedMsg);
return;
}
formattedMsg = "<color=#FF8D33>[!] </color>" + playerName + "<color=#C0C0C0>» </color>" + message;
PV.RPC("sendMessage", RpcTarget.All, formattedMsg);
}
bool isSent;
public void accessCommand(Command command, string msg){
foreach (var op in operators)
{
if(op != playerName)
return;
cmdHandler.AccessCommand(command.index, msg);
}
}
[PunRPC]
public void sendMessage(string message){
chat.text += "\n" + message;
}
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
//IPunObservable implement
}
}
im trying to send the message from here: formatted$$anonymous$$sg = " [!] " + playerName + " » " + message; PV.RPC("send$$anonymous$$essage", RpcTarget.All, formatted$$anonymous$$sg);
[PunRPC]
public void send$$anonymous$$essage(string message){
chat.text += "\n" + message;
}
Answer by ma_freakyboi_123 · Feb 15, 2021 at 10:52 AM
any wholsome person can answer ? please its the last thing before i finish my project
Your answer
Follow this Question
Related Questions
Enter For Chat 1 Answer
Pun In Room Chat Script 1 Answer
Having photon and node JS in Unity 0 Answers
Photon chat Filter 1 Answer
Chat GUI - Change Chat order? 1 Answer