Advertisement
AstolfoFate

tradepostServer.lua

Mar 24th, 2021 (edited)
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.57 KB | None | 0 0
  1. rednet.open("front")
  2. rednet.open("top")
  3. acceptTradeA = false
  4. acceptTradeB = false
  5. --network listener
  6. while true do
  7.   local src = "unknown"
  8.   id, sendermsg = rednet.receive()
  9.   if id == 425 then src = "traderA"
  10.   elseif id == 426 then src = "traderB"
  11.   else src = "unknown"
  12.   end
  13.   print("ID: "..id.." Name: "..src.." sent packet "..sendermsg)
  14.   --forward rednet from traderA to turtle, tells it to check offer chest.
  15.   if id == 425 and sendermsg == "offerA" then
  16.     rednet.send(424, sendermsg)
  17.     --forward rednet from traderB to turtle, tells it to check offer chest
  18.   elseif id == 426 and sendermsg == "offerB" then
  19.     rednet.send(424, sendermsg)
  20.     -- A to B demands (chat)
  21.   elseif id == 425 and sendermsg == string.match(sendermsg, "\".*\"") then
  22.     rednet.send(426, sendermsg)
  23.     -- B to A demands (chat)
  24.   elseif id == 426 and sendermsg == string.match(sendermsg, "\".*\"") then
  25.     rednet.send(425, sendermsg)
  26.     -- reboot
  27.     -- A to B
  28.   elseif id == 425 and sendermsg == "reboot" then
  29.     rednet.send(426, sendermsg)
  30.     -- B to A
  31.   elseif id == 426 and sendermsg == "reboot" then
  32.     rednet.send(426, sendermsg)
  33.     -- decline
  34.     -- A to turtle
  35.   elseif id == 425 and sendermsg == "decline" then
  36.     rednet.send(424, sendermsg)
  37.     -- B to turtle
  38.   elseif id == 426 and sendermsg == "decline" then
  39.     rednet.send(424, sendermsg)
  40.     -- Accept
  41.     -- traderA accept flag
  42.   elseif id == 425 and sendermsg == "acceptTradeA" then
  43.     acceptTradeA = true
  44.     -- traderB accept flag
  45.   elseif id == 426 and sendermsg == "acceptTradeB" then
  46.     acceptTradeB = true
  47.     --forward turtle item data to traderA
  48.   elseif id == 424 and sendermsg == string.match(sendermsg, "offerAItem: .*") then
  49.     rednet.send(426, sendermsg)
  50.   elseif id == 424 and sendermsg == string.match(sendermsg, "offerADamage: .*") then
  51.     rednet.send(426, sendermsg)
  52.   elseif id == 424 and sendermsg == string.match(sendermsg, "offerACount: .*") then
  53.     rednet.send(426, sendermsg)
  54.     --forward turtle item data to traderB
  55.   elseif id == 424 and sendermsg == string.match(sendermsg, "offerBItem: .*") then
  56.     rednet.send(425, sendermsg)
  57.   elseif id == 424 and sendermsg == string.match(sendermsg, "offerBDamage: .*") then
  58.     rednet.send(425, sendermsg)
  59.   elseif id == 424 and sendermsg == string.match(sendermsg, "offerBCount: .*") then
  60.     rednet.send(425, sendermsg)
  61.   end
  62.   -- trade auth
  63.   if acceptTradeA == true and acceptTradeB == true then
  64.     rednet.send(424, "tradeAuthorized")
  65.     print("Trade Authorized")
  66.     acceptTradeA = false
  67.     acceptTradeB = false
  68.   end
  69. end
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement