Jump to content

Het Scripting Problemen Topic


Azer

Recommended Posts

  • Reacties 838
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Sandra

    115

  • opacool6

    79

  • Big Boss

    57

  • Remi-X

    55

Top Posters In This Topic

Posted Images

Even een vraagje tussendoor: is er een manier om gamemodes te laten communiceren met bepaalde elementen uit filterscripts? Ik hen bijv. als filterscript XtremeAdmin2 maar ik heb in mijn GM een command waarvoor ik een adminlevel nodig heb uit dat filterscript.

Link to comment
Delen op andere websites

Ik ben weer begonnen met scripten, en ik heb weer errors. :duh:

Errors:

\SAMP\gamemodes\RPG_Island.pwn(212) : error 021: symbol already defined: "strtok"
\SAMP\gamemodes\RPG_Island.pwn(225) : error 047: array sizes do not match, or destination array is too small

Het stukje code wat erbij hoort(Ik heb de strtok functie gekopieerd uit de tutorial van Sandra):

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
	index++;
}
new result[20], offset = index;
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
	result[index - offset] = string[index];
	index++;
}
result[index - offset] = EOS;
return result;
}

Link to comment
Delen op andere websites

/////////////////////////////////////

strtok(const string[], &index)

212-> {

new length = strlen(string);

while ((index < length) && (string[index] <= ' '))

{

index++;

}

new result[20], offset = index;

while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))

{

result[index - offset] = string[index];

index++;

}

result[index - offset] = EOS;

225-> return result;

}

///////////////////////////////////

Link to comment
Delen op andere websites

Heb ik ook gehad, simpelweg die strtok functie verwijderen.

Als je een include gebruikt (Dini of Dudb, weet ik niet precies meer) hoef je volgens mij niet meer zelf die strtok functie erin te zetten.

Link to comment
Delen op andere websites

Hallo.,

Ik heb hier een script, maar dit wil maar niet werken. Het geeft telkens rare getallen weer. Ik heb al meerdere mensen om hulp gevraagt, maar die wisten het ook niet. Dit is het script:

	if(strcmp(cmd, "/test", true)==0)
{
	vehicleid1 = GetPlayerVehicleID(playerid);
	new Float:CarHealth;
	new Float:PrijsBr;
	new VerkoopPr;
	GetVehicleHealth(vehicleid1, CarHealth);
	PrijsBr = CarHealth;
	PrijsBr -= 300;
	PrijsBr /= 14;
	VerkoopPr = floatround(PrijsBr, floatround_round);
	if(CarHealth < 0) { VerkoopPr = 0; }
	format(string, sizeof(string), "De uitkomst is %d (auto levens: %.0f)", VerkoopPr, CarHealth);
	SendClientMessage(playerid, YELLOW, string);
	return 1;
}

Als ik dit cmd uitvoer, krijg ik te zien:

 De uitkomst is 1285282048 (auto levens: 1000)

Alleen moet de uitkomst tussen de 50 en de 0 zitten.

De rekensom klopt wel, 1000 - 300 = 700 / 14 = 50. Dus ik hoor dit te zien te krijgen:

 De uitkomst is 50 (auto levens: 1000)

Weet iemand hoe ik dit script werkend kan krijgen?

Alvast bedankt!

MVG,

Wanted

Link to comment
Delen op andere websites

Vervang

PrijsBr = CarHealth;
	PrijsBr -= 300;
	PrijsBr /= 14;

door

PrijsBr = CarHealth-300/14;

Nee, want dan klopt het sommetje niet meer. Dan doet hij namelijk 1000 - ( 300/14 ) . Dus dan kom je uit op 978.5714286. Maar toch bedankt dat je het geprobeert hebt. :)

EDIT: Het probleem zit hem in dat Float etc gedoe...

Bewerkt: door Wanted
Link to comment
Delen op andere websites

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...