Browse Source

added changing user infomartion

galo 1 year ago
parent
commit
39d6dc65f7
5 changed files with 931 additions and 15 deletions
  1. 10 2
      Auth.gd
  2. 5 1
      Login.gd
  3. 870 0
      NPC/soldierjump.tres
  4. 2 2
      loginnetcode.gd
  5. 44 10
      main.tscn

+ 10 - 2
Auth.gd

@@ -44,7 +44,7 @@ remote func RegisterPlayer(username, password, password2, email, salt, requester
 	var email_check = db.Read('login_database','email',"'"+email+"'")
 	var username_check = db.Read('login_database','username',"'"+username+"'")
 	if email_check != []: message = 'this email is already registered'
-	if username_check != []: message = 'soemone already has this username'
+	if username_check != []: message = 'someone already has this username'
 	print(message)
 	rpc_id(api.get_rpc_sender_id(), 'update_status', message)
 	if message != 'registering...': return
@@ -83,7 +83,7 @@ remote func password_confirmation(username,password, salt):
 	rpc_id(api.get_rpc_sender_id(), '_on_servertoken', token, username)
 	print(message)
 
-remote func chang_password(username, password, password_new, salt):
+remote func chang_password(username, password, password_new, salt, username_new, email_new):
 	var message = 'updating password...'
 	var db = get_parent().get_node('PostgreSQL')
 	for i in 1024: password = (password+salt).sha256_text()
@@ -98,11 +98,19 @@ remote func chang_password(username, password, password_new, salt):
 	print('***token query')
 	if token_query != []: message = 'user not found'
 	if password != password_db: message = 'password or username is wrong'
+	
+	var email_check = db.Read('login_database','email',"'"+email_new+"'")
+	var username_check = db.Read('login_database','username',"'"+username_new+"'")
+	if email_check != []: message = 'this email is already registered'
+	if username_check != []: message = 'someone already has this username'
+	print(message)
 	rpc_id(api.get_rpc_sender_id(), 'update_status', message)
 	if message != 'updating password...': return
 	var ip = api.get_rpc_sender_id()
 	print(ip)
 	db.Update('login_database', 'password', "'"+password_new+"'", 'username', "'"+username+"'")
+	db.Update('login_database', 'email', "'"+email_new+"'", 'username', "'"+username+"'")
+	db.Update('login_database', 'username', "'"+username_new+"'", 'username', "'"+username+"'")
 #	var token = ( str(username)+str(ip)+str(OS.get_unix_time())).sha256_text()
 #	db.Delete('validtokens_database',"username", "'"+username+"'")
 #	db.Create('validtokens_database',['username','token','ip','creation_date'],[username, token, ip, str(OS.get_unix_time())])

+ 5 - 1
Login.gd

@@ -126,9 +126,13 @@ func _on_chang_password_button_down():
 	var salt = yield(get_parent().get_node("Loginetcode"),'salt')
 	var password_old = $changepassword/VBoxContainer/HBoxContainer2/LineEdit2.get_text()
 	var password_new = $changepassword/VBoxContainer/HBoxContainer4/LineEdit2.get_text()
+	var username_new = $changepassword/VBoxContainer/HBoxContainer5/LineEdit2.get_text()
+	var email_new = $changepassword/VBoxContainer/HBoxContainer6/LineEdit2.get_text()
+	
 	print(salt)
+	if salt == null: return
 	for i in 512: password_old = (password_old+salt).sha256_text()
 	for i in 512: password_new = (password_new+salt).sha256_text()
-	get_parent().get_node("Loginetcode").chang_password(username, password_old, password_new, salt)
+	get_parent().get_node("Loginetcode").chang_password(username, password_old, password_new, salt, username_new, email_new)
 	password_old = null
 	password_new = null

+ 870 - 0
NPC/soldierjump.tres

@@ -0,0 +1,870 @@
+[gd_resource type="Animation" format=2]
+
+[resource]
+resource_name = "jump"
+length = 2.0
+step = 0.05
+tracks/0/type = "value"
+tracks/0/path = NodePath("body/arm2/forearm/hand:scale")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/1/type = "value"
+tracks/1/path = NodePath("body/arm2/forearm/hand:rotation_degrees")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/2/type = "value"
+tracks/2/path = NodePath("body/arm2/forearm/hand:position")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 4.42659, 2.26468 ) ]
+}
+tracks/3/type = "value"
+tracks/3/path = NodePath("body/arm2/forearm:scale")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/4/type = "value"
+tracks/4/path = NodePath("body/arm2/forearm:rotation_degrees")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/5/type = "value"
+tracks/5/path = NodePath("body/arm2/forearm:position")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -1.94454, 7.29204 ) ]
+}
+tracks/6/type = "value"
+tracks/6/path = NodePath("body/arm2/shoulder:scale")
+tracks/6/interp = 1
+tracks/6/loop_wrap = true
+tracks/6/imported = false
+tracks/6/enabled = true
+tracks/6/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -1, 1 ) ]
+}
+tracks/7/type = "value"
+tracks/7/path = NodePath("body/arm2/shoulder:rotation_degrees")
+tracks/7/interp = 1
+tracks/7/loop_wrap = true
+tracks/7/imported = false
+tracks/7/enabled = true
+tracks/7/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/8/type = "value"
+tracks/8/path = NodePath("body/arm2/shoulder:position")
+tracks/8/interp = 1
+tracks/8/loop_wrap = true
+tracks/8/imported = false
+tracks/8/enabled = true
+tracks/8/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -1.42193, -0.0205441 ) ]
+}
+tracks/9/type = "value"
+tracks/9/path = NodePath("body/arm2:scale")
+tracks/9/interp = 1
+tracks/9/loop_wrap = true
+tracks/9/imported = false
+tracks/9/enabled = true
+tracks/9/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/10/type = "value"
+tracks/10/path = NodePath("body/arm2:rotation_degrees")
+tracks/10/interp = 1
+tracks/10/loop_wrap = true
+tracks/10/imported = false
+tracks/10/enabled = true
+tracks/10/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, -146.359, -152.333 ]
+}
+tracks/11/type = "value"
+tracks/11/path = NodePath("body/arm2:position")
+tracks/11/interp = 1
+tracks/11/loop_wrap = true
+tracks/11/imported = false
+tracks/11/enabled = true
+tracks/11/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 0.886793, 13.6592 ) ]
+}
+tracks/12/type = "value"
+tracks/12/path = NodePath("body/gun:scale")
+tracks/12/interp = 1
+tracks/12/loop_wrap = true
+tracks/12/imported = false
+tracks/12/enabled = true
+tracks/12/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/13/type = "value"
+tracks/13/path = NodePath("body/gun:rotation_degrees")
+tracks/13/interp = 1
+tracks/13/loop_wrap = true
+tracks/13/imported = false
+tracks/13/enabled = true
+tracks/13/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, -4.50009, -3.47868 ]
+}
+tracks/14/type = "value"
+tracks/14/path = NodePath("body/gun:position")
+tracks/14/interp = 1
+tracks/14/loop_wrap = true
+tracks/14/imported = false
+tracks/14/enabled = true
+tracks/14/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ Vector2( 2.7733, 20.9136 ), Vector2( -0.0583196, 20.0877 ), Vector2( -2.97184, 20.3526 ) ]
+}
+tracks/15/type = "value"
+tracks/15/path = NodePath("body/arm/forearm/hand:scale")
+tracks/15/interp = 1
+tracks/15/loop_wrap = true
+tracks/15/imported = false
+tracks/15/enabled = true
+tracks/15/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/16/type = "value"
+tracks/16/path = NodePath("body/arm/forearm/hand:rotation_degrees")
+tracks/16/interp = 1
+tracks/16/loop_wrap = true
+tracks/16/imported = false
+tracks/16/enabled = true
+tracks/16/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/17/type = "value"
+tracks/17/path = NodePath("body/arm/forearm/hand:position")
+tracks/17/interp = 1
+tracks/17/loop_wrap = true
+tracks/17/imported = false
+tracks/17/enabled = true
+tracks/17/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 4.42659, 3.85746 ) ]
+}
+tracks/18/type = "value"
+tracks/18/path = NodePath("body/arm/forearm:scale")
+tracks/18/interp = 1
+tracks/18/loop_wrap = true
+tracks/18/imported = false
+tracks/18/enabled = true
+tracks/18/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/19/type = "value"
+tracks/19/path = NodePath("body/arm/forearm:rotation_degrees")
+tracks/19/interp = 1
+tracks/19/loop_wrap = true
+tracks/19/imported = false
+tracks/19/enabled = true
+tracks/19/keys = {
+"times": PoolRealArray( 0, 0.25 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ 0.0, -36.1176 ]
+}
+tracks/20/type = "value"
+tracks/20/path = NodePath("body/arm/forearm:position")
+tracks/20/interp = 1
+tracks/20/loop_wrap = true
+tracks/20/imported = false
+tracks/20/enabled = true
+tracks/20/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -1.94454, 7.29204 ) ]
+}
+tracks/21/type = "value"
+tracks/21/path = NodePath("body/arm/shoulder:scale")
+tracks/21/interp = 1
+tracks/21/loop_wrap = true
+tracks/21/imported = false
+tracks/21/enabled = true
+tracks/21/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/22/type = "value"
+tracks/22/path = NodePath("body/arm/shoulder:rotation_degrees")
+tracks/22/interp = 1
+tracks/22/loop_wrap = true
+tracks/22/imported = false
+tracks/22/enabled = true
+tracks/22/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/23/type = "value"
+tracks/23/path = NodePath("body/arm/shoulder:position")
+tracks/23/interp = 1
+tracks/23/loop_wrap = true
+tracks/23/imported = false
+tracks/23/enabled = true
+tracks/23/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 2.54176, -0.0205441 ) ]
+}
+tracks/24/type = "value"
+tracks/24/path = NodePath("body/arm:scale")
+tracks/24/interp = 1
+tracks/24/loop_wrap = true
+tracks/24/imported = false
+tracks/24/enabled = true
+tracks/24/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/25/type = "value"
+tracks/25/path = NodePath("body/arm:rotation_degrees")
+tracks/25/interp = 1
+tracks/25/loop_wrap = true
+tracks/25/imported = false
+tracks/25/enabled = true
+tracks/25/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, 19.0002, 33.7205 ]
+}
+tracks/26/type = "value"
+tracks/26/path = NodePath("body/arm:position")
+tracks/26/interp = 1
+tracks/26/loop_wrap = true
+tracks/26/imported = false
+tracks/26/enabled = true
+tracks/26/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -9.02354, 13.6592 ) ]
+}
+tracks/27/type = "value"
+tracks/27/path = NodePath("body/leg2/feet:scale")
+tracks/27/interp = 1
+tracks/27/loop_wrap = true
+tracks/27/imported = false
+tracks/27/enabled = true
+tracks/27/keys = {
+"times": PoolRealArray(  ),
+"transitions": PoolRealArray(  ),
+"update": 0,
+"values": [  ]
+}
+tracks/28/type = "value"
+tracks/28/path = NodePath("body/leg2/feet:rotation_degrees")
+tracks/28/interp = 1
+tracks/28/loop_wrap = true
+tracks/28/imported = false
+tracks/28/enabled = true
+tracks/28/keys = {
+"times": PoolRealArray( 0, 0.25 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ 25.0812, 63.3834 ]
+}
+tracks/29/type = "value"
+tracks/29/path = NodePath("body/leg2/feet:position")
+tracks/29/interp = 1
+tracks/29/loop_wrap = true
+tracks/29/imported = false
+tracks/29/enabled = true
+tracks/29/keys = {
+"times": PoolRealArray( 0, 0.25 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ Vector2( -1.90761, 12.3582 ), Vector2( -3.37223, 9.73408 ) ]
+}
+tracks/30/type = "value"
+tracks/30/path = NodePath("body/leg2:scale")
+tracks/30/interp = 1
+tracks/30/loop_wrap = true
+tracks/30/imported = false
+tracks/30/enabled = true
+tracks/30/keys = {
+"times": PoolRealArray(  ),
+"transitions": PoolRealArray(  ),
+"update": 0,
+"values": [  ]
+}
+tracks/31/type = "value"
+tracks/31/path = NodePath("body/leg2:rotation_degrees")
+tracks/31/interp = 1
+tracks/31/loop_wrap = true
+tracks/31/imported = false
+tracks/31/enabled = true
+tracks/31/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ -32.7601, -60.9497, -48.598 ]
+}
+tracks/32/type = "value"
+tracks/32/path = NodePath("body/leg2:position")
+tracks/32/interp = 1
+tracks/32/loop_wrap = true
+tracks/32/imported = false
+tracks/32/enabled = true
+tracks/32/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ Vector2( 0.0229592, 27.6376 ), Vector2( 2.26466, 27.5196 ), Vector2( 1.33763, 26.725 ) ]
+}
+tracks/33/type = "value"
+tracks/33/path = NodePath("body/leg/feet:scale")
+tracks/33/interp = 1
+tracks/33/loop_wrap = true
+tracks/33/imported = false
+tracks/33/enabled = true
+tracks/33/keys = {
+"times": PoolRealArray(  ),
+"transitions": PoolRealArray(  ),
+"update": 0,
+"values": [  ]
+}
+tracks/34/type = "value"
+tracks/34/path = NodePath("body/leg/feet:rotation_degrees")
+tracks/34/interp = 1
+tracks/34/loop_wrap = true
+tracks/34/imported = false
+tracks/34/enabled = true
+tracks/34/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 44.1703 ]
+}
+tracks/35/type = "value"
+tracks/35/path = NodePath("body/leg/feet:position")
+tracks/35/interp = 1
+tracks/35/loop_wrap = true
+tracks/35/imported = false
+tracks/35/enabled = true
+tracks/35/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -2.1086, 9.42322 ) ]
+}
+tracks/36/type = "value"
+tracks/36/path = NodePath("body/leg:scale")
+tracks/36/interp = 1
+tracks/36/loop_wrap = true
+tracks/36/imported = false
+tracks/36/enabled = true
+tracks/36/keys = {
+"times": PoolRealArray(  ),
+"transitions": PoolRealArray(  ),
+"update": 0,
+"values": [  ]
+}
+tracks/37/type = "value"
+tracks/37/path = NodePath("body/leg:rotation_degrees")
+tracks/37/interp = 1
+tracks/37/loop_wrap = true
+tracks/37/imported = false
+tracks/37/enabled = true
+tracks/37/keys = {
+"times": PoolRealArray( 0, 2 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ 26.2701, 19.466 ]
+}
+tracks/38/type = "value"
+tracks/38/path = NodePath("body/leg:position")
+tracks/38/interp = 1
+tracks/38/loop_wrap = true
+tracks/38/imported = false
+tracks/38/enabled = true
+tracks/38/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ Vector2( -6.20508, 28.6611 ), Vector2( -4.5533, 30.4309 ), Vector2( -5.3479, 28.8417 ) ]
+}
+tracks/39/type = "value"
+tracks/39/path = NodePath("body/belt/skirt:scale")
+tracks/39/interp = 1
+tracks/39/loop_wrap = true
+tracks/39/imported = false
+tracks/39/enabled = true
+tracks/39/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/40/type = "value"
+tracks/40/path = NodePath("body/belt/skirt:rotation_degrees")
+tracks/40/interp = 1
+tracks/40/loop_wrap = true
+tracks/40/imported = false
+tracks/40/enabled = true
+tracks/40/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/41/type = "value"
+tracks/41/path = NodePath("body/belt/skirt:position")
+tracks/41/interp = 1
+tracks/41/loop_wrap = true
+tracks/41/imported = false
+tracks/41/enabled = true
+tracks/41/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -0.439613, 0.0503712 ) ]
+}
+tracks/42/type = "value"
+tracks/42/path = NodePath("body/belt:scale")
+tracks/42/interp = 1
+tracks/42/loop_wrap = true
+tracks/42/imported = false
+tracks/42/enabled = true
+tracks/42/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/43/type = "value"
+tracks/43/path = NodePath("body/belt:rotation_degrees")
+tracks/43/interp = 1
+tracks/43/loop_wrap = true
+tracks/43/imported = false
+tracks/43/enabled = true
+tracks/43/keys = {
+"times": PoolRealArray( 0, 0.25 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ 0.0, -19.0514 ]
+}
+tracks/44/type = "value"
+tracks/44/path = NodePath("body/belt:position")
+tracks/44/interp = 1
+tracks/44/loop_wrap = true
+tracks/44/imported = false
+tracks/44/enabled = true
+tracks/44/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -2.57571, 23.7251 ) ]
+}
+tracks/45/type = "value"
+tracks/45/path = NodePath("body/medal:scale")
+tracks/45/interp = 1
+tracks/45/loop_wrap = true
+tracks/45/imported = false
+tracks/45/enabled = true
+tracks/45/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/46/type = "value"
+tracks/46/path = NodePath("body/medal:rotation_degrees")
+tracks/46/interp = 1
+tracks/46/loop_wrap = true
+tracks/46/imported = false
+tracks/46/enabled = true
+tracks/46/keys = {
+"times": PoolRealArray( 0, 0.35, 0.45 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, -110.29, 0.771723 ]
+}
+tracks/47/type = "value"
+tracks/47/path = NodePath("body/medal:position")
+tracks/47/interp = 1
+tracks/47/loop_wrap = true
+tracks/47/imported = false
+tracks/47/enabled = true
+tracks/47/keys = {
+"times": PoolRealArray( 0, 0.2, 0.35, 0.45 ),
+"transitions": PoolRealArray( 1, 1, 1, 1 ),
+"update": 0,
+"values": [ Vector2( 1.05112, 19.9713 ), Vector2( 2.80497, 15.8322 ), Vector2( 4.24744, 13.2942 ), Vector2( 2.22058, 19.0996 ) ]
+}
+tracks/48/type = "value"
+tracks/48/path = NodePath("body/head:scale")
+tracks/48/interp = 1
+tracks/48/loop_wrap = true
+tracks/48/imported = false
+tracks/48/enabled = true
+tracks/48/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/49/type = "value"
+tracks/49/path = NodePath("body/head:rotation_degrees")
+tracks/49/interp = 1
+tracks/49/loop_wrap = true
+tracks/49/imported = false
+tracks/49/enabled = true
+tracks/49/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, -5.97269, -2.83942 ]
+}
+tracks/50/type = "value"
+tracks/50/path = NodePath("body/head:position")
+tracks/50/interp = 1
+tracks/50/loop_wrap = true
+tracks/50/imported = false
+tracks/50/enabled = true
+tracks/50/keys = {
+"times": PoolRealArray( 0, 2 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ Vector2( -3.23602, 12.4778 ), Vector2( -2.57386, 12.6102 ) ]
+}
+tracks/51/type = "value"
+tracks/51/path = NodePath("body/body2:scale")
+tracks/51/interp = 1
+tracks/51/loop_wrap = true
+tracks/51/imported = false
+tracks/51/enabled = true
+tracks/51/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/52/type = "value"
+tracks/52/path = NodePath("body/body2:rotation_degrees")
+tracks/52/interp = 1
+tracks/52/loop_wrap = true
+tracks/52/imported = false
+tracks/52/enabled = true
+tracks/52/keys = {
+"times": PoolRealArray( 0, 0.25, 2 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, -4.54705, -1.73689 ]
+}
+tracks/53/type = "value"
+tracks/53/path = NodePath("body/body2:position")
+tracks/53/interp = 1
+tracks/53/loop_wrap = true
+tracks/53/imported = false
+tracks/53/enabled = true
+tracks/53/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( -2.75282, 22.6649 ) ]
+}
+tracks/54/type = "value"
+tracks/54/path = NodePath("body:scale")
+tracks/54/interp = 1
+tracks/54/loop_wrap = true
+tracks/54/imported = false
+tracks/54/enabled = true
+tracks/54/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 1, 1 ) ]
+}
+tracks/55/type = "value"
+tracks/55/path = NodePath("body:rotation_degrees")
+tracks/55/interp = 1
+tracks/55/loop_wrap = true
+tracks/55/imported = false
+tracks/55/enabled = true
+tracks/55/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 0.0 ]
+}
+tracks/56/type = "value"
+tracks/56/path = NodePath("body:position")
+tracks/56/interp = 1
+tracks/56/loop_wrap = true
+tracks/56/imported = false
+tracks/56/enabled = true
+tracks/56/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 3.375, -5.5 ) ]
+}
+tracks/57/type = "value"
+tracks/57/path = NodePath("body/medal:z_index")
+tracks/57/interp = 1
+tracks/57/loop_wrap = true
+tracks/57/imported = false
+tracks/57/enabled = true
+tracks/57/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ 3 ]
+}
+tracks/58/type = "value"
+tracks/58/path = NodePath("body/arm2:z_index")
+tracks/58/interp = 1
+tracks/58/loop_wrap = true
+tracks/58/imported = false
+tracks/58/enabled = true
+tracks/58/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ 0 ]
+}
+tracks/59/type = "value"
+tracks/59/path = NodePath("body/gun/handle:position")
+tracks/59/interp = 1
+tracks/59/loop_wrap = true
+tracks/59/imported = false
+tracks/59/enabled = true
+tracks/59/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ Vector2( 0, 0 ) ]
+}
+tracks/60/type = "value"
+tracks/60/path = NodePath("body/head/Sprite3:position")
+tracks/60/interp = 1
+tracks/60/loop_wrap = true
+tracks/60/imported = false
+tracks/60/enabled = true
+tracks/60/keys = {
+"times": PoolRealArray( 0.2, 0.3, 0.35, 0.45 ),
+"transitions": PoolRealArray( 1, 1, 1, 1 ),
+"update": 0,
+"values": [ Vector2( 1, 0 ), Vector2( 1, 0 ), Vector2( 1, 0 ), Vector2( 1, 0 ) ]
+}
+tracks/61/type = "value"
+tracks/61/path = NodePath("body/head/Sprite3:rotation_degrees")
+tracks/61/interp = 1
+tracks/61/loop_wrap = true
+tracks/61/imported = false
+tracks/61/enabled = true
+tracks/61/keys = {
+"times": PoolRealArray( 0.2, 0.35, 0.45, 0.65 ),
+"transitions": PoolRealArray( 1, 1, 1, 1 ),
+"update": 0,
+"values": [ 0.0, -10.396, 9.0, 0.0 ]
+}
+tracks/62/type = "value"
+tracks/62/path = NodePath("body/head/Sprite3:offset")
+tracks/62/interp = 1
+tracks/62/loop_wrap = true
+tracks/62/imported = false
+tracks/62/enabled = true
+tracks/62/keys = {
+"times": PoolRealArray( 0.2, 0.35, 0.45, 0.65 ),
+"transitions": PoolRealArray( 1, 1, 1, 1 ),
+"update": 0,
+"values": [ Vector2( 0, -7 ), Vector2( 1, -9 ), Vector2( -1, -7 ), Vector2( 0, -7 ) ]
+}
+tracks/63/type = "value"
+tracks/63/path = NodePath("body/gun:z_index")
+tracks/63/interp = 1
+tracks/63/loop_wrap = true
+tracks/63/imported = false
+tracks/63/enabled = true
+tracks/63/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ 1 ]
+}
+tracks/64/type = "value"
+tracks/64/path = NodePath("body/head/soldieremotions:visible")
+tracks/64/interp = 1
+tracks/64/loop_wrap = true
+tracks/64/imported = false
+tracks/64/enabled = true
+tracks/64/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ true ]
+}
+tracks/65/type = "value"
+tracks/65/path = NodePath("body/head/Sprite2:visible")
+tracks/65/interp = 1
+tracks/65/loop_wrap = true
+tracks/65/imported = false
+tracks/65/enabled = true
+tracks/65/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ false ]
+}
+tracks/66/type = "value"
+tracks/66/path = NodePath("body/esclamation:visible")
+tracks/66/interp = 1
+tracks/66/loop_wrap = true
+tracks/66/imported = false
+tracks/66/enabled = true
+tracks/66/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ false ]
+}
+tracks/67/type = "value"
+tracks/67/path = NodePath("body/z:visible")
+tracks/67/interp = 1
+tracks/67/loop_wrap = true
+tracks/67/imported = false
+tracks/67/enabled = true
+tracks/67/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ false ]
+}
+tracks/68/type = "value"
+tracks/68/path = NodePath("body/head/Sprite2:frame")
+tracks/68/interp = 1
+tracks/68/loop_wrap = true
+tracks/68/imported = false
+tracks/68/enabled = true
+tracks/68/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ 4 ]
+}
+tracks/69/type = "value"
+tracks/69/path = NodePath("body/head/Sprite3:frame")
+tracks/69/interp = 1
+tracks/69/loop_wrap = true
+tracks/69/imported = false
+tracks/69/enabled = true
+tracks/69/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ 4 ]
+}
+tracks/70/type = "value"
+tracks/70/path = NodePath("body/gun/handle/Sprite:frame")
+tracks/70/interp = 1
+tracks/70/loop_wrap = true
+tracks/70/imported = false
+tracks/70/enabled = true
+tracks/70/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ 0 ]
+}
+tracks/71/type = "value"
+tracks/71/path = NodePath("body/head/soldieremotions:frame")
+tracks/71/interp = 1
+tracks/71/loop_wrap = true
+tracks/71/imported = false
+tracks/71/enabled = true
+tracks/71/keys = {
+"times": PoolRealArray( 0, 0.25 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 1,
+"values": [ 2, 0 ]
+}

+ 2 - 2
loginnetcode.gd

@@ -68,8 +68,8 @@ func _ask_server_for_server_list():
 	print('asking for a server list refresh')
 	rpc_id(1,"server_list_request")
 
-func chang_password(username, password_old, password_new, salt):
-	rpc_id(1,"chang_password", username, password_old, password_new, salt)
+func chang_password(username, password_old, password_new, salt, username_new, email_new):
+	rpc_id(1,"chang_password", username, password_old, password_new, salt, username_new, email_new)
 
 remote func _On_Server_list(arg):
 	get_parent().get_node("BrowserListClient")._on_dict_arrived(arg)

+ 44 - 10
main.tscn

@@ -224,7 +224,7 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin4"]
 modulate = Color( 1, 0, 0.984314, 1 )
 frames = SubResource( 5 )
-frame = 3
+frame = 1
 speed_scale = 0.9
 playing = true
 offset = Vector2( 32, 32 )
@@ -478,9 +478,9 @@ margin_right = 7.0
 alignment = 1
 
 [node name="HBoxContainer" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
-margin_top = 142.0
+margin_top = 126.0
 margin_right = 287.0
-margin_bottom = 154.0
+margin_bottom = 138.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer"]
@@ -495,9 +495,9 @@ expand_to_text_length = true
 placeholder_text = "username"
 
 [node name="HBoxContainer2" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
-margin_top = 158.0
+margin_top = 142.0
 margin_right = 287.0
-margin_bottom = 170.0
+margin_bottom = 154.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer2"]
@@ -512,9 +512,9 @@ expand_to_text_length = true
 placeholder_text = "old password"
 
 [node name="HBoxContainer4" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
-margin_top = 174.0
+margin_top = 158.0
 margin_right = 287.0
-margin_bottom = 186.0
+margin_bottom = 170.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer4"]
@@ -528,12 +528,46 @@ align = 1
 expand_to_text_length = true
 placeholder_text = "new password"
 
-[node name="HBoxContainer3" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+[node name="HBoxContainer5" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 174.0
+margin_right = 287.0
+margin_bottom = 186.0
+alignment = 1
+
+[node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer5"]
+margin_right = 287.0
+margin_bottom = 12.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+custom_fonts/font = ExtResource( 20 )
+custom_styles/normal = SubResource( 15 )
+align = 1
+expand_to_text_length = true
+placeholder_text = "new username"
+
+[node name="HBoxContainer6" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
 margin_top = 190.0
 margin_right = 287.0
 margin_bottom = 202.0
 alignment = 1
 
+[node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer6"]
+margin_right = 287.0
+margin_bottom = 12.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+custom_fonts/font = ExtResource( 20 )
+custom_styles/normal = SubResource( 15 )
+align = 1
+expand_to_text_length = true
+placeholder_text = "new email"
+
+[node name="HBoxContainer3" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 206.0
+margin_right = 287.0
+margin_bottom = 218.0
+alignment = 1
+
 [node name="login2" type="Button" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer3"]
 margin_left = 70.0
 margin_right = 102.0
@@ -577,9 +611,9 @@ custom_styles/normal = SubResource( 15 )
 text = "back"
 
 [node name="Label2" type="Label" parent="LoginUI/changepassword/VBoxContainer"]
-margin_top = 206.0
+margin_top = 222.0
 margin_right = 287.0
-margin_bottom = 218.0
+margin_bottom = 234.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/normal = SubResource( 15 )
 text = "status"