EngiN33R

main.lua

May 25th, 2011
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.98 KB | None | 0 0
  1. require "see"
  2.  
  3. local __old_print = print
  4. function print(...)
  5.      local args = {...}
  6.      for _,text in ipairs(args) do
  7.           __old_print(tostring(text))
  8.      end
  9. end
  10.  
  11. dofile("sys/lua/basicfuncs.lua")
  12. dofile("sys/lua/space_rpg/bases.lua")
  13. dofile("sys/lua/space_rpg/ships.lua")
  14. dofile("sys/lua/space_rpg/tradelanes.lua")
  15. dofile("sys/lua/space_rpg/gates.lua")
  16.  
  17. parse("mp_wpndmg Knife 0") -- Don't change this!
  18.  
  19. faction=initArray2(32,0)
  20.  
  21. -- MAIN VALUES
  22. credits=initArray2(32,2000)
  23. shield=initArray2(32,100)
  24. minhit=initArray2(32,5)
  25.  
  26. commodities=doublearray(32,6,0)
  27. cargo=initArray2(32,0)
  28. maxcargo=initArray2(32,60)
  29.  
  30. addhook("startround","imagestuff")
  31. function imagestuff()
  32.     imagerender()
  33. end
  34.  
  35. function imagerender()
  36.     for tl=1,#lanes do
  37.         if (lanesimg[tl]==0) then
  38.             lanesimg[tl]=image("gfx/space/tradelane.png",lanes[tl].x*32+16,lanes[tl].y*32+16,0)
  39.         end
  40.         if (lanefimg[tl]==0) then
  41.             lanefimg[tl]=image("gfx/space/tradelane.png",lanes[tl].ex*32+16,lanes[tl].ey*32+16,0)
  42.         end
  43.     end
  44. end
  45.  
  46. imagerender()
  47.  
  48. -- REPUTATION --
  49. reputation=doublearray(32,32,0)
  50. for f=1,#factions do
  51.     for id=1,32 do
  52.         reputation[id][f]=factions[f].initrep
  53.     end
  54. end
  55.  
  56. addhook("ms100","updatehud")
  57. function updatehud()
  58.     for id=1,32 do
  59.         if (player(id,"exists")) then
  60.             hudtxt2(id,1,"255255255","Money: "..credits[id],320,380)
  61.             hudtxt2(id,2,"255255255","Shield: "..shield[id],320,400)
  62.         end
  63.     end
  64. end
  65.  
  66. addhook("hit","shieldhit")
  67. function shieldhit(id)
  68.     if (shield[id]>=minhit[id]) then
  69.         shield[id]=shield[id]-minhit[id]
  70.         return 1
  71.     end
  72. end
  73.  
  74. function mainmenu(id)
  75.     menu(id,"FREELANCER 2D@b,View Cargo Bay,View Equipment,View Reputation")
  76. end
  77.  
  78. function cargomenu(id)
  79.     menu(id,"CARGO BAY,"..comms[1].name.."|"..commodities[id][1]..","..comms[2].name.."|"..commodities[id][2]..","..comms[3].name.."|"..commodities[id][3]..","..comms[4].name.."|"..commodities[id][4]..","..comms[5].name.."|"..commodities[id][5]..","..comms[6].name.."|"..commodities[id][6])
  80. end
  81.  
  82. function getRep(id,f)
  83.     if (factions[f]~=nil) then
  84.         return factions[f].tag.." - "..factions[f].name.."|"..reputation[id][f]
  85.     end
  86.     return ""
  87. end
  88.  
  89. function repmenu(id)
  90.     menu(id,"REPUTATION@b,"..getRep(id,1)..","..getRep(id,2)..","..getRep(id,3)..","..getRep(id,4)..","..getRep(id,5)..","..getRep(id,6)..","..getRep(id,7)..","..getRep(id,8)..","..getRep(id,9))
  91. end
  92.  
  93. addhook("serveraction","svact")
  94. function svact(id,a)
  95.     if (a==1) then
  96.         mainmenu(id)
  97.     end
  98. end
  99.  
  100. addhook("menu","menus")
  101. function menus(id,menu,sel)
  102.     if (menu=="FREELANCER 2D") then
  103.         if (sel==1) then
  104.             cargomenu(id)
  105.         end
  106.         if (sel==3) then
  107.             repmenu(id)
  108.         end
  109.     end
  110. end
  111.  
  112. function playerInRange(x,y,rx,ry)
  113.     for id=1,32 do
  114.         if (player(id,"exists") and player(id,"x")<=x+rx and player(id,"x")>=x-rx and player(id,"y")<=y+ry and player(id,"y")>=y-ry) then
  115.             return id
  116.         else
  117.             return nil
  118.         end
  119.     end
  120. end
  121.  
  122. addhook("always","attackhostiles")
  123. function attackhostiles()
  124.     for id=1,32 do
  125.         if (player(id,"exists") and player(id,"bot") and playerInRange(player(id,"x"),player(id,"y"),512,512)~=nil and reputation[playerInRange(player(id,"x"),player(id,"y"),512,512)][faction[id]]<=-25) then
  126.             local x=player(playerInRange(player(id,"x"),player(id,"y"),512,512),"x")
  127.             local y=player(playerInRange(player(id,"x"),player(id,"y"),512,512),"y")
  128.             ai_aim(id,x,y)
  129.             ai_iattack(id)
  130.         end
  131.     end
  132. end
  133.  
  134. addhook("kill","repchange")
  135. function repchange(id,src)
  136.     local allys=factions[faction[id]].allies
  137.     local enemys=factions[faction[id]].enemies
  138.     see(factions)
  139.     reputation[src][faction[id]]=reputation[src][faction[id]]-1
  140.     for _,f in ipairs(allys) do
  141.         reputation[src][allys[f]]=reputation[src][allys[f]]-0.5
  142.     end
  143.     for _,f in ipairs(enemys) do
  144.         reputation[src][enemys[f]]=reputation[src][enemys[f]]-0.5
  145.     end
  146. end
Advertisement
Add Comment
Please, Sign In to add comment