Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. local blocked_characters = {
  2. american = { --Houston
  3. bot = false,
  4. player = false,
  5. },
  6. german = { --Wolf
  7. bot = false,
  8. player = false,
  9. },
  10. russian = { --Dallas
  11. bot = false,
  12. player = false,
  13. },
  14. spanish = { --Chains
  15. bot = false,
  16. player = false,
  17. },
  18. jowi = { --Wick
  19. bot = false,
  20. player = false,
  21. },
  22. old_hoxton = { --Hoxton
  23. bot = false,
  24. player = false,
  25. },
  26. female_1 = { --Clover
  27. bot = false,
  28. player = false,
  29. },
  30. dragan = { --Dragan
  31. bot = true,
  32. player = false,
  33. },
  34. jacket = { --Jacket
  35. bot = false,
  36. player = false,
  37. },
  38. bonnie = { --Bonnie
  39. bot = true,
  40. player = true,
  41. },
  42. sokol = { --Sokol
  43. bot = true,
  44. player = false,
  45. },
  46. dragon = { --Jiro
  47. bot = true,
  48. player = true,
  49. },
  50. bodhi = { --Bodhi
  51. bot = true,
  52. player = false,
  53. },
  54. jimmy = { --Jimmy
  55. bot = true,
  56. player = true,
  57. },
  58. wild = { --Rust
  59. bot = true,
  60. player = true,
  61. },
  62. sydney = { --Sydney
  63. bot = true,
  64. player = true,
  65. },
  66. chico = { --Scarface
  67. bot = false,
  68. player = false,
  69. },
  70. max = { --Sangres
  71. bot = false,
  72. player = false,
  73. },
  74. myh = { --Duke
  75. bot = false,
  76. player = false,
  77. }
  78. }
  79.  
  80. local function remove_blocked_character(character_table, type)
  81. for character, block_data in pairs(blocked_characters) do
  82. if block_data[type] and table.contains(character_table, character) then
  83. if table.size(character_table) > 1 then
  84. --printf("REMOVING %s", character)
  85. table.delete(character_table, character)
  86. else
  87. return
  88. end
  89. end
  90. end
  91. end
  92.  
  93. function BaseNetworkSession:check_peer_preferred_character(preferred_character)
  94. local free_characters = clone(CriminalsManager.character_names())
  95. for _, peer in pairs(self._peers_all) do
  96. local character = peer:character()
  97. table.delete(free_characters, character)
  98. end
  99.  
  100. remove_blocked_character(free_characters, "player")
  101.  
  102. local preferreds = string.split(preferred_character, " ")
  103. for _, preferred in ipairs(preferreds) do
  104. if table.contains(free_characters, preferred) then
  105. --printf("Selecting pref character %s", preferred)
  106. return preferred
  107. end
  108. end
  109.  
  110. --printf("Picking random character")
  111. local character = free_characters[math.random(#free_characters)]
  112. print("Player will be", character, "instead of", preferred_character)
  113. return character
  114. end
  115.  
  116. --[[function CriminalsManager:get_free_character_name()
  117. local available = {}
  118. for id, data in pairs(self._characters) do
  119. local taken = data.taken
  120. if not taken and not self:is_character_as_AI_level_blocked(data.name) then
  121. table.insert(available, data.name)
  122. end
  123. end
  124.  
  125. remove_blocked_character(available, "bot")
  126.  
  127. if #available > 0 then
  128. return available[math.random(#available)]
  129. end
  130. end]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement