Skocz do zawartości

Featured Replies

Opublikowano

Jak sprawnie przeprowadzić synchronizacje mov speeda mobków client-server

Wgrałem sobie paczke potworów ale niektóre z nich wizualnie w cliencie do mnie dobiegają ale nie dostają obrażeń jeszcze przez chwile.

Jak to prawidłowo poprawić aby te szybkosci client-server byly 1:1

Opublikowano

Do folderu data na serverze wrzuć folder z mobem z plikami .msa .msa motlist.txt itd potem w mob_proto dodaj nazwe folderu z data

Tu masz mały skrypt ode mnie żeby to zautomatyzować.

Wymagania:

  1. Najnowszy python windows: https://www.python.org/downloads/

  2. Biblioteka tqdm - w cmd - pip install tqdm

  3. W SEARCH_PATH - ustawiasz swoją scieżkę skryptu.

  4. Wrzucasz skrypt na pulpit w folder

  5. W SEARCH_PATH - ustawiasz swoją scieżkę do wypakowanego folderu pack w cliencie.

  6. Uruchamiasz CMD przechodzisz do scieżki folderu w którym jest skrypt wpisujesz python skrypt.py

Skrypt:

import os
import shutil
import zipfile
from tqdm import tqdm # wymaga: pip install tqdm

SEARCH_PATH = r"C:\Users\sasor\Desktop\client\data\source"

SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
DEST_DIR = os.path.join(SCRIPT_DIR, "data_server")
LOG_FILE = os.path.join(SCRIPT_DIR, "log.txt")

TARGET_EXTENSIONS = ['.msa', '.msm']
TARGET_FILENAMES = ['motlist.txt']

def should_copy(file_name):
return (
os.path.splitext(file_name)[1].lower() in TARGET_EXTENSIONS
or file_name.lower() in TARGET_FILENAMES
)

def zip_folder(folder_path, output_path):
with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
for root, _, files in os.walk(folder_path):
for file in files:
full_path = os.path.join(root, file)
rel_path = os.path.relpath(full_path, folder_path)
zipf.write(full_path, rel_path)

def main():
print(f" Przeszukuję: {SEARCH_PATH}")
print(f" Folder docelowy: {DEST_DIR}")

if os.path.exists(DEST_DIR):
print(" Czyszczę istniejący folder data_server...")
shutil.rmtree(DEST_DIR)
os.makedirs(DEST_DIR)

all_files = [
os.path.join(root, file)
for root, _, files in os.walk(SEARCH_PATH)
for file in files
if should_copy(file)
]

print(f" Znaleziono {len(all_files)} plików do skopiowania.")

with open(LOG_FILE, "w", encoding="utf-8") as log:
for source_path in tqdm(all_files, desc=" Kopiowanie"):
if os.path.getsize(source_path) == 0:
continue 

relative_path = os.path.relpath(source_path, SEARCH_PATH)
dest_path = os.path.join(DEST_DIR, relative_path)

os.makedirs(os.path.dirname(dest_path), exist_ok=True)
shutil.copy2(source_path, dest_path)

log.write(f"Skopiowano: {relative_path}\n")

print(" Pakowanie do ZIP...")
zip_folder(DEST_DIR, os.path.join(SCRIPT_DIR, "data_server.zip"))
print(" Zakończono! Spakowano do data_server.zip")

if __name__ == "__main__":
main()

Skrypt nie jest doskonały bo wyszukuje on wszystkie możliwe pliki .msa .msm motlist.txt i tworzy w folderze ze skrypem foldery z tymi plikami z twojego clienta.

Po prostu jak ci wszystko przekopiuje to możesz sobie wybrać które potrzebujesz.

Lub w załączniku gotowiec z .batem do odpalenia

generator data_server.rar

Edytowane przez Sasori

Opublikowano
  • Autor

mam dodane w cliencie i na serwerze ale to nic nie daje. nadal nie dostają dmg przez 2-3 sec jak już są obok. Może coś z movspeed w mob proto trzeba czarowac?

Opublikowano
  • Autor
6 godzin temu, Sasori napisał(a):

a nazwe folderu w mob_proto masz?

Dobra teraz sie skapłem ze mi sie coś całkiem pokielbasiło i na każdej mapie to występuje, jakieś rady co dojebalem xD?

Edytowane przez biololo

Opublikowano
  • Autor

Wgrałem paczke od plechito z dungeonem i mobkami.

Od tego momentu wszystkie potwory są zlagowane.

Przykładowo rzucam peleryne, kilka potworów podbiega wizualnie normalnie , a kilka zostaje na swoim miejscu a po 2-3 sekundach jak dobiegają ( niewidocznie) to dostaje dmg (wizualnie dalej stoją tam gdzie stoją)

W momencie jak mnie zabiją to pokazują sie w prawidłowych miejscach,

Edytowane przez biololo

Opublikowano
  • Autor

dobra, poprostu wypierdolilem za przeproszeniem wszystko co dodalem z tej paczki i wszystko gra i buczy.. widocznie te pliki msa tam są pobugowane.

  • Sevence zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.