Geplaatst: 25 maart 200916 jaren comment_1309276 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: 25 maart 200916 jaren door CAR
Geplaatst: 26 maart 200916 jaren comment_1309619 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. 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
Geplaatst: 27 maart 200916 jaren comment_1311112 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
Geplaatst: 27 maart 200916 jaren comment_1311181 Lengte is een optionele parameter, en laat ik dus ook altijd weg om problemen te vermijden. Zie ook hier voor meer info over strcmp: http://wiki.sa-mp.com/wiki/Strcmp
Geplaatst: 28 maart 200916 jaren Auteur comment_1312354 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: 28 maart 200916 jaren door CAR
Geplaatst: 29 maart 200916 jaren comment_1312520 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
Server doet raar
Net deed hij het nog perfect.
Ik snapte 1 ding niet wat maar niet lukte:
Ik maakte meerdere commands;
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