Jump to content

Dini leest bestanden niet goed


Recommended Posts

Geplaatst: (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: door Gast
Geplaatst:

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.

Geplaatst:

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. :)

Geplaatst: (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. 0_0

daar zal het eigenlijk wel aan moeten liggen want verder zie ik ook geen fout.

:bier:

Bewerkt: door Morph1
Geplaatst: (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. 0_0

daar zal het eigenlijk wel aan moeten liggen want verder zie ik ook geen fout.

:bier:

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: door Gast
Geplaatst:

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.

Geplaatst:

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.

Geplaatst:

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.

Geplaatst:

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.

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.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...