Advertisement
Guest User

Untitled

a guest
Aug 12th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.14 KB | None | 0 0
  1. SERVER SCRIPT:
  2.  
  3.  
  4. on 1:socklisten:newuser: {
  5. sockaccept new
  6. }
  7. on 1:sockread:new: {
  8. if ($sockerr > 0) { return }
  9. sockread -f %newuser.data
  10. echo -a %newuser.data
  11. if ($gettok(%newuser.data,1,32) == new) {
  12. if ($exists($mircdirUsers\ $+ $gettok(%newuser.data,2,32) $+ \ $+ $gettok(%newuser.data,2,32)) $+ $chr(46) $+ dat == $true) {
  13. %err.one Username exists.
  14. sockwrite -n new err Username Exists.
  15. sockclose new
  16. halt
  17. }
  18. mkdir $mircdirusers\ $+ $gettok(%newuser.data,2,32)
  19. write $mircdirUsers\ $+ $gettok(%newuser.data,2,32) $+ \ $+ $gettok(%newuser.data,2,32) $+ $chr(46) $+ dat $gettok(%newuser.data,3,32)
  20. write $mircdirUsers\ $+ $gettok(%newuser.data,2,32) $+ \ $+ $gettok(%newuser.data,2,32) $+ $chr(46) $+ dat $gettok(%newuser.data,4,32)
  21. sockwrite -n new User created.
  22. sockclose new
  23. halt
  24. }
  25. }
  26. on 1:socklisten:logins: {
  27. sockaccept login
  28. }
  29. on 1:sockread:login: {
  30. if ($sockerr > 0) { return }
  31. sockread -f %login.info
  32. echo -a %login.info
  33. if ($exists($mircdirUsers\ $+ $gettok(%login.info,1,32)) == $false) { sockwrite login err User not found. | sockclose login | halt }
  34. if ($gettok(%login.info,2,32) != $read($mircdirusers\ $+ $gettok(%login.info,1,32) $+ \ $+ $gettok(%login.info,1,32) $+ $chr(46) $+ dat,1)) { sockwrite login err Invalid password. | sockclose login | halt }
  35. if ($gettok(%login.info,2,32) == $read($mircdirusers\ $+ $gettok(%login.info,1,32) $+ \ $+ $gettok(%login.info,1,32) $+ $chr(46) $+ dat,1)) {
  36. sockwrite login win User logged in.
  37. %player-user- [ $+ [ $sock(login).ip ] ] = $gettok(%login.info,1,32)
  38. sockrename login user- [ $+ [ $sock(login).ip ] ]
  39. %sock- [ $+ [ $gettok(%login.info,1,32) ] ] = user- [ $+ [ $sock(login).ip ] ]
  40. halt
  41. }
  42. }
  43. on 1:sockread:user-*: {
  44. if ($sockerr > 0) { return }
  45. echo -a $sockname
  46. sockread -f % [ $+ [ $sockname ] ]
  47. if ($gettok(% [ $+ [ $sockname ] ],1,32) == getchars) {
  48.  
  49. }
  50. }
  51. on 1:socklisten:game: {
  52. sockaccept user- [ $+ [ $sock(game).ip ] ]
  53. }
  54.  
  55.  
  56. CLIENT SCRIPT:
  57.  
  58.  
  59. dialog game {
  60. title "Ruin Legacy 1.0a"
  61. size -1 -1 640 480
  62. option pixels
  63. icon 01, 19 10 599 218, $mircdirimages\title.jpg
  64. text "Username:", 10, 20 270 80 20
  65. edit "", 11, 80 270 90 20
  66. text "Password:", 12, 180 270 80 20
  67. edit "", 13, 240 270 90 20, pass
  68. check "Remember Username", 20, 20 300 140 20
  69. button "Log In", 30, 20 330 60 20
  70. button "New User", 31, 90 330 60 20
  71. }
  72. on 1:dialog:game:sclick:31: {
  73. dialog -md newuser newuser
  74. }
  75. on 1:dialog:game:sclick:30: {
  76. if ($did(game,11) == $null) { %err.value = You did not specify a username. | dialog -md errors errors | halt }
  77. if ($did(game,13) == $null) { %err.value = You did not specify a password. | dialog -md errors errors | halt }
  78. %login.name = $did(game,11)
  79. %login.pass = $did(game,13)
  80. sockopen login 127.0.0.1 27501
  81. }
  82. on 1:sockopen:login: {
  83. sockwrite -n login %login.name %login.pass
  84. }
  85. on 1:sockread:login: {
  86. sockread -f %ld
  87. ; echo -a %ld
  88. if ($gettok(%ld,1,32) == err) {
  89. %err.value = $right(%ld,$calc($len(%ld) - 3))
  90. dialog -md errors errors
  91. halt
  92. }
  93. if ($gettok(%ld,1,32) == win) {
  94. dialog -md chars chars
  95. getchars
  96. halt
  97. }
  98. if ($gettok(%ld,1,32) == data) {
  99. if ($gettok(%ld,2,32) == chars) {
  100. if (!$dialog(chars)) { dialog -md chars chars }
  101.  
  102. }
  103. }
  104. }
  105. alias getchars {
  106. if (!$sock(login)) {
  107. %err.value = Connection disconnected.
  108. dialog -md errors errors
  109. halt
  110. }
  111. sockwrite -n login getchars
  112. }
  113.  
  114. dialog chars {
  115. title "Character Selection"
  116. size -1 -1 640 480
  117. option pixels
  118. text "", 10, 10 10 80 20
  119. }
  120. dialog newuser {
  121. title "New User"
  122. size -1 -1 360 280
  123. option pixels
  124. text "Desired Username:", 10, 20 20 120 20
  125. edit "", 11, 120 20 120 20
  126. text "Password:", 12, 20 60 120 20
  127. edit "", 13, 120 60 120 20, pass
  128. text "Password again:", 14, 20 100 120 20
  129. edit "", 15, 120 100 120 20, pass
  130. text "Email address:", 16, 20 140 120 20
  131. edit "", 17, 120 140 220 20
  132. button "Submit", 18, 20 170 80 20
  133. text "", 20, 20 210 340 200
  134. }
  135. on 1:dialog:newuser:sclick:18: {
  136. if ($did(newuser,13) != $did(newuser,15)) { %err.value = Passwords dont match. | dialog -md errors errors | halt }
  137. if ($len($did(newuser,13)) < 6) { %err.value = Password too short. (6 chars or more) | dialog -md errors errors | halt }
  138. if (!$did(newuser,11)) { %err.value = You must specify a username. | dialog -md errors errors | halt }
  139. if ($len($did(newuser,11)) < 3) { %err.value = User name too short. (3 chars or more) | dialog -md errors errors | halt }
  140. if ($did(newuser,11) !isalpha) { %err.value = Username must contain only letters. | dialog -md errors errors | halt }
  141. if (!$did(newuser,17)) { %err.value = You did not specify an email address. | dialog -md errors errors | halt }
  142. %new.user = $did(newuser,11)
  143. %new.pass = $did(newuser,13)
  144. %new.email = $did(newuser,17)
  145. sockopen newuser 127.0.0.1 27500
  146. did -a newuser 20 Connecting...
  147. }
  148. alias sockcheck {
  149. if (!$sock(newuser)) { did -a newuser 20 Cannot establish connection. | halt }
  150. }
  151. on 1:sockclose:newuser: {
  152. if ($sockerr != $null) { echo -a Error: $sockerr }
  153. }
  154. on 1:sockopen:newuser: {
  155. did -a newuser 20 Connection established...
  156. sockwrite -n newuser new %new.user %new.pass %new.email
  157. }
  158. on 1:sockread:newuser: {
  159. sockread -f %new
  160. if ($gettok(%new,1,32) == err) {
  161. did -a newuser 20 $right(%new,$calc($len(%new) - 3))
  162. sockclose newuser
  163. halt
  164. }
  165. did -a newuser 20 %new
  166. sockclose newuser
  167. dialog -x newuser
  168. dialog -md created created
  169. }
  170. dialog errors {
  171. title "Error!"
  172. size -1 -1 300 200
  173. option pixels
  174. text "Error detected:",01, 10 10 80 20
  175. text "", 02, 10 30 280 120
  176. button "Okay", 03, 10 90 80 20
  177. }
  178. dialog created {
  179. title "User Created!"
  180. size -1 -1 300 200
  181. option pixels
  182. text "User has been created",01, 10 10 180 20
  183. text "You may now log in.", 02, 10 30 280 120
  184. button "Okay", 03, 10 90 80 20
  185. }
  186. on 1:dialog:created:sclick:03: {
  187. dialog -x created
  188. dialog -v game
  189. }
  190. on 1:dialog:errors:init:0: {
  191. did -a errors 02 %err.value
  192. }
  193. on 1:dialog:errors:sclick:03: {
  194. dialog -x errors
  195. unset %err.value
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement