Der Betreiber setzte in FiveM `inventory:imagepath` auf das Portal, und die
meisten Item-Icons blieben leer. Gemessen:
WEAPON_COMBATPISTOL.png -> 404
weapon_combatpistol.png -> 200
ox_inventory fragt Item-Bilder unter dem EXAKTEN Item-Namen ab; seine Waffen
heissen WEAPON_*. Der Dienst laeuft auf Linux, dort ist die Schreibweise ein
Unterschied. Zur Gegenprobe die mitgelieferten Bilder von ox_inventory selbst:
113 von 198 sind grossgeschrieben.
Die Ursache lag hier: `zaehmen()` machte beim Hochladen per Fenster jeden
Namen klein -- "vorhersagbar". Fuer die ZEICHEN war das richtig (Leerzeichen,
Klammern, Umlaute haben in einer Adresse nichts verloren), fuer die
SCHREIBWEISE war es nie noetig: checkPath erlaubt [A-Za-z0-9] seit jeher, und
in einer URL ist ein Grossbuchstabe kein Problem.
Also bleibt die Schreibweise jetzt stehen. Umlaute werden weiter ersetzt, nun
in beiden Formen -- sonst wuerde aus "Gruen.png" ein "gr-n.png", dieselbe
stille Verstuemmelung eine Ebene tiefer. Die ENDUNG bleibt klein: daran haengt
nur der Dateityp, und ".PNG" waere eine Adresse, die niemand so tippt.
Dazu 109 vorhandene Bilder umbenannt (ueber moveFile, damit Vorschau und WebP
mitwandern; jede Umbenennung steht im Ereignisprotokoll). Vorher: 0 Kollisionen
im Trockenlauf. Nachher gemessen: WEAPON_COMBATPISTOL 200, und 156 von 226
Items haben ein exakt passendes Bild statt 47.
EIGENER FEHLER, DER DAS VERZOEGERT HAT: mein erster Abgleich verglich beide
Seiten kleingeschrieben und hat damit genau den Unterschied wegnormalisiert,
auf den es ankam -- ich meldete 56 leere Felder statt 174. Eine Pruefung, die
das Falsche misst, ist schlimmer als keine.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
63 lines
1.2 KiB
Plaintext
63 lines
1.2 KiB
Plaintext
# Items ohne Bild -- gemessen am 22.08.2026
|
|
# Abgleich: 226 Item-Namen aus den FiveM-Resourcen gegen 3685 Bilder in media/items
|
|
|
|
## Name passt zu keiner Datei (49)
|
|
at_compensator
|
|
at_scope_macro
|
|
at_skin_ballas
|
|
at_skin_blagueurs
|
|
at_skin_bodyguard
|
|
at_skin_boom
|
|
at_skin_brushstroke
|
|
at_skin_bulletholes
|
|
at_skin_burgershot
|
|
at_skin_camo
|
|
at_skin_cluckinbell
|
|
at_skin_diamond
|
|
at_skin_dollar
|
|
at_skin_fatalincursion
|
|
at_skin_festive
|
|
at_skin_geometric
|
|
at_skin_hate
|
|
at_skin_king
|
|
at_skin_leopard
|
|
at_skin_love
|
|
at_skin_luchalibre
|
|
at_skin_luxe
|
|
at_skin_metal
|
|
at_skin_patriotic
|
|
at_skin_pearl
|
|
at_skin_perseus
|
|
at_skin_pimp
|
|
at_skin_player
|
|
at_skin_security
|
|
at_skin_sessanta
|
|
at_skin_skull
|
|
at_skin_splatter
|
|
at_skin_tiedye
|
|
at_skin_trippy
|
|
at_skin_vagos
|
|
at_skin_vip
|
|
at_skin_wall
|
|
at_skin_wood
|
|
at_skin_woodland
|
|
at_skin_zebra
|
|
clothing
|
|
compact_camera
|
|
photo
|
|
photo_camera
|
|
weapon_battlerifle
|
|
weapon_paintball2
|
|
weapon_snowlauncher
|
|
weapon_tacticalrifle
|
|
weapon_teargas
|
|
|
|
## client.image zeigt auf eine Datei, die es nicht gibt (7)
|
|
hospital_ticket -> hospital_ticket.png
|
|
phone_blue -> phone_blue.png
|
|
phone_gold -> phone_gold.png
|
|
phone_lilac -> phone_lilac.png
|
|
phone_red -> phone_red.png
|
|
phone_sim -> phone_sim.png
|
|
phone_white -> phone_white.png
|