Jump to content
  • Reacties 49
  • Bezichtigingen 4.4k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
comment_1562013

In OnPlayerCommandText:

if(strcmp(cmdtext, "/hallo", true))
{
new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
	SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
	return 1;
}
giveplayerid = strval(tmp);

GetPlayerName(giveplayerid, pName, sizeof(pName));
format(string, sizeof(string), "Hallo, %s", pName);
SendClientMessageToAll(0xFFFFFFAA, string);
return 1;
}

EDIT: Dit soort vragen horen volgens mij in het Script aanvraag topic.

Bewerkt: door Wanted

Geplaatst:
  • Auteur
comment_1562023

In OnPlayerCommandText:

if(strcmp(cmdtext, "/hallo", true))
{
new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
	SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
	return 1;
}
giveplayerid = strval(tmp);

GetPlayerName(giveplayerid, pName, sizeof(pName));
format(string, sizeof(string), "Hallo, %s", pName);
SendClientMessageToAll(0xFFFFFFAA, string);
return 1;
}

EDIT: Dit soort vragen horen volgens mij in het Script aanvraag topic.

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "tmp"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "idx"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 017: undefined symbol "tmp"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(357) : error 017: undefined symbol "tmp"

Geplaatst:
comment_1562034

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "tmp"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "idx"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 017: undefined symbol "tmp"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(357) : error 017: undefined symbol "tmp"

Zet bovenaan OnPlayerCommandText:

new tmp[128], idx;

EDIT: Whoops, had de reactie hierboven niet gezien. :$

Bewerkt: door Wanted

Geplaatst:
  • Auteur
comment_1562049

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "tmp"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "idx"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 017: undefined symbol "tmp"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(357) : error 017: undefined symbol "tmp"

Zet bovenaan OnPlayerCommandText:

new tmp[128], idx;

EDIT: Whoops, had de reactie hierboven niet gezien. :$

Stel je heet ingame killer dan welk id ik ook intyp, er staat altijd: "Hallo, killer"

En waar zijn die getallen voor: new tmp[128], idx;

Geplaatst:
comment_1562062

Stel je heet ingame killer dan welk id ik ook intyp, er staat altijd: "Hallo, killer"

Dat komt waarschijnlijk doordat je een ID hebt ingevoerd van een speler die niet online was. Vervang je command in dit om een melding te krijgen als je een verkeerd ID hebt ingevoerd.

if(strcmp(cmdtext, "/hallo", true))
{
       new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
       tmp = strtok(cmdtext, idx);
       if(!strlen(tmp))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
               return 1;
       }
       giveplayerid = strval(tmp);

       if(!IsPlayerConnected(giveplayerid))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!");
               return 1;
       }

       GetPlayerName(giveplayerid, pName, sizeof(pName));
       format(string, sizeof(string), "Hallo, %s", pName);
       SendClientMessageToAll(0xFFFFFFAA, string);
       return 1;
}

En waar zijn die getallen voor: new tmp[128], idx;

Dat is hoeveel karakters de zin maximaal kan hebben. Een command kan maximaal 128 tekens lang zijn, dus vandaar dat daar 128 staat.

Bewerkt: door Wanted

Geplaatst:
  • Auteur
comment_1562076

Stel je heet ingame killer dan welk id ik ook intyp, er staat altijd: "Hallo, killer"

Dat komt waarschijnlijk doordat je een ID hebt ingevoerd van een speler die niet online was. Vervang je command in dit om een melding te krijgen als je een verkeerd ID hebt ingevoerd.

if(strcmp(cmdtext, "/hallo", true))
{
       new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
       tmp = strtok(cmdtext, idx);
       if(!strlen(tmp))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
               return 1;
       }
       giveplayerid = strval(tmp);

       if(!IsPlayerConnected(giveplayerid))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!");
               return 1;
       }

       GetPlayerName(giveplayerid, pName, sizeof(pName));
       format(string, sizeof(string), "Hallo, %s", pName);
       SendClientMessageToAll(0xFFFFFFAA, string);
       return 1;
}

En waar zijn die getallen voor: new tmp[128], idx;

Dat is hoeveel karakters de zin maximaal kan hebben. Een command kan maximaal 128 tekens lang zijn, dus vandaar dat daar 128 staat.

Ik kreeg weer die error en heb: new tmp[128], idx; er neergezet, maar nogsteeds een error:

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 047: array sizes do not match, or destination array is too small

Geplaatst:
  • Auteur
comment_1562086

Als ik die met 128 heb dan krijg ik dit:

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 047: array sizes do not match, or destination array is too small

En als ik die van 256 heb dan krijg ik bij elk id:

Hallo, killer

Geplaatst:
comment_1562097

cmd = strtok(cmdtext, idx);

dit gans vanvoor aan OnPlayerCommand en dan:

if(strcmp(cmdtext, "/hallo", true))

Vervangen door:

if(strcmp(cmd, "/hallo", true))

Bewerkt: door GTAguillaume

Geplaatst:
  • Auteur
comment_1562110

Ja, hallo mensen! :bonk:

Geef me nou eens die goede code!!

Iedereen zegt steeds weer iets anders dan moet dat getal 128 zijn en dan 256 en dan de commando regel aanpassen!?

Ik zit heel die gamemode hier te *********!

Dit heb ik nou:

if(strcmp(cmd, "/hallo", true))
{
       new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
       new idx, tmp[256];
       cmd = strtok(cmdtext, idx);
       if(!strlen(tmp))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
               return 1;
       }
       giveplayerid = strval(tmp);

       if(!IsPlayerConnected(giveplayerid))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!");
               return 1;
       }

       GetPlayerName(giveplayerid, pName, sizeof(pName));
       format(string, sizeof(string), "Hallo, %s", pName);
       SendClientMessageToAll(0xFFFFFFAA, string);
       return 1;
}

Geplaatst:
comment_1562113

Dat ziet er nogtans op het eerste gezicht goed uit, maar wat is nu eigelijk het probleem??

EDIT:

       new idx, cmd[256];
       cmd = strtok(cmdtext, idx);

Dit moet gangs vanvoor aan OnPlayerCommand staan en

tmp = strtok(cmdtext, idx);

moet onder

if(strcmp(cmd, "/hallo", true))
{

staan...

Bewerkt: door GTAguillaume

Geplaatst:
  • Auteur
comment_1562116

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(350) : error 017: undefined symbol "cmd"

C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(354) : error 017: undefined symbol "cmd"

En als het getal 256 is, ookal vul ik dit in: /hallo 100000000000 dan staat er nogsteeds:

Hallo, killer

Geplaatst:
comment_1562120

Aha, fout gevonden.

if(strcmp(cmd, "/hallo", true))
{
       new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
       new idx, tmp[256];
       tmp = strtok(cmdtext, idx);
       if(!strlen(tmp))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
               return 1;
       }
       giveplayerid = strval(tmp);

       if(!IsPlayerConnected(giveplayerid))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!");
               return 1;
       }

       GetPlayerName(giveplayerid, pName, sizeof(pName));
       format(string, sizeof(string), "Hallo, %s", pName);
       SendClientMessageToAll(0xFFFFFFAA, string);
       return 1;
}

Geplaatst:
  • Auteur
comment_1562125

Aha, fout gevonden.

if(strcmp(cmd, "/hallo", true))
{
       new giveplayerid, pName[MAX_PLAYER_NAME], string[50];
       new idx, tmp[256];
       tmp = strtok(cmdtext, idx);
       if(!strlen(tmp))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]");
               return 1;
       }
       giveplayerid = strval(tmp);

       if(!IsPlayerConnected(giveplayerid))
       {
               SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!");
               return 1;
       }

       GetPlayerName(giveplayerid, pName, sizeof(pName));
       format(string, sizeof(string), "Hallo, %s", pName);
       SendClientMessageToAll(0xFFFFFFAA, string);
       return 1;
}

Als ik /hallo typ komt er die regel "Gebruik: ..." niet te staan en nog steeds als het getal 256 is, ookal vul ik dit in: /hallo 100000000000 dan staat er nogsteeds:

Hallo, killer

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

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.