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

Hey!

Als ik /hallo <id> typ, wil ik dat er bijv een bericht word verzonden aan alle mensen met deze tekst:

Hallo, <Hier de naam van de gene met dat id>

Maar hoe moet dit?

  • Replies 49
  • Views 4.5k
  • Created
  • Last Reply

Top Posters In This Topic

Featured Replies

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.

Edited by Wanted

  • Author

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"

Zet gewoon vanboven bij OnPlayerCommandText dit:

new idx, tmp[256];

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

Edited by Wanted

  • Author

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;

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.

Edited by Wanted

  • Author

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

Ik heb new tmp[256] staan, ik denk dat het anders errors geeft.

  • Author

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

cmd = strtok(cmdtext, idx);

dit gans vanvoor aan OnPlayerCommand en dan:

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

Vervangen door:

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

Edited by GTAguillaume

  • Author

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

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

Edited by GTAguillaume

  • Author

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

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

  • Author

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

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.

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.