Advertisement
Guest User

Random Teleporter Network

a guest
Feb 18th, 2015
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. class RandomTeleporterNetwork extends Info
  2. placeable;
  3.  
  4. var() string URLTag;
  5. var() int Fakes;
  6. var array<Teleporter> MyTeleporters;
  7.  
  8.  
  9. function PostBeginPlay()
  10. {
  11. local Teleporter D;
  12. local int i,j;
  13. local array<int> iTeleporters;
  14.  
  15. foreach AllActors( class 'Teleporter', D )
  16. if( D.URL == URLTag )
  17. {
  18. D.tag = D.Name;
  19. MyTeleporters[MyTeleporters.length] = D;
  20. }
  21.  
  22. iTeleporters.length = MyTeleporters.length;
  23. for (i=0; i < MyTeleporters.length; i++)
  24. {
  25. iTeleporters[i] = i;
  26. }
  27.  
  28. if ( ((iTeleporters.length - Fakes) % 2) != 0 )
  29. Fakes ++ ;
  30. if (iTeleporters.length - Fakes < 2)
  31. {
  32. log (Self $ " No pairs");
  33. return;
  34. }
  35. for (i=0; i < Fakes; i++)
  36. {
  37. iTeleporters.Remove( rand(iTeleporters.length) , 1 );
  38. }
  39.  
  40. for (i=0; i < iTeleporters.length; i++)
  41. {
  42. j = rand(iTeleporters.length - 1) + 1;
  43. MyTeleporters[iTeleporters[i]].URL = string(MyTeleporters[iTeleporters[j]].tag);
  44. MyTeleporters[iTeleporters[j]].URL = string(MyTeleporters[iTeleporters[i]].tag);
  45. iTeleporters.Remove( j , 1 );
  46. iTeleporters.Remove( i , 1 );
  47. i -- ;
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement