If-Abfragen vereinfachen
Verfasst: 02.11.2008 17:13
Hi!
Ich gehe mal daveon aus, dass wenige wissen, was VMT ist, daher führe ich euch mal ein:
Ich programmiere für die Source-Mappercommunity auf www.mapping-tutorials.de (bissi Werbung:D) ein Programm, mit dem man VMT komfortabel und einfach machen kann (sozusagen ein "Baukasten"). VMTs sind kleine Files, die der Map-Compiler braucht. In den VMTs steht der Pfad der Textur und vieles mehr. Unter anderem steht auch die Materialeigenschfat, wie z.B. Metall oder Holzkiste drin. (In meinem Programm einfach eine Listview, wo man eine der unten gezeigten auswählen kann, danach schreibt das Programm die Eigenschaft n die VMT-Datei)
Nun zum Problem: das sind ganze 82 Einträge, und ich will keinen If- oder Case/Select-Wirbel mit 82 Abfragen haben
Geht das einfacher?
An Arrays hab ich schon gedacht, nur Wenn man für jedes s.g. "Surfaceprop" eine Variable macht, hat man ja einen schönen Klopfer.
Ach ja, hier ist mal die Liste:
Hinzu kommt, dass die Einträge nicht Code-intern sind, sondern in einer Includefile im selben Verzeichnis liegen (damit mein Code noch übersichtlich und nicht so lange ist). Wenn ich die Datei importere, stehen die Einträge aber nicht in der oben gezeigten Reihenfolge, obwohl die Zahl (2. Prarameter) doch absteigend geordnet sind.
MfG, Mok
P.S.: Ja, ich hab nochimmer v3.94, da aucf meinem PC v4.x nicht ganz einwandfrei funzt.
Ich gehe mal daveon aus, dass wenige wissen, was VMT ist, daher führe ich euch mal ein:
Ich programmiere für die Source-Mappercommunity auf www.mapping-tutorials.de (bissi Werbung:D) ein Programm, mit dem man VMT komfortabel und einfach machen kann (sozusagen ein "Baukasten"). VMTs sind kleine Files, die der Map-Compiler braucht. In den VMTs steht der Pfad der Textur und vieles mehr. Unter anderem steht auch die Materialeigenschfat, wie z.B. Metall oder Holzkiste drin. (In meinem Programm einfach eine Listview, wo man eine der unten gezeigten auswählen kann, danach schreibt das Programm die Eigenschaft n die VMT-Datei)
Nun zum Problem: das sind ganze 82 Einträge, und ich will keinen If- oder Case/Select-Wirbel mit 82 Abfragen haben

Geht das einfacher?
An Arrays hab ich schon gedacht, nur Wenn man für jedes s.g. "Surfaceprop" eine Variable macht, hat man ja einen schönen Klopfer.
Ach ja, hier ist mal die Liste:
Code: Alles auswählen
; surfaceprops library
;
AddGadgetItem(#Listview_0,0,"<Kein surfaceprop>")
AddGadgetItem(#Listview_0,1, "SurfaceProp.baserock")
AddGadgetItem(#Listview_0,2, "SurfaceProp.boulder")
AddGadgetItem(#Listview_0,3, "SurfaceProp.brick")
AddGadgetItem(#Listview_0,4, "SurfaceProp.concrete")
AddGadgetItem(#Listview_0,5, "SurfaceProp.concreteblock")
AddGadgetItem(#Listview_0,6, "SurfaceProp.gravel")
AddGadgetItem(#Listview_0,7, "SurfaceProp.rock")
AddGadgetItem(#Listview_0,8, "SurfaceProp.slime")
AddGadgetItem(#Listview_0,9, "SurfaceProp.water")
AddGadgetItem(#Listview_0,10,"SurfaceProp.wade")
AddGadgetItem(#Listview_0,11,"SurfaceProp.canister")
AddGadgetItem(#Listview_0,12,"SurfaceProp.chain")
AddGadgetItem(#Listview_0,13,"SurfaceProp.chainlink")
AddGadgetItem(#Listview_0,14,"SurfaceProp.combine_metal")
AddGadgetItem(#Listview_0,15,"SurfaceProp.crowbar")
AddGadgetItem(#Listview_0,16,"SurfaceProp.floating_metal_barrel")
AddGadgetItem(#Listview_0,17,"SurfaceProp.grenade")
AddGadgetItem(#Listview_0,18,"SurfaceProp.gunship")
AddGadgetItem(#Listview_0,19,"SurfaceProp.metal")
AddGadgetItem(#Listview_0,20,"SurfaceProp.metal_barrel")
AddGadgetItem(#Listview_0,21,"SurfaceProp.metal_bouncy")
AddGadgetItem(#Listview_0,22,"SurfaceProp.metal_box")
AddGadgetItem(#Listview_0,23,"SurfaceProp.metal_barrel")
AddGadgetItem(#Listview_0,24,"SurfaceProp.metal_seafloorcar")
AddGadgetItem(#Listview_0,25,"SurfaceProp.metalgrate")
AddGadgetItem(#Listview_0,26,"SurfaceProp.metalpanel")
AddGadgetItem(#Listview_0,27,"SurfaceProp.metalvent")
AddGadgetItem(#Listview_0,28,"SurfaceProp.metalvehicle")
AddGadgetItem(#Listview_0,29,"SurfaceProp.paintcan")
AddGadgetItem(#Listview_0,30,"SurfaceProp.popcan")
AddGadgetItem(#Listview_0,31,"SurfaceProp.slipperymetal")
AddGadgetItem(#Listview_0,32,"SurfaceProp.solidmetal")
AddGadgetItem(#Listview_0,33,"SurfaceProp.strider")
AddGadgetItem(#Listview_0,34,"SurfaceProp.weapon")
AddGadgetItem(#Listview_0,35,"SurfaceProp.brakingrubbertire ")
AddGadgetItem(#Listview_0,36,"SurfaceProp.cardboard")
AddGadgetItem(#Listview_0,37,"SurfaceProp.carpet")
AddGadgetItem(#Listview_0,38,"SurfaceProp.ceiling_tile")
AddGadgetItem(#Listview_0,39,"SurfaceProp.combine_glass")
AddGadgetItem(#Listview_0,40,"SurfaceProp.computer")
AddGadgetItem(#Listview_0,41,"SurfaceProp.default")
AddGadgetItem(#Listview_0,42,"SurfaceProp.default_silent")
AddGadgetItem(#Listview_0,43,"SurfaceProp.floatingstandable")
AddGadgetItem(#Listview_0,44,"SurfaceProp.glass")
AddGadgetItem(#Listview_0,45,"SurfaceProp.glassbottle")
AddGadgetItem(#Listview_0,46,"SurfaceProp.item")
AddGadgetItem(#Listview_0,47,"SurfaceProp.jeeptire")
AddGadgetItem(#Listview_0,48,"SurfaceProp.ladder")
AddGadgetItem(#Listview_0,49,"SurfaceProp.no_decal")
AddGadgetItem(#Listview_0,50,"SurfaceProp.paper")
AddGadgetItem(#Listview_0,51,"SurfaceProp.papercup")
AddGadgetItem(#Listview_0,52,"SurfaceProp.plaster")
AddGadgetItem(#Listview_0,53,"SurfaceProp.plastic_barrel")
AddGadgetItem(#Listview_0,54,"SurfaceProp.plastic_barrel_buoyant")
AddGadgetItem(#Listview_0,55,"SurfaceProp.plastic_box")
AddGadgetItem(#Listview_0,56,"SurfaceProp.plastic")
AddGadgetItem(#Listview_0,57,"SurfaceProp.player")
AddGadgetItem(#Listview_0,58,"SurfaceProp.player_control_clip")
AddGadgetItem(#Listview_0,59,"SurfaceProp.pottery")
AddGadgetItem(#Listview_0,60,"SurfaceProp.rubber")
AddGadgetItem(#Listview_0,61,"SurfaceProp.rubbertire")
AddGadgetItem(#Listview_0,54,"SurfaceProp.slidingrubbertire")
AddGadgetItem(#Listview_0,55,"SurfaceProp.slidingrubbertire_front")
AddGadgetItem(#Listview_0,56,"SurfaceProp.slidengrubbertire_rear")
AddGadgetItem(#Listview_0,57,"SurfaceProp.alienflesh")
AddGadgetItem(#Listview_0,58,"SurfaceProp.antlion")
AddGadgetItem(#Listview_0,59,"SurfaceProp.armorflesh")
AddGadgetItem(#Listview_0,60,"SurfaceProp.bloodyflesh")
AddGadgetItem(#Listview_0,61,"SurfaceProp.flesh")
AddGadgetItem(#Listview_0,62,"SurfaceProp.foliage")
AddGadgetItem(#Listview_0,63,"SurfaceProp.watermelon")
AddGadgetItem(#Listview_0,64,"SurfaceProp.zombieflesh")
AddGadgetItem(#Listview_0,65,"SurfaceProp.ice")
AddGadgetItem(#Listview_0,66,"SurfaceProp.snow")
AddGadgetItem(#Listview_0,67,"SurfaceProp.antilonsand")
AddGadgetItem(#Listview_0,68,"SurfaceProp.dirt")
AddGadgetItem(#Listview_0,69,"SurfaceProp.grass")
AddGadgetItem(#Listview_0,70,"SurfaceProp.mud")
AddGadgetItem(#Listview_0,71,"SurfaceProp.quicksand")
AddGadgetItem(#Listview_0,72,"SurfaceProp.sand")
AddGadgetItem(#Listview_0,73,"SurfaceProp.slippyslime")
AddGadgetItem(#Listview_0,74,"SurfaceProp.tile")
AddGadgetItem(#Listview_0,75,"SurfaceProp.wood")
AddGadgetItem(#Listview_0,76,"SurfaceProp.wood_box")
AddGadgetItem(#Listview_0,77,"SurfaceProp.wood_crate")
AddGadgetItem(#Listview_0,78,"SurfaceProp.wood_furniture")
AddGadgetItem(#Listview_0,79,"SurfaceProp.wood_lowdensity")
AddGadgetItem(#Listview_0,80,"SurfaceProp.wood_plank")
AddGadgetItem(#Listview_0,81,"SurfaceProp.wood_panel")
AddGadgetItem(#Listview_0,82,"SurfaceProp.wood_solid")
MfG, Mok
P.S.: Ja, ich hab nochimmer v3.94, da aucf meinem PC v4.x nicht ganz einwandfrei funzt.