Tim Geplaatst: 28 maart 2009 Rapport Geplaatst: 28 maart 2009 Hey. Tijdens het modden worden modders vaak geconfronteert met fouten. Deze fouten liggen meestal in de IPL. Maar aangezien een IPL een bestandje is met een hoop data is het enorm moeilijk om de fout te vinden. IK heb gezien dat er bij het programmeren in C# er vaak word verteld in welke regel vaak de fout ligt. Ik vroeg me af of zo'n zelfde techniek ook toegepast kon worden voor het controleren van een .ipl bestand. En of deze tool al bestaat, of dat iemand hem kan maken. greetz. Tim Reageren
K.O. Geplaatst: 29 maart 2009 Rapport Geplaatst: 29 maart 2009 (bewerkt) Een compiler met debug mogelijkheid (en dat hebben ze allemaal voor zover ik weet) vertelt je inderdaad in welke regel het programma fouten tegenkomt tijdens het compileren. Van het bestaan van een dergelijke tool bij GTA's IPL bestanden heb ik nog nooit gehoord, maar het zou in feite niet zo heel moeilijk moeten zijn om iets dergelijks te programmeren, al zeg ik daar gelijk bij dat ik het zelf niet zo voor mekaar zou krijgen. Wat je moet doen is eigenlijk een bestand laden, elke regel lezen en controleren of deze aan een bepaald verwacht patroon voldoet. Ik weet dat je in Perl of PHP in dit geval prima met reguliere expressies (Regex) zou kunnen werken. Zelf ben ik nogal slecht in het opstellen van verwachtingspatronen in dit formaat, maar als je je daar in gaat verdiepen zou het denk ik goed moeten lukken. Hier staat hoe je dat moet doen. Als je een eenmaal zo'n patroon hebt is de rest een makkie. In andere talen (C++, C#, VB.NET) zou ik eerlijk gezegd niet gelijk weten waar ik zou moeten beginnen. Tekstbestanden regel voor regel uitlezen gaat in elke taal gemakkelijk, maar testen of zoiets overeenkomt met een bepaald patroon wordt een stuk lastiger denk ik. Zoeken naar tekens die er niet in horen is dan wel weer makkelijk. Ik heb eigenlijk geen idee of er in dergelijke talen een goed alternatief is voor reguliere expressies. Ik hoop dat dit je een beetje op weg helpt! Edit: ik vond hier een mooi voorbeeld van een regex die checkt op floating point getallen (dus getallen met decimalen). In principe kun je dit gebruiken voor de coördinaten. Edit#2: wat misschien makkelijker is vanuit programmeeroogpunt is om elke regel op te splitsen in stukjes (waar de spatie een scheidingsteken is), en dan elk stukje apart te controleren. Voor het eerste stukje (ID) gebruik je bijvoorbeeld [0-9]+ voor het tweede stukje (naam) zoiets [a-zA-Z0-9_]+ en voor de coördinaten (4e, 5e en 6e stukje) het voorbeeld uit de gegeven link. Dit werkt dan alleen bij regels tussen inst en end, andere stukjes hebben natuurlijk weer een andere opbouw. Desalniettemin is dit misschien een goed begin. Als ik meer tijd zou hebben gehad zou ik misschien wel eens willen proberen om een dergelijk script te schrijven in PHP, maar helaas is dat nu vanavond niet het geval. Edit#3: ik ben vandaag in PHP begonnen met een IPL Debugger. Ik heb eens wat meer gelezen over regexes en ik heb al enkele argumenten werkend gekregen. Ik zal je wel even sturen wat ik nu heb. Bewerkt: 30 maart 2009 door K.O. Reageren
Tim Geplaatst: 30 maart 2009 Auteur Rapport Geplaatst: 30 maart 2009 (bewerkt) Hey bedankt voor je reactie, Ik had echter niet verwacht dat het zon lap tekst zal worden. Maar toch moet ik je toegeven dat ik zelf totaal geen ervaring heb met PHP of C# programmeren. Dus zelf die codes toepassen zal niet lukken. In ieder geval moet de Tool weten welke ID nummers er in andere IPL bestanden zijn gebruikt, dus het beste kan je dan de SA folder aangeven in de tool. Maar het is in ieder geval harstikke top dat je bezig bent met uitzoeken hoe zon debugger in mekaar moet worden gezet. veel succes ermee. Zo'n debugger zal echt superveel modders uit de stress helpen greetz. Tim Bewerkt: 30 maart 2009 door Tim Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.