Jump to content
Geplaatst:
comment_1897644

Hey daar!

Ik ben bezig met een project en moet daarvoor van een string losse variabelen maken, ik moet de string exploden dus.

Ik heb nu dus ook geen idee hoe ik dit voor elkaar zou moeten krijgen?

Het gaat om de string

405,2499.1084,1247.9514,10.6000,88.2925,-1,-1

Deze cijfers moeten uiteindelijk argumenten worden voor AddStaticVehicle...

Ik krijg het maar niet voor elkaar om de argumenten goed te scheiden...

Featured Replies

Geplaatst:
comment_1897661

new string[64] = "405,2499.1084,1247.9514,10.6000,88.2925,-1,-1";
new id[4], x[8], y[8], z[8], r[8], c1[4], c2[4];

// alles in een losse string stoppen.
strmid(id, string, 0, 3); // pakt de id
strmid(x, string, 4, 13); // pakt de x
strmid(y, string, 14, 23); // pakt de y
strmid(z, string, 24, 31); // pakt de z
strmid(r, string, 32, 39); // pakt de r
strmid(c1, string, 40, 42); // pakt de color 1
strmid(c2, string, 43, 45); // pakt de color 2
// Weet niet zeker of de posities exact zijn.. 
// Bovendien moeten álle strings hierbij even lang zijn,! 
// Heb je ergens langere coördinaten, dan moet je 0 toevoegen bij de korte coördinaten zodat ze even lang blijven.

// Nu kun je ze gewoon omzetten:
new iID = strval(id);
new Float: fX = floatstr(x);
new Float: fY = floatstr(y);
// ect...

Er zijn vast wel andere manieren, maar dit is wat ik zo snel even kon bedenken.

Geplaatst:
  • Auteur
comment_1897666

Het nadeel van jouw manier is dat zodra een float bijvoorbeeld een kommagetal meer heeft hij al niet meer werkt...

En dit is voor een dynamisch script dus dat gaat hem niet worden, maar toch bedankt!

Ik heb ondertussen zelf al wat gezocht en ben toen op sscanf gekomen, hiermee ik heb geprobeerd en het werkt!

Voor wie nog met ditzelfde probleem zit:

new modelid, Float:spawnx, Float:spawny, Float:spawnz, Float:spawna, col1, col2;
sscanf(string, "p<,>iffffii", modelid, spawnx, spawny, spawnz, spawna, col1, col2);
printf("DEBUG:AddStaticVehicle(%i, %f, %f, %f, %f, %i, %i);", modelid, spawnx, spawny, spawnz, spawna, col1, col2);

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.