Geplaatst: 9 juli 201014 jaren comment_1687455 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!
Geplaatst: 10 juli 201014 jaren comment_1687767 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.
Geplaatst: 11 juli 201014 jaren Auteur comment_1688618 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 201014 jaren door kwik360
Geplaatst: 22 juli 201014 jaren comment_1694593 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);
Geplaatst: 22 juli 201014 jaren Auteur comment_1694738 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 201014 jaren door kwik360
Geplaatst: 23 juli 201014 jaren comment_1695070 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 201014 jaren door opacool6
Geplaatst: 23 juli 201014 jaren Auteur comment_1695084 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
Geplaatst: 23 juli 201014 jaren comment_1695106 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 201014 jaren door opacool6
Geplaatst: 23 juli 201014 jaren Auteur comment_1695297 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.
Geplaatst: 23 juli 201014 jaren comment_1695337 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 201014 jaren door opacool6
Geplaatst: 23 juli 201014 jaren Auteur comment_1695444 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!
Geplaatst: 23 juli 201014 jaren comment_1695457 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.
Geplaatst: 24 juli 201014 jaren Auteur comment_1695627 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!
Geplaatst: 24 juli 201014 jaren comment_1695885 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 201014 jaren door opacool6
Geplaatst: 24 juli 201014 jaren Auteur comment_1695901 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++; }
Geplaatst: 24 juli 201014 jaren comment_1695909 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++; } moet er boven die regel split(string, LoadData , ','); niet ook nog dit staan?: fread(file, string); want dat regeltje lijkt me toch vrij belangrijk Bewerkt: 25 juli 201014 jaren door opacool6
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
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!