Jump to content

Mijn server doet raar?


CAR

Recommended Posts

Server doet raar

Net deed hij het nog perfect.

Ik snapte 1 ding niet wat maar niet lukte:

Ik maakte meerdere commands;

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/admincommands 1", cmdtext, true, 10) == 1)
{
	SendClientMessage(playerid, 0xAA3333AA,"Level 1 commands:");
	SendClientMessage(playerid, 0xAA3333AA,"getinfo, weaps, vr, repair, ltune, lhy, lnos, lp,");
	SendClientMessage(playerid, 0xAA3333AA,"asay, ping, lslowmo, ltc, morning, adminarea, reports, richlist,");
	SendClientMessage(playerid, 0xAA3333AA,"miniguns, saveplacae, gotoplace, saveskin, useskin, dontuseskin.");
	return 1;
if (strcmp("/admincommands 2", cmdtext, true, 10) == 1)
			{
/////////////////precies hetzelfde met commands level 2, 3 enz.\\\\\\\\\\\\\\\\\
							}
return 0;
}

Je begrijpt natuurlijk dat die het niet deden, alleen de eerste deed het, als je de 2e intypte kwamen de resultaten van de 1e

Ik heb ze dus in verschillende filterscripts gedaan.

In server.cfg erbij gedaan, wat gebeurd er nu.

De laatste 7 kan hij niet laden, (unable to load filter script.....)

Wat me wel opviel was dat ik hiervoor 16 filterscripts had en nu kan hij er maar 16 laden

Wat moet ik doen??

Bewerkt: door CAR
Link to comment
Delen op andere websites

Dat de commands het niet doen komt door dit regeltje code:

(strcmp("/admincommands 1", cmdtext, true, 10) == 1)

Ten eerste moet '== 1' vervangen worden door == 0 of een ! aan het begin:

(!strcmp("/admincommands 1", cmdtext, true, 10))

Ten tweede zorgt de vierde parameter, de 10, ervoor dat hij alleen naar de eerste 10 letters kijkt. Omdat /admincommands al langer is als 10 letters, let hij niet op het cijfer en laat hij simpelweg de code van de eerste command zien. Verander dit in

(!strcmp("/admincommands 1", cmdtext, true))

En het zou moeten werken. :Y

Wat me wel opviel was dat ik hiervoor 16 filterscripts had en nu kan hij er maar 16 laden

Sinds SA-MP 0.2X is er een filterscript-limiet van 16 :Y

Link to comment
Delen op andere websites

het moet toch zo zijn:

if(strcmp(cmdtext, "/admincommands 1", true, 16)==0)

tip 1 waarom zet je niet al die admin commands in één filterscript

tip 2 ik heb gewoon dat als een admin /adminhelp typed hij automatisch de commands van zijn eige level krijgt

Link to comment
Delen op andere websites

het moet toch zo zijn:

if(strcmp(cmdtext, "/admincommands 1", true, 16)==0)

tip 1 waarom zet je niet al die admin commands in één filterscript

tip 2 ik heb gewoon dat als een admin /adminhelp typed hij automatisch de commands van zijn eige level krijgt

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/admincommands 1", cmdtext, true, 10) == 1)
{
	SendClientMessage(playerid, 0xAA3333AA,"Level 1 commands:");
	SendClientMessage(playerid, 0xAA3333AA,"getinfo, weaps, vr, repair, ltune, lhy, lnos, lp,");
	SendClientMessage(playerid, 0xAA3333AA,"asay, ping, lslowmo, ltc, morning, adminarea, reports, richlist,");
	SendClientMessage(playerid, 0xAA3333AA,"miniguns, saveplacae, gotoplace, saveskin, useskin, dontuseskin.");
	return 1;
if (strcmp("/admincommands 2", cmdtext, true, 10) == 1)
			{
/////////////////precies hetzelfde met commands level 2, 3 enz.\\\\\\\\\\\\\\\\\
							}
return 0;
}

Je begrijpt natuurlijk dat die het niet deden, alleen de eerste deed het, als je de 2e intypte kwamen de resultaten van de 1e

Lees ff goed.

Hoe kan ik dus 2 of meer commands in 1 Filterscript stoppen??

Het lukt me dus niet met return 1; moet ik 'else' toevoegen ofzoiets, en hoe dan?

Bewerkt: door CAR
Link to comment
Delen op andere websites

het moet toch zo zijn:

if(strcmp(cmdtext, "/admincommands 1", true, 16)==0)

tip 1 waarom zet je niet al die admin commands in één filterscript

tip 2 ik heb gewoon dat als een admin /adminhelp typed hij automatisch de commands van zijn eige level krijgt

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/admincommands 1", cmdtext, true, 10) == 1)
{
	SendClientMessage(playerid, 0xAA3333AA,"Level 1 commands:");
	SendClientMessage(playerid, 0xAA3333AA,"getinfo, weaps, vr, repair, ltune, lhy, lnos, lp,");
	SendClientMessage(playerid, 0xAA3333AA,"asay, ping, lslowmo, ltc, morning, adminarea, reports, richlist,");
	SendClientMessage(playerid, 0xAA3333AA,"miniguns, saveplacae, gotoplace, saveskin, useskin, dontuseskin.");
	return 1;
if (strcmp("/admincommands 2", cmdtext, true, 10) == 1)
			{
/////////////////precies hetzelfde met commands level 2, 3 enz.\\\\\\\\\\\\\\\\\
							}
return 0;
}

Je begrijpt natuurlijk dat die het niet deden, alleen de eerste deed het, als je de 2e intypte kwamen de resultaten van de 1e

Lees ff goed.

Hoe kan ik dus 2 of meer commands in 1 Filterscript stoppen??

Het lukt me dus niet met return 1; moet ik 'else' toevoegen ofzoiets, en hoe dan?

je moet het gewoon het zelfde toevoegen als in een normaal gamemode script

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