Advertisement
Angry_Agent

3D Rad multiplayer client

Sep 23rd, 2020 (edited)
6,146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.79 KB | None | 0 0
  1. Vector3 clientLocation;
  2. Quaternion clientQuaternion;
  3. Vector3 clientLocationWheelOne;
  4. Quaternion clientQuaternionWheelOne;
  5. Vector3 clientLocationWheelTwo;
  6. Quaternion clientQuaternionWheelTwo;
  7. Vector3 clientLocationWheelThree;
  8. Quaternion clientQuaternionWheelThree;
  9. Vector3 clientLocationWheelFour;
  10. Quaternion clientQuaternionWheelFour;
  11. bool NetworkActive = false;
  12. bool connectionLost = false;
  13. bool spectator = false;
  14. void Main()
  15. {
  16.    if (iInitializing())
  17.    {
  18.       //Activate the client network system.
  19.       if (iNetClientStart("","Client",987654321,1000000,"Connect",-1,0))
  20.       {
  21.          NetworkActive = true;
  22.       }
  23.    }
  24.    if (iDeinitializing())
  25.    {
  26.       //De-activate the client network system.
  27.       if (NetworkActive)
  28.       {
  29.          iNetStop();
  30.          NetworkActive = false;
  31.       }
  32.    }
  33.    if (NetworkActive)
  34.    {
  35.     connectionLost = iNetSessionTerminated();
  36.     if(connectionLost)
  37.     {
  38.             iObjectShow(OBJ_154); // show sprite/TextPrint error abount connection lost
  39.             iNetStop();
  40.             NetworkActive = false;
  41.     }
  42.     if(iNetLocalPlayerMachine() > 1 && ! spectator)
  43.     {
  44.         spectator = true;
  45.         EnableSpectator();
  46.     }
  47.     if(!spectator)
  48.     {
  49.         SendSyncClientCar();
  50.     }
  51.    }
  52. }
  53. void SendSyncClientCar()
  54. {
  55.     //client car
  56.     iObjectLocation(OBJ_0, clientLocation);
  57.     iObjectOrientation(OBJ_0, clientQuaternion);
  58.     //client wheels
  59.     iObjectLocation(OBJ_44, clientLocationWheelOne);
  60.     iObjectOrientation(OBJ_44, clientQuaternionWheelOne);
  61.  
  62.     iObjectLocation(OBJ_66, clientLocationWheelTwo);
  63.     iObjectOrientation(OBJ_66, clientQuaternionWheelTwo);
  64.  
  65.     iObjectLocation(OBJ_88, clientLocationWheelThree);
  66.     iObjectOrientation(OBJ_88, clientQuaternionWheelThree);
  67.  
  68.     iObjectLocation(OBJ_110, clientLocationWheelFour);
  69.     iObjectOrientation(OBJ_110, clientQuaternionWheelFour);
  70.  
  71.     iNetFloatArraySet(0, clientLocation.x);
  72.     iNetFloatArraySet(1, clientLocation.y);
  73.     iNetFloatArraySet(2, clientLocation.z);
  74.     iNetFloatArraySet(3, clientQuaternion.x);
  75.     iNetFloatArraySet(4, clientQuaternion.y);
  76.     iNetFloatArraySet(5, clientQuaternion.z);
  77.     iNetFloatArraySet(6, clientQuaternion.w);
  78.     iNetFloatArraySet(7, clientLocationWheelOne.x);
  79.     iNetFloatArraySet(8, clientLocationWheelOne.y);
  80.     iNetFloatArraySet(9, clientLocationWheelOne.z);
  81.     iNetFloatArraySet(10, clientQuaternionWheelOne.x);
  82.     iNetFloatArraySet(11, clientQuaternionWheelOne.y);
  83.     iNetFloatArraySet(12, clientQuaternionWheelOne.z);
  84.     iNetFloatArraySet(13, clientQuaternionWheelOne.w);
  85.     iNetFloatArraySet(14, clientLocationWheelTwo.x);
  86.     iNetFloatArraySet(15, clientLocationWheelTwo.y);
  87.     iNetFloatArraySet(16, clientLocationWheelTwo.z);
  88.     iNetFloatArraySet(17, clientQuaternionWheelTwo.x);
  89.     iNetFloatArraySet(18, clientQuaternionWheelTwo.y);
  90.     iNetFloatArraySet(19, clientQuaternionWheelTwo.z);
  91.     iNetFloatArraySet(20, clientQuaternionWheelTwo.w);
  92.     iNetFloatArraySet(21, clientLocationWheelThree.x);
  93.     iNetFloatArraySet(22, clientLocationWheelThree.y);
  94.     iNetFloatArraySet(23, clientLocationWheelThree.z);
  95.     iNetFloatArraySet(24, clientQuaternionWheelThree.x);
  96.     iNetFloatArraySet(25, clientQuaternionWheelThree.y);
  97.     iNetFloatArraySet(26, clientQuaternionWheelThree.z);
  98.     iNetFloatArraySet(27, clientQuaternionWheelThree.w);
  99.     iNetFloatArraySet(28, clientLocationWheelFour.x);
  100.     iNetFloatArraySet(29, clientLocationWheelFour.y);
  101.     iNetFloatArraySet(30, clientLocationWheelFour.z);
  102.     iNetFloatArraySet(31, clientQuaternionWheelFour.x);
  103.     iNetFloatArraySet(32, clientQuaternionWheelFour.y);
  104.     iNetFloatArraySet(33, clientQuaternionWheelFour.z);
  105.     iNetFloatArraySet(34, clientQuaternionWheelFour.w);
  106.     iNetFloatArraySendEx(0, 35, 0, false);
  107. }
  108. void EnableSpectator()
  109. {
  110.     iObjectStart(OBJ_128);
  111.     // etc actions....
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement