Jump to content

Van string naar params


goudewup

Recommended Posts

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

Link to comment
Delen op andere websites

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.

Link to comment
Delen op andere websites

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);

Link to comment
Delen op andere websites

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