Skip to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Van string naar params

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

Je kunt het beste de losse ID's eruit vissen met strmid of iets dergelijks. De losse strings met enkel één nummer erin kun je omzetten naar een integer met strval of omzetten naar een float met floatstr. ;)

  • Author

Daar ligt het probleem ook niet, maar de string scheiden lukt me niet. Dus ieder argument in een los variabele o.i.d. krijgen...

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.

  • Author

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.