kwik360 Geplaatst: 9 juli 2010 Rapport Geplaatst: 9 juli 2010 hoi, ik ben (nogsteeds) bezig met een vehicle ownership alleen ik kan hier geen (goede) tutorial over vinden. ik heb wel een paar filterscripts gevonden maar geen van allen werkt :S wat het ook lastig maakt om het doortenemen. zou iemand mij hierbij kunnen helpen? het is de bedoeling dat je de code hier onder kan maken + uitlezen 513,291.1346,2535.5850,17.3778,180.2974,21,36, Owner; dus: "Model, X, Y, Z, Angle, C1, C2(geloof ik), Owner" ik weet bijna zeker dat het mogelijk is, maar hoe? :S Heel erg bedankt alvast! Reageren
Big Boss Geplaatst: 10 juli 2010 Rapport Geplaatst: 10 juli 2010 Ik gebruik zelf de 'split' functie om regels op te splitsen in de data die ik wil (vooral uit MySQL, maar dat heeft hier geen belang). enum cInfo { cmodel, cx, cy, cz, ca, cc1, cc2, cowner[24] } new CarInfo[MAX_VEHICLES][cInfo]; // MAX_VEHICLES kan je nog vervangen door het aantal voertuigen dat je hebt. // OnGameModeInit new File:file; // hiermee gaan we de file openen file = fopen("carownership.ini", io_read); // vul de juiste naam in, het bestand moet zich in de scriptfiles folder bevinden if(file) { new string[256]; new LoadData[8][24]; new count = 1; while(fread(file, string)) // Lees alle lijnen een voor een uit { split(string, LoadData, ","); CarInfo[count][cmodel] = strval(LoadData[0]); CarInfo[count][cx] = strval(LoadData[1]); CarInfo[count][cy] = strval(LoadData[2]); CarInfo[count][cz] = strval(LoadData[3]); CarInfo[count][ca] = strval(LoadData[4]); CarInfo[count][cc1] = strval(LoadData[5]); CarInfo[count][cc2] = strval(LoadData[6]); format(CarInfo[count][cowner], "%s", LoadData[7]); AddStaticVehicleEx(cmodel, cx, cy, cz, ca, cc1, cc2, 1800); count++; } fclose(file); printf("[info] Created %d vehicles from file.", count); } else { print("[info] File was not found or could not be opened!"); } Niet getest, maar zou moeten werken. Reageren
kwik360 Geplaatst: 11 juli 2010 Auteur Rapport Geplaatst: 11 juli 2010 (bewerkt) Hey, dankje!! ik wist niet dat er z'n leuke functie al bestond XD ik ga het morgen/overmorgen pas proberen aangezien ik nu niet thuis ben :S maar ik zal nog plaatsen als/of het werkt, voor als mensen ook zoiets zoeken EDIT: hey, ik heb het er in, moest nog wel even Split downloaden, maar dat was geen probleem, maar nu krijg ik 2 errors + 4 warnings(die ik niet erg vind) :S F:\samp\filterscripts\SpawnVeh2.pwn(36) : error 035: argument type mismatch (argument 3) F:\samp\filterscripts\SpawnVeh2.pwn(44) : error 035: argument type mismatch (argument 2) F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 2 Errors. ik heb het gewoon gecopieerd maar wat is er fout aan? voor de duidelijk heid heb ik: regel 36: split(string, LoadData, ","); regel 44: format(CarInfo[count][cowner], "%s", LoadData[7]); Gr. Kwik Bewerkt: 11 juli 2010 door kwik360 Reageren
opacool6 Geplaatst: 22 juli 2010 Rapport Geplaatst: 22 juli 2010 Hey, dankje!! ik wist niet dat er z'n leuke functie al bestond XD ik ga het morgen/overmorgen pas proberen aangezien ik nu niet thuis ben :S maar ik zal nog plaatsen als/of het werkt, voor als mensen ook zoiets zoeken EDIT: hey, ik heb het er in, moest nog wel even Split downloaden, maar dat was geen probleem, maar nu krijg ik 2 errors + 4 warnings(die ik niet erg vind) :S F:\samp\filterscripts\SpawnVeh2.pwn(36) : error 035: argument type mismatch (argument 3) F:\samp\filterscripts\SpawnVeh2.pwn(44) : error 035: argument type mismatch (argument 2) F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch F:\samp\filterscripts\SpawnVeh2.pwn(45) : warning 213: tag mismatch Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 2 Errors. ik heb het gewoon gecopieerd maar wat is er fout aan? voor de duidelijk heid heb ik: regel 36: split(string, LoadData, ","); regel 44: format(CarInfo[count][cowner], "%s", LoadData[7]); Gr. Kwik ik weet niet zeker of dit het probleem is (het is het proberen waard) maar probeer dit eens in plaats van regel 44: strmid(CarInfo[count][cowner], LoadData[7], 0, strlen(LoadData[7]), 255); Reageren
kwik360 Geplaatst: 22 juli 2010 Auteur Rapport Geplaatst: 22 juli 2010 (bewerkt) ik weet niet zeker of dit het probleem is (het is het proberen waard) maar probeer dit eens in plaats van regel 44: strmid(CarInfo[count][cowner], LoadData[7], 0, strlen(LoadData[7]), 255); hey dankje! dat is al 1 error er uit!, nu nog 1 :S en heb nu de ander er ook uit denk ik :S inplaats van "" heb ik nu '' split(string, LoadData, ','); EDIT: ok, ik heb nu alle errors en warnings er uit.. maar hij spawnt nogsteeds geen voertuig :S ik heb een bestand aan gemaakt in de map "scriptfiles" die heet "carownership.ini" met daar in: 35, 1495.711059, -706.165466, 94.333076, 210.400161, 1, 5, test; wat gaat er nu nog fout? als het nodig is plaats ik wel even mijn test gamemode(met alleen dit er in) Bewerkt: 22 juli 2010 door kwik360 Reageren
opacool6 Geplaatst: 23 juli 2010 Rapport Geplaatst: 23 juli 2010 (bewerkt) ik denk dat het probleem niet ligt aan het .ini bestandje maar aan je spawn regeltje vervang deze regel: AddStaticVehicleEx(cmodel, cx, cy, cz, ca, cc1, cc2, 1800); eens door deze: AddStaticVehicleEx(CarInfo[count][cmodel], CarInfo[count][cx], CarInfo[count][cy], CarInfo[count][cz], CarInfo[count][ca], CarInfo[count][cc1], CarInfo[count][cc2], 1800); ik denk dat dit het probleem is omdat er aangegeven moet worden in welke variable hij moet zoeken voor bijvoorbeeld "cmodel" of de coördinaten. en je hebt split(string, LoadData, ','); al goed nu dus daar heb je niks meer op aan te passen Bewerkt: 23 juli 2010 door opacool6 Reageren
kwik360 Geplaatst: 23 juli 2010 Auteur Rapport Geplaatst: 23 juli 2010 hey, ik heb het er in gezet, maar hij laad het nogsteeds niet :S dit is mijn script Klik heel erg bedankt alvast iedereen :A Reageren
opacool6 Geplaatst: 23 juli 2010 Rapport Geplaatst: 23 juli 2010 (bewerkt) hey, ik heb het er in gezet, maar hij laad het nogsteeds niet :S dit is mijn script Klik heel erg bedankt alvast iedereen :A dan kan het probleem mischien liggen aan dat hij de hele lijst niet af gaat, als dat het geval is moet je dit vervangen: while(fread(file, string)) // Lees alle lijnen een voor een uit voor dit while(count< sizeof(CarInfo)) // leest het aantal lijnen uit dat je aangeeft bij new CarInfo vervang ook bij deze regel new CarInfo[MAX_VEHICLES][cInfo]; die MAX_VEHICLES eventjes door het aantal auto's dat je in het scriptfile hebt dus in dit geval èèn 1. (wat je ook kan doen is bovenaan een #define aan maken met bijv #define MAX_CARS 1 dan kan je bij new CarInfo in plaats van een getal of MAX_VEHICLES MAX_CARS in vullen) Gr fons Bewerkt: 23 juli 2010 door opacool6 Reageren
kwik360 Geplaatst: 23 juli 2010 Auteur Rapport Geplaatst: 23 juli 2010 hey, ik heb het er in gezet, maar hij laad het nogsteeds niet :S dit is mijn script Klik heel erg bedankt alvast iedereen :A dan kan het probleem mischien liggen aan dat hij de hele lijst niet af gaat, als dat het geval is moet je dit vervangen: while(fread(file, string)) // Lees alle lijnen een voor een uit voor dit while(count< sizeof(CarInfo)) // leest het aantal lijnen uit dat je aangeeft bij new CarInfo vervang ook bij deze regel new CarInfo[MAX_VEHICLES][cInfo]; die MAX_VEHICLES eventjes door het aantal auto's dat je in het scriptfile hebt dus in dit geval èèn 1. (wat je ook kan doen is bovenaan een #define aan maken met bijv #define MAX_CARS 1 dan kan je bij new CarInfo in plaats van een getal of MAX_VEHICLES MAX_CARS in vullen) Gr fons Hey, sorry dat ik zo lastig ben :S maar het werkt nogsteeds niet :S Gr. Reageren
opacool6 Geplaatst: 23 juli 2010 Rapport Geplaatst: 23 juli 2010 (bewerkt) Ik ben het nog is goed door gaan kijken heb het probleem gevonden! de variables voor de coördinaten zijn niet op geslagen in floats verander dit: enum cInfo { cmodel, cx, cy, cz, ca, cc1, cc2, cowner[24] } voor dit: enum cInfo { cmodel, Float:cx, Float:cy, Float:cz, Float:ca, cc1, cc2, cowner[24] } vervang ook dit: CarInfo[count][cx] = strval(LoadData[1]); CarInfo[count][cy] = strval(LoadData[2]); CarInfo[count][cz] = strval(LoadData[3]); CarInfo[count][ca] = strval(LoadData[4]); door dit: CarInfo[count][cx] = floatstr(LoadData[1]); CarInfo[count][cy] = floatstr(LoadData[2]); CarInfo[count][cz] = floatstr(LoadData[3]); CarInfo[count][ca] = floatstr(LoadData[4]); als het goed is, moet nu alles werken zo niet, ja dan moet ik nog is een keertje goed kijken. en PS. je bent niet lastig hoor je script was lastig Bewerkt: 23 juli 2010 door opacool6 Reageren
kwik360 Geplaatst: 23 juli 2010 Auteur Rapport Geplaatst: 23 juli 2010 Ok, het werkt nog niet :S ik heb inmiddels alles bij dit topic er in gezet, 2x, en alles nog een keer doorgelopen of er wel genoeg info verwerkt word. maar ik heb niks kunnen vinden :S, nu is dit ook (nog) niet echt mijn ding. ik heb het script +script file hier staan heel erg bedankt! Reageren
Big Boss Geplaatst: 23 juli 2010 Rapport Geplaatst: 23 juli 2010 Plaats dit eens boven je AddStaticVehicleEx lijn: printf("[DEBUG] AddStaticVehicleEx(%d, %.3f, %.3f, %.3f, %.3f, %d, %d, 1800);", CarInfo[count][cmodel], CarInfo[count][cx], CarInfo[count][cy], CarInfo[count][cz], CarInfo[count][ca], CarInfo[count][cc1], CarInfo[count][cc2]); Als er iets niet goed is zie je dat meteen. Reageren
kwik360 Geplaatst: 24 juli 2010 Auteur Rapport Geplaatst: 24 juli 2010 Plaats dit eens boven je AddStaticVehicleEx lijn: printf("[DEBUG] AddStaticVehicleEx(%d, %.3f, %.3f, %.3f, %.3f, %d, %d, 1800);", CarInfo[count][cmodel], CarInfo[count][cx], CarInfo[count][cy], CarInfo[count][cz], CarInfo[count][ca], CarInfo[count][cc1], CarInfo[count][cc2]); Als er iets niet goed is zie je dat meteen. hey, ik heb het er in en krijg dit: [13:47:06] [DEBUG] AddStaticVehicleEx(0, 0.000, 0.000, 0.000, 0.000, 0, 0, 1800); [13:47:06] [info] Created 2 vehicles from file. dus ik denk dat het probleem is dat hij geen gegevens ophaalt :S kan iemand anders 1 test bestand maken van hoe het wel zou moeten? Erg bedankt alvast! Reageren
opacool6 Geplaatst: 24 juli 2010 Rapport Geplaatst: 24 juli 2010 (bewerkt) new count = 1; vervangen door dit: new count = 0; want nu wordt er gezegt wanneer 1 lager is dan 1 dat hij iets gaat doen, dat is dan weer 1 probleem minder. en wat me ook opvalt is dat het Carmodel in je scriptfile veel te laag is namelijk 35 ?? de carmodels beginnen bij 400 klik hier voor een link van alle car model id's Bewerkt: 24 juli 2010 door opacool6 Reageren
kwik360 Geplaatst: 24 juli 2010 Auteur Rapport Geplaatst: 24 juli 2010 new count = 1; vervangen door dit: new count = 0; want nu wordt er gezegt wanneer 1 lager is dan 1 dat hij iets gaat doen, dat is dan weer 1 probleem minder. en wat me ook opvalt is dat het Carmodel in je scriptfile veel te laag is namelijk 35 ?? de carmodels beginnen bij 400 klik hier voor een link van alle car model id's Hey, ik ga jullie (+ mezelf) weer teleurstellen, het werkt niet :S ik krijg nogsteeds allemaal 0'en bij het "nieuwe" Debug textje.. heb nu dit(bij uitlezen): while(count< sizeof(CarInfo)) // leest het aantal lijnen uit dat je aangeeft bij new CarInfo { split(string, LoadData, ','); CarInfo[count][cmodel] = strval(LoadData[0]); CarInfo[count][cx] = floatstr(LoadData[1]); CarInfo[count][cy] = floatstr(LoadData[2]); CarInfo[count][cz] = floatstr(LoadData[3]); CarInfo[count][ca] = floatstr(LoadData[4]); CarInfo[count][cc1] = strval(LoadData[5]); CarInfo[count][cc2] = strval(LoadData[6]); strmid(CarInfo[count][cowner], LoadData[7], 0, strlen(LoadData[7]), 255); printf("[DEBUG] AddStaticVehicleEx(%d, %.3f, %.3f, %.3f, %.3f, %d, %d, 1800);", CarInfo[count][cmodel], CarInfo[count][cx], CarInfo[count][cy], CarInfo[count][cz], CarInfo[count][ca], CarInfo[count][cc1], CarInfo[count][cc2]); AddStaticVehicleEx(CarInfo[count][cmodel], CarInfo[count][cx], CarInfo[count][cy], CarInfo[count][cz], CarInfo[count][ca], CarInfo[count][cc1], CarInfo[count][cc2], 1800); count++; } 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.