Advertisement
Guest User

Tournament System U-S

a guest
Jun 2nd, 2011
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.65 KB | None | 0 0
  1. [comment tournament]
  2. hazırlayan: Slothere
  3. tarih: 31 Mayıs 2011
  4. version: 56b+
  5. # [!] List komutundan ötürü güncel sürüm gerekir.
  6. -------------------------------------------------
  7.  
  8. [plevel 4]
  9. turnuvaDuzenle
  10.  
  11. [function turnuvaDuzenle]
  12. if (<var0.tournamentStone>)
  13. sysmessage Su anda zaten bir turnuva duzenleniyor.
  14. else
  15. serv.b Turnuva duzenlenmektedir. Katilimlar icin ".katil" komutunu kullanabilirsiniz.
  16. serv.b Katilimlar 5 dk sonra sonra erecektir.
  17. serv.newitem i_grave_stone
  18. new.p 1,1
  19. new.attr attr_move_never|attr_decay|attr_invis
  20. new.name tournament stone
  21. var0.tournamentStone = <new>
  22. new.type = t_stone_tournament
  23. new.timer = 300
  24. new.more1 = 1
  25. List.tournamentPlayers.Clear
  26. List.tournamentWinners.Clear
  27. endif
  28.  
  29. [plevel 1]
  30. katil
  31.  
  32. [function katil]
  33. if !(<var0.tournamentStone>)
  34. sysmessage Su anda turnuva duzenlenmiyor.
  35. elseif (<List.tournamentPlayers.FindElem <uid>>)
  36. sysmessage Su an zaten turnuvaya katilmis vaziyettesin.
  37. elseif (<uid.<var0.tournamentStone>.more1> > 1)
  38. sysmessage Turnuva basladigi icin katilamazsiniz.
  39. else
  40. List.tournamentPlayers.Add = <uid>
  41. sysmessage Turnuvaya katildiniz. Oyundan ayrilirsaniz otomatik diskalifiye olursunuz.
  42. events +e_tournament_viewer
  43. go xxxx,yyyy,z // buraya bekleyen oyuncuların gidecegi koordinat girilmeli.
  44. tag0.lastPosition = <p>
  45. serv.b <name> turnuvaya katildi.
  46. serv.b Toplam katilimci sayisi: <List.tournamentPlayers.Count>
  47. serv.b Katilimlarin sona ermesine <eval(<uid.<var0.tournamentStone>.timer>/60)>dk kaldi.
  48. endif
  49.  
  50. [events e_tournament_viewer]
  51. on=@attack
  52. return 1
  53. on=@hittry
  54. return 1
  55. on=@gethit
  56. return 1
  57. on=@hunger
  58. return 1
  59. on=@skillstart
  60. return 1
  61.  
  62. on=@spellcast
  63. if !((<argn>==4) || (<argn>==6) || (<argn>==7) || (<argn>==9) || (<argn>==11) || (<argn>==15) || (<argn>==16) || (<argn>==17) || (<argn>==29) || (<argn>==36))
  64. return 1
  65. endif
  66.  
  67. on=@click
  68. message [Turnuvada]
  69.  
  70. on=@logout
  71. local.index = <List.tournamentPlayers.FindElem <uid>>
  72. List.tournamentPlayers.<dlocal.index>.Remove
  73. serv.b <name> oyundan ayrildigi icin turnuvadan diskalifiye oldu.
  74. go <tag0.lastPosition>
  75. tag0.lastPosition
  76.  
  77.  
  78. [typedef t_stone_tournament]
  79. on=@timer
  80. if (<dmore1> == 1)
  81. serv.b Katilimlar sona erdi. Turnuva basliyor...
  82. more1 = 2
  83. timer = 5
  84. return 1
  85. endif
  86. if ((<List.tournamentPlayers.Count> % 2) > 0)
  87. local.lastIndex = <eval(<List.tournamentPlayers.count>-1)>
  88. ref13 = <List.tournamentPlayers.<dlocal.lastIndex>>
  89. ref13.sysmessage Turnuvadaki katilimci fazlaligindan oturu otomatik olarak yarismadan cikartildiniz.
  90. ref13.go <ref12.tag0.lastPosition>
  91. ref13.tag0.lastPosition
  92. ref13.events -e_tournament_viewer
  93. List.tournamentPlayers.<dlocal.lastIndex>.Remove
  94. endif
  95. if (<List.tournamentPlayers.Count> >= 2)
  96. local.totalCount = <eval(<List.tournamentPlayers.Count>)>
  97. while (<dlocal.totalCount> > 0)
  98. local.totalCount = <eval(<local.totalCount>-1)>
  99. local.rand = <r<dlocal.totalCount>>
  100. local.t1 = <List.tournamentPlayers.<dlocal.totalCount>>
  101. local.t2 = <List.tournamentPlayers.<dlocal.rand>>
  102. List.tournamentPlayers.<dlocal.totalCount> = <local.t2>
  103. List.tournamentPlayers.<dlocal.rand> = <local.t1>
  104. endwhile
  105. ref10 = <List.tournamentPlayers.0>
  106. ref11 = <List.tournamentPlayers.1>
  107. List.tournamentPlayers.0.Remove
  108. List.tournamentPlayers.1.Remove
  109. serv.b [Turnuva] <ref10.name> vs <ref11.name>
  110. ref10.go xxxx,yyyy,z // düellodaki ilk oyuncunun gönderileceği koordinat girilmeli.
  111. ref11.go xxxx,yyyy,z // düellodaki ikinci oyuncunun gönderileceği koordiant girilmeli.
  112. ref10.events -e_tournament_viewer
  113. ref11.events -e_tournament_viewer
  114. ref10.events +e_tournament_duel
  115. ref11.events +e_tournament_duel
  116. ref10.tag0.opponent = <ref11>
  117. ref11.tag0.opponent = <ref10>
  118. timer = 300
  119. return 1
  120. else
  121. if (<List.tournamentWinners.Count> < 2)
  122. ref12 = <List.tournamentWinners.0>
  123. ref12.tag0.opponent
  124. ref12.go <ref12.tag0.lastPosition>
  125. ref12.tag0.lastPosition
  126. ref12.events -e_tournament_viewer
  127. ref12.gold += 100000
  128. ref12.update
  129. List.tournamentWinners.Clear
  130. List.tournamentPlayers.Clear
  131. serv.b Turnuvayi <ref12.name> kazandi.
  132. var0.tournamentStone
  133. remove
  134. else
  135. List.tournamentPlayers.Clear
  136. while !(<isempty <List.tournamentWinners.<dlocal._while>>>)
  137. List.tournamentPlayers.Add = <List.tournamentWinners.<dlocal._while>>
  138. List.tournamentWinners.<dlocal._while>.Remove
  139. endwhile
  140. List.tournamentWinners.Clear
  141. serv.b Turnuvada mevcut tur tamamlandi, diger tura geciliyor.
  142. timer = 3
  143. endif
  144. endif
  145. return 1
  146.  
  147. [events e_tournament_duel]
  148. on=@hunger
  149. return 1
  150.  
  151. on=@callguards
  152. return 1
  153.  
  154. on=@famechange
  155. return 1
  156.  
  157. on=@karmachange
  158. return 1
  159.  
  160. on=@spellcast
  161. if (<argn>==24) || (<argn>==33) || (<argn>==40) || (<argn>==44) || (<argn>==45) || (<argn>==50) || (<argn>==58) || (<argn>==60) || (<argn>==61) || (<argn>==62) || (<argn>==63) || (<argn>==64)
  162. return 1
  163. endif
  164.  
  165. on=@death
  166. ref20 = <tag0.opponent>
  167. tag0.opponent
  168. List.tournamentWinners.Add = <ref20>
  169. ref20.events -e_tournament_duel
  170. events -e_tournament_duel
  171. ref20.go xxxx,yyyy,z // buraya bekleyen oyuncuların gidecegi koordinat girilmeli.
  172. ref20.events +e_tournament_viewer
  173. go <tag0.lastPosition>
  174. tag0.lastPosition
  175. serv.b <name> vs <ref20.name> | Kazanan: <ref20.name>
  176. ref21 = <var0.tournamentStone>
  177. ref21.timer = 3
  178.  
  179.  
  180. on=@logout
  181. ref20 = <tag0.opponent>
  182. tag0.opponent
  183. List.tournamentWinners.Add = <ref20>
  184. ref20.events -e_tournament_duel
  185. events -e_tournament_duel
  186. ref20.go xxxx,yyyy,z // buraya bekleyen oyuncuların gidecegi koordinat girilmeli.
  187. ref20.events +e_tournament_viewer
  188. go <tag0.lastPosition>
  189. tag0.lastPosition
  190. serv.b <name> oyundan ayrildigi icin hukmen maglup oldu. Kazanan <ref20.name>
  191. ref21 = <var0.tournamentStone>
  192. ref21.timer = 3
  193.  
  194.  
  195.  
  196. [eof]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement