Jump to content
Geplaatst:
comment_1758703

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

Featured Replies

Geplaatst:
comment_1758783

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:
comment_1758803

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:
comment_1758871

 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:
comment_1758887

 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:
comment_1758959

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:
comment_1759691

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:
comment_1759693

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

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.