xolatgames

joined 1 year ago
[–] xolatgames@programming.dev 0 points 6 months ago (1 children)

Now the game awaits pending, but then shows "CONNECTION_TIMEOUT".

 

Hi, folks! ✌️ How are you? 👋

I'm working on the game that uses WebSocketPeer for multiplaying.

And when I runs the game, WebSocketPeer works as well. Also when I exports the game for Desktop platforms, then launches this, WebSocketPeer works also.

The problems happens when I exports the game for WebGL:

  1. I export the game for WebGL, compress this to a zip archive, then send this archive to the VPS server.

  2. Connect to this VPS server and unzip archive.

From a browser the game works very well, except connection through WebSocketPeer.

For running this game on a browser, I'm using NGINX as a HTTP server.

This game connect to the game server (that developed separately), that also located on the same machine, and also uses WebSocketPeer.

I have try to point the IP address of the VPS server in the configs of the game, and it doesn't works. Also doesn't works to point "127.0.0.1" in the configs of this game.

Folks, where's the problem may be? And what do I do wrong now? 😟

Thanks in advance.

[–] xolatgames@programming.dev 0 points 10 months ago

I think that doesn't respectful to stay in this community for myself. Have a nice day! ✌🏼

[–] xolatgames@programming.dev 0 points 10 months ago* (last edited 10 months ago)

Let's solve the first part then.

But I guess that @herzenschein already suggested me a solution...

You could take inspiration from Theodore Tso’s pwgen: https://github.com/tytso/pwgen

[–] xolatgames@programming.dev 0 points 10 months ago (2 children)

Asking to do a homework.

 

Hi! ✌️ I need to generate some string in C++ with random characters that can use all letters from "a" to "z" (include capital letters), and all numbers from 0 to 9 there.

And for examples this should looks somehow like this:

SnHXAsOC5XDYLgiKM5ly

Also I want to encrypt that string then by itself:

SnHXAsOC5XDYLgiKM5ly encrypt with SnHXAsOC5XDYLgiKM5ly key.

So, how can I do this in C++? 🤔

Thanks in advance!

[–] xolatgames@programming.dev 0 points 1 year ago (1 children)

Thanks a lots, folks! 😄 Everything works fine now 👍🏼

Image

What I have to do:

  1. Made don't only materials, but also meshes as unique:
var new_model = model.front.duplicate(true)
var new_ship: Node3D = new_model.instantiate()
new_ship.position = front_model_pos
_model_parent.add_child(new_ship)
_make_ship_materials_unique(new_ship)
  1. Change mesh.surface_set_material to mesh.set_surface_override_material:
func _make_ship_materials_unique(new_ship: Node3D) -> void:
	for i in new_ship.get_children(true):
		if i is MeshInstance3D:
			for n in range(i.get_surface_override_material_count()):
				i.set_surface_override_material(n, i.mesh.surface_get_material(n).duplicate(true))
func damaged_spec_effect() -> void:
	for i in ship.get_children(true):
		if i is MeshInstance3D:
			for n in range(i.get_surface_override_material_count()):
				_create_fade_in_then_out_effect(i.get_surface_override_material(n), Color.RED)

And everything started works as well. Thanks again 🤝🏼

[–] xolatgames@programming.dev 0 points 1 year ago (3 children)

Thanks a lot to everyone! I'll try it 😄

 

Some objects sticks with each other when those use CharacterBody2D, and moves like those are sticking together.

So, what do I need to do to solve this issue?

1
submitted 1 year ago* (last edited 1 year ago) by xolatgames@programming.dev to c/godot@programming.dev
 

Hi, folks! So, I have the problem with making materials as unique.

Image

I need effects, such as painting of ships in red color, will applies only where particles will spawns. But... As you can see those effects can applies also into other ships.

I've already set these materials as "Local to Scene" into inspector tab.

And have create script for making those materials as unique:

func _make_ship_materials_unique() -> void:
	for i in ship.get_children():
		if i is MeshInstance3D:
			for n in range(i.get_surface_override_material_count()):
				i.mesh.surface_set_material(n, i.mesh.surface_get_material(n).duplicate(true))

But it given me few results 😕

If it can help, here's the script of applying of ships painting:

func damaged_spec_effect() -> void:
	for i in ship.get_children():
		if i is MeshInstance3D:
			for n in range(i.get_surface_override_material_count()):
				_create_fade_in_then_out_effect(i.mesh.surface_get_material(n), Color.RED)
func _create_fade_in_then_out_effect(material: Material, final_color: Color) -> void:
	if material is StandardMaterial3D:
		material.albedo_color = Color.WHITE
		var tween = get_tree().create_tween()
		tween.tween_property(material, "albedo_color", final_color, EFFECTS_DURATION / 2)
		tween.tween_property(material, "albedo_color", Color.WHITE, EFFECTS_DURATION / 2)

So, what do I need to do for solving my problem? 🤔