Gast Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 (bewerkt) Dit is nog gericht op Big Boss' dynamic pickup systeem die hij me had gestuurd. Ik gebruik hetzelfde systeempje om een business system te maken. Maar helaas, faalt hij opeens. Uit het niets, wat niet kan. De script,systeem, leest alles van het bestand. Behalve de ID. Ik heb twee bestanden; 1.txt en 2.txt. 1.txt werkt perfect! Alles leest hij. 2.txt of hoger, niet dus. Hij leest alles behalve de ID van het bestand. Ik had een command gemaakt, /checkbiz, om te kijken op welke business je staat. Hij kan 1.txt ontvangen, dan zegt hij dus dat ik bij business ID 1 ben. Maar 2.txt of hoger, zegt hij dat ik niet opeen pickup sta. Dit is die command: if(strcmp(cmd, "/checkbiz", true) == 0) { new file[31]; if(PlayerInfo[playerid][pAdmin] >= 99997) { for(new i; i < sizeof(BusinessData); i++) { if(IsPlayerInRangeOfPoint(playerid, 2, x,y,z)) // x,y,z hoeft niet worden gedefined. Ik heb dit stukje verborgen. { format(file, sizeof(file), "BusinessData/%i.txt", BusinessData[i][busID]); format(string, sizeof(string), "You are at business ID: %i", dini_Int(file, "ID")); SendClientMessage(playerid, NEWBIE_COLOR, string); return 1; } else { SendClientMessage(playerid, COLOR_GRAD1, " You are not at a business."); return 1; } } } } 1.txt: ID=1 2.txt: ID=2 Dit is de 'manier' om de Bus ID te laden: BusinessData[busj][busID] = dini_Int(bfile, "ID"); bfile = "BusinessData/1.txt"; beetje onderaan: busi++; format(bfile, sizeof(bfile), "BusinessData/%d.txt", busi); Dus, beejte kort samengevat: Hij laad alles van 2.txt, hij spawnt de pickup, geeft de owner informatie. Alles wat hij moet doen doet hij. Behalve de ID. Als hij de ID niet pakt, kan ik niks doen. Ik hoop dat je me kunt helpen/ Bewerkt: 27 november 2010 door Gast Reageren
MATHIJS Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 Het probleem ligt geloof ik hier: bfile = "BusinessData/1.txt"; Dat zorgt denk alleen voor dat hij 1.txt leest en niet de andere files. ik weet jammer genoeg niet hoe ik het kan oplossen. Reageren
Gast Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 Het probleem ligt geloof ik hier: bfile = "BusinessData/1.txt"; Dat zorgt denk alleen voor dat hij 1.txt leest en niet de andere files. ik weet jammer genoeg niet hoe ik het kan oplossen. Haha, nee, daar ligt het probleem niet. Daarom hoopte ik stiekem dat Big Boss zou reageren. Reageren
Morph1 Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 (bewerkt) BusinessData[bus[u][b]j[/b][/u]][busID] = dini_Int(bfile, "ID"); waarschijnlijk heb je alles gekopierd uit je script en hier staat [busj] en even verderop zeg je: busi++; format(bfile, sizeof(bfile), "BusinessData/%d.txt", busi); via dit command zet hij het id neer, zoals jij weet. maar waarschijnlijk is dat bovenste stukje code (in de Quote fout gespeld, daaribj zeg je "dit is de 'mannier' om busid te laden, dus is die tog belangrijk. daar zal het eigenlijk wel aan moeten liggen want verder zie ik ook geen fout. Bewerkt: 27 november 2010 door Morph1 Reageren
Gast Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 (bewerkt) BusinessData[bus[u][b]j[/b][/u]][busID] = dini_Int(bfile, "ID"); waarschijnlijk heb je alles gekopierd uit je script en hier staat [busj] en even verderop zeg je: busi++; format(bfile, sizeof(bfile), "BusinessData/%d.txt", busi); via dit command zet hij het id neer, zoals jij weet. maar waarschijnlijk is dat bovenste stukje code (in de Quote fout gespeld, daaribj zeg je "dit is de 'mannier' om busid te laden, dus is die tog belangrijk. daar zal het eigenlijk wel aan moeten liggen want verder zie ik ook geen fout. Nope, dat is ook niet de fout. busi word gebruikt om de volgende bestanden te laden. Ik gebruik busj overal. Zoals ik al eerder zei; ALLES werkt goed, hij laad de owner, hij laad de prijs van de business, de naam, alles, behalve de ID. Dus behalve de ene waar het probleempje zit. Dus wat jij zei is ook geen probleem. Bedankt voor het kijken. Edit: ik heb zelfs een nieuwe toegevoegd. Businfo. Dat laad hij zelfs niet bij de 2.txt+... Edit2: Ik heb ook strval geprobeert wanneer hij BusID ontvangt (BusinessData[busID]) - strval(BusinessData[busID]); Dat faalde al helemaal. Bewerkt: 27 november 2010 door Gast Reageren
Morph1 Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 maar er zal tog echt ergens een fout moeten zitten in je code, een server faalt niet zonder code duz... en dat stukje dat je heb gepost ziet er goed uit. Reageren
Gast Geplaatst: 27 november 2010 Rapport Geplaatst: 27 november 2010 maar er zal tog echt ergens een fout moeten zitten in je code, een server faalt niet zonder code duz... en dat stukje dat je heb gepost ziet er goed uit. Misschien dat je hier dan wat aan hebt. 1.txt ID=1 Owner=Chris_Libert oX=1515.169189 oY=-1706.308837 oZ=14.046875 iX=376.99 iY=-191.21 iZ=1000.63 IntID=17 EntBUMess=Chrissie's bizzie Locked=0 BusName=Admin Store Cash=0 BisPrice=5 EntFee=0 Stock=496 BNumber=0 2.txt ID=2 Owner=Chris_LibertCity oX=1515.675048 oY=-1702.701171 oZ=14.046875 iX=376.99 iY=-191.21 iZ=1000.63 IntID=17 EntBUMess=Chrissie's bizziesss Locked=0 BusName=JobWork Cash=0 BisPrice=5 EntFee=0 Stock=498 BNumber=0 Ik weet het echt niet meer, ik hoop dat Big Boss iets weet. /me wacht op Big Boss met smart. Reageren
Big Boss Geplaatst: 29 november 2010 Rapport Geplaatst: 29 november 2010 Je hebt tweemaal return 1; staan in je loop. Als het script een return (of break) tegen komt in een loop springt hij er meteen uit. Dus, het script wordt uitgevoerd voor ID 1, komt vervolgens een return tegen en houdt er dan mee op. Reageren
Gast Geplaatst: 29 november 2010 Rapport Geplaatst: 29 november 2010 Je hebt tweemaal return 1; staan in je loop. Als het script een return (of break) tegen komt in een loop springt hij er meteen uit. Dus, het script wordt uitgevoerd voor ID 1, komt vervolgens een return tegen en houdt er dan mee op. Ik neem aan dat je de command /checkbiz bedoelde. Die ziet er nu zo uit: if(strcmp(cmd, "/checkbiz", true) == 0) { if(PlayerInfo[playerid][pAdmin] >= 99997) { for (new i; i < sizeof(BusinessData); i++) { if(IsPlayerInRangeOfPoint(playerid, 2, BusinessData[i][ix1], BusinessData[i][iy1], BusinessData[i][iz1])) { format(string, sizeof(string), "You are at business ID: %i", BusinessData[i][busID]); SendClientMessage(playerid, NEWBIE_COLOR, string); break; } } } } Die geeft nu alleen maar het nummertje 1 aan. Dus als je bij business 2/3/4 bent, geeft hij 'You are at business ID: 1' aan. Daarom denk ik dat je het aan de ene kant niet over deze command hebt. Zoals ik in je PM stuurde zie je stock LoadBusiness. Daar staat ook een return 1;, heb ik weg gehaald. Maar nog niks werkt, jammer genoeg. Nu weet ik alleen dat hij het bestand wel leest en ook je positie kan lezen als je erop staat. 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.