Add Trading
This commit is contained in:
@@ -38,7 +38,35 @@ namespace reallife_gamemode.Server.Events
|
||||
|
||||
GroundItem.PickUpGroundItem(player);
|
||||
}
|
||||
[RemoteEvent("keyPress:E")]
|
||||
[RemoteEvent("keyPress:LEFT_ARROW")]
|
||||
public void KeyPressLeftArrow(Client player)
|
||||
{
|
||||
if (!player.IsLoggedIn()) return;
|
||||
List<Client> nearbyPlayers = NAPI.Player.GetPlayersInRadiusOfPlayer(3, player);
|
||||
|
||||
if (nearbyPlayers.Count > 0)
|
||||
{
|
||||
List<string> nearbyPlayerList = new List<string>();
|
||||
foreach (Client nearPlayer in nearbyPlayers)
|
||||
{
|
||||
if (nearPlayer.Name != player.Name)
|
||||
{
|
||||
nearbyPlayerList.Add(nearPlayer.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
player.TriggerEvent("showPlayerInteraction", JsonConvert.SerializeObject(nearbyPlayerList));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SendNotification("~r~Es ist niemand in deiner N\u00e4he!", false);
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("keyPress:E")]
|
||||
public void KeyPressE(Client player)
|
||||
{
|
||||
if (!player.IsLoggedIn()) return;
|
||||
|
||||
57
Server/Managers/InteractionManager.cs
Normal file
57
Server/Managers/InteractionManager.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using reallife_gamemode.Server.Extensions;
|
||||
using reallife_gamemode.Server.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Managers Interaction (InteractionManager.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
*/
|
||||
|
||||
namespace reallife_gamemode.Server.Managers
|
||||
{
|
||||
public class InteractionManager : Script
|
||||
{
|
||||
[RemoteEvent("openTradeInventory")]
|
||||
public void OpenTradeInventory(Client player, string targetPlayer)
|
||||
{
|
||||
InventoryManager.GetUserItems(player);
|
||||
player.TriggerEvent("openTradeMenu", targetPlayer);
|
||||
}
|
||||
|
||||
[RemoteEvent("sendTradeItemsToPartner")]
|
||||
public void SendTradeItemsToPartner(Client player, string tradeItemArray, int tradePrize, string tradePartnerName)
|
||||
{
|
||||
var tradeItems = JsonConvert.DeserializeObject<string[][]>(tradeItemArray);
|
||||
Client tradePartner = ClientService.GetClientByNameOrId(tradePartnerName);
|
||||
InventoryManager.GetUserItems(player);
|
||||
tradePartner.TriggerEvent("showTradeRequest", player.Name, tradeItems, tradePrize);
|
||||
player.TriggerEvent("startTradeRequestTimer");
|
||||
//player.TriggerEvent("openTradeMenu", targetPlayer);
|
||||
}
|
||||
|
||||
[RemoteEvent("tradeDecision")]
|
||||
public void TradeDecision(Client player, string tradeSelection, string tradeItemArray, string tradeRequesterName)
|
||||
{
|
||||
var tradeItems = JsonConvert.DeserializeObject<string[][]>(tradeItemArray);
|
||||
Client tradeRequester = ClientService.GetClientByNameOrId(tradeRequesterName);
|
||||
//player.SendChatMessage(tradeItemArray);
|
||||
//player.SendChatMessage(tradeSelection);
|
||||
if (tradeSelection == "accept")
|
||||
{
|
||||
InventoryManager.GetUserItems(player);
|
||||
tradeRequester.TriggerEvent("clearTradeItems");
|
||||
player.TriggerEvent("showTradeItems", tradeItemArray);
|
||||
}
|
||||
else
|
||||
{
|
||||
tradeRequester.TriggerEvent("unlockTradeItems");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user