Skip to content

Hibaelharitasi utmutato

Fooldal | Hibaelharitasi utmutato


Ha valami rosszul sul el, kezdd itt. Ez az utmutato a lathato tunet szerint van szervezve, nem rendszer szerint. Talald meg a problemat, olvasd el az okot, alkalmazd a javitast.


Tartalomjegyzek

  1. A mod nem toltodik be
  2. Script hibak
  3. RPC es halozati problemak
  4. UI problemak
  5. Epitesi es PBO problemak
  6. Teljesitmeny problemak
  7. Targy, jarmu es entitas problemak
  8. Konfiguracios es tipusproblémak
  9. Perzisztencia problemak
  10. Dontesi folyamatabrak
  11. Debug parancsok gyors referencziaja
  12. Log fajlok helye
  13. Hol kaphatsz segitseget

1. A mod nem toltodik be

TunetOkJavitas
"Addon requires addon X" hiba indulasakorHianyzo vagy helytelen requiredAddons[] bejegyzesAdd hozza a fuggoseg pontos CfgPatches osztalynevet a requiredAddons[]-hoz. A nevek kis-/nagybetu erzekynyek. Lasd 2.2 Fejezet.
A mod nem lathato a launcherbenA mod.cpp fajl hianzik vagy szintaktikai hibasHozz letre vagy javitsd a mod.cpp-t a mod gyokereben. A name, author es dir mezoket kell tartalmaznia.
"Config parse error" indulasakorSzintaktikai hiba a config.cpp-benEllenorizd a hianyzo pontosvesszokat az osztalyzarasok utan (};), a le nem zart zarojeleket.
Semmilyen bejegyzes a script logbanA CfgMods defs blokk rossz utvonalra mutatEllenorizd, hogy a config.cpp CfgMods bejegyzese helyes dir-rel rendelkezik. A motor csendben figyelmen kivul hagyja a rossz utvonalakat.
A mod betoltodik, de semmi sem tortenikA scriptek lefordulnak, de soha nem futnak leEllenorizd, hogy a modod rendelkezik belepesi ponttal: modded class MissionServer vagy MissionGameplay. Lasd 7.2 Fejezet.
A mod csak egyjarekos modban mukodikA szerver nem rendelkezik a telepitett moddalGyozodj meg rola, hogy a szerver -mod= parametere tartalmazza a mod utvonalat.

2. Script hibak

TunetOkJavitas
Null pointer accessnull valtozho elereeseAdj hozza null ellenorzest haszanalat elott: if (myVar) { myVar.DoSomething(); }. Ez a leggyakoribb futasideiú hiba.
Cannot convert type 'X' to type 'Y'Kozvetlen tipuskenyszerites osszeegyeztethetetlen tipusok kozottHasznald a Class.CastTo()-t biztoonsagos lefelé kenyszeriteshez. Lasd 1.9 Fejezet.
Undefined variable 'X'Eliras, rossz hatokur vagy rossz retegEllenorizd a helyesirast. Ha a valtozo mas fajlbol szarmazo osztaly, gyozodj meg rola, hogy ugyanabban vagy alacsonyabb retegben van definalva. Lasd 2.1 Fejezet.
Method 'X' not foundNem letezo metodus hivasa az adott osztalyonEllenorizd a metodus nevet es a szulo osztalyt. Ellenorizd a vanilla scripteket a P:\DZ\scripts\-ben.
Division by zeroOsztas nulla erteku valtozoovalAdj hozza guardot: if (divisor != 0) result = value / divisor;.
Redeclaration of variable 'X'Ugyanaz a valtozonev deklaralva testver else if blokkokbanDeklarald a valtozot egyszer az if/else lanc elott. Lasd 1.12 Fejezet.
Stack overflowVegtelen rekurzioA metodus megfelelo kilepes nelkul hivja onmagat. Adj hozza melyseg ellenorzest.
Index out of rangeTomb eleres ervenytelen indexszelMindig ellenorizd az array.Count()-ot index alapu eleres elott.
JsonFileLoader null adatot ad visszaA JsonLoadFile() visszateresi ertekenek hozzarendeleseA JsonLoadFile() void-ot ad vissza. Elore allokald az objektumot es add at referencciakent. Lasd 6.8 Fejezet.

3. RPC es halozati problemak

TunetOkJavitas
RPC elkuldve, de soha nem fogadvaRegisztracios elteresKuldo es fogado egyarant regisztralnia kell ugyanazt az RPC ID-t. Lasd 6.9 Fejezet.
RPC fogadva, de az adatok serultekOlvasasi/irasi parameter elteresA kuldo Write() es a fogado Read() hivasainak ugyanazokat a tipusokat kell tartalmazniuk ugyanabban a sorrendben.
Adatok nem szinkronizalodnak a kliensekreHianyzo SetSynchDirty()Szinkronizaciora regisztralt valtozo modositasa utan hivd meg a SetSynchDirty()-t az entitason.
Egyjarekos/listen szerveren mukodik, dedikalton nemKulonbozo kodutvolnalak listen vs. dedikalt esetenListen szerveren a kliens es szerver egy folyamatban fut. Mindig tesztelj dedikalt szerveren.
RPC elontezs es szerver lagRPC-k kuldese minden klatkanKorlatotd az RPC hivasokat idzitokkal. Csoportositsd a kis frissiteseket.

4. UI problemak

TunetOkJavitas
Layout betoltodik, de semmi nem lathatoA widget merete nullaEllenorizd a hexactsize es vexactsize ertekeket. Nincs negativ meret. Lasd 3.3 Fejezet.
CreateWidgets() null-t ad visszaA layout fajl utvonala helytelen vagy a fajl hianzikEllenorizd a .layout fajl utvonalat. A motor csendben null-t ad vissza rossz utvonalaknal.
Widgetek leteznek, de nem kattinthatoakMasik widget takarja a gombotEllenorizd a widget priority-jat (z-sorrend).
Jatek bevitel beragadt a UI bezarasa utanA ChangeGameFocus() hivasok nincsenek egyensulybanMinden ChangeGameFocus(1)-nek megfelelo ChangeGameFocus(-1) kell.
Szoveg #STR_some_key formaaban jelenik megHianyzo stringtable bejegyzesAdd hozza a kulcsot a stringtable.csv-hez.

5. Epitesi es PBO problemak

TunetOkJavitas
PBO sikeresen epitkezik, de a mod osszeomlik betolteskorconfig.cpp binarizalasi hibaProbald meg binarizalas nelkul epiteni.
"Signature check failed" szerver csatlakozaskorA PBO alairas nelkuli vagy rossz kulccsal alairvaIrd ala ujra a PBO-t a privat kulcsoddal. Gyozodj meg rola, hogy a szerver rendelkezik a megfelelo .bikey-vel.
File patching valtozasai nem ervenytsulekNem a diagnosztikai futtathato fajlt hasznalodA file patching csak a DayZDiag_x64.exe-vel mukodik.

6. Teljesitmeny problemak

TunetOkJavitas
Alacsony szerver FPS (20 alatt)Nehez feldolgozas az OnUpdate()-banHasznalj delta-ido akkumulatort. Hajtsd vegre a logikaat N masodpercenkent. Lasd 7.7 Fejezet.
A memoria idoben no (memoriaiszivaargas)ref referencia ciklusokHa ket objektum ref-et tart egymasra, egyik sem szabadul fel. Az egyik oldalt tedd nyers (nem-ref) referencia. Lasd 1.8 Fejezet.
A log fajl nagyon gyorsan noTulzott Print()Tavolotsd el vagy guard-old a debug Print()-eket #ifdef DEVELOPER moge.

7. Targy, jarmu es entitas problemak

TunetOkJavitas
A targy nem jelenik meg (admin eszkozok "cannot create")scope=0 a konfigban vagy hianzik a types.xml-bolAllitsd scope=2-re. Adj hozza bejegyzest a szerver types.xml-jehez.
A targy megjelenik, de lathatatlanA modell utvonala (.p3d) helytelenEllenorizd a model utvonalat a CfgVehicles osztalyodban.
A targy nem veheto felHelytelen geometria vagy rossz inventorySlotEllenorizd a Fire Geometry-t a modellben. Ellenorizd az itemSize[]-t.

8. Konfiguracios es tipusproblémak

TunetOkJavitas
A konfiguracios ertekek nem ervenytsulekA binarizalt konfig hasznalata kozben a forras szerkeszteseEpitsd ujra a PBO-t a konfiguracio modositasa utan.
A types.xml valtozasok figyelmen kivul maradnakRossz types.xml fajl szerkeszteseA szerver a mpmissions/a_misszio/db/types.xml-bol tolti a tipusokat.
JSON konfiguracios fajl nem toltodik beHibas JSON vagy rossz utvonalValidald a JSON szintaxist. Hasznald a $profile: prefikszet.

9. Perzisztencia problemak

TunetOkJavitas
Jatekos adatai elvesznek ujrainditaskorNem a $profile: konyvtarba mentHasznald a JsonFileLoader<T>.JsonSaveFile()-t $profile: utvonallal.
A mentett fajl ures vagy serultOsszeomlas iras kozbenIrj eloszor ideiglenes fajlba, majd nevezd at a vegleges utvonalra.

10. Dontesi folyamatabrak

"A modom egyaltalan nem mukodik"

  1. Ellenorizd a script logot SCRIPT (E) hibakert. Javitsd az elso hibat. (2. szekció)
  2. A mod megjelenik a launcherben? Ha nem, ellenorizd a mod.cpp-t. (1. szekció)
  3. A log emliti a CfgPatches osztalyodat? Ha nem, ellenorizd a config.cpp szintaxist es a -mod= parametert.
  4. A scriptek lefordulnak? Keresd a forditas hibakat az RPT-ben. (2. szekció)
  5. Van belepesi pont? Szukseged van modded class MissionServer/MissionGameplay-re.
  6. Meg semmi? Adj hozza Print("MY_MOD: Init reached");-et a belepesi pontodhoz.

11. Debug parancsok gyors referencziaja

MuveletParancs
Targy spawnolasa a foldonGetGame().CreateObject("AKM", GetGame().GetPlayer().GetPosition());
Teleportals koordinatakraGetGame().GetPlayer().SetPosition("6543 0 2114".ToVector());
Teljes gyogyitasGetGame().GetPlayer().SetHealth("", "", 5000);
Del beallitasaGetGame().GetWorld().SetDate(2024, 9, 15, 12, 0);
Ejszaka beallitasaGetGame().GetWorld().SetDate(2024, 9, 15, 2, 0);
Tiszta idojarasGetGame().GetWeather().GetOvercast().Set(0,0,0); GetGame().GetWeather().GetRain().Set(0,0,0);
Pozicio kiirasaPrint(GetGame().GetPlayer().GetPosition());

Gyakori Chernarus helyszinek: Elektro "10570 0 2354", Cherno "6649 0 2594", NWAF "4494 0 10365", Tisy "1693 0 13575", Berezino "12121 0 9216"


12. Log fajlok helye

Kliens logok

LogHelyTartalom
Script log%localappdata%\DayZ\ (legujabb .RPT fajl)Script hibak, figyelmeztetesek, Print() kimenet

Szerver logok

LogHelyTartalom
Script log<szerver_gyoker>\profiles\ (legujabb .RPT fajl)Script hibak, szerver oldali Print()
Admin log<szerver_gyoker>\profiles\ (.ADM fajl)Jatekos csatlakozsok, olesek, chat

13. Hol kaphatsz segitseget

Kozossegi forrasok

ForrasURLLegjobb ehhez
DayZ Modding Discorddiscord.gg/dayzmodsValos ideju segitseg
Bohemia Interactive Forumforums.bohemia.net/forums/forum/231-dayz-modding/Hivatalos forumok
DayZ WorkshopSteam Workshop (DayZ)Publikalt modok bonogesese

Referenccia forraskod

ModMit tanulhatsz
Community Framework (CF)Modul eletciklus, RPC kezeles, loggolas
DayZ ExpansionNagyleputeku mod architektura, piaci rendszer
Community Online Tools (COT)Admin eszkozok, jogosultsagok, UI mintak
Dabs FrameworkMVC minta, adat kottes, UI komponens keretrendszer

A problema meg mindig megoldatlan? Ellenorizd a FAQ-ot, a Cheat Sheet-et, vagy kerdezz a DayZ Modding Discordon.

Released under CC BY-SA 4.0 | Code examples under MIT License