Skip to content
Bekijk in de app

Een betere weg om onze GTA community te volgen. Leer meer.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.

Om deze app op je iPhone en iPad te installeren
  1. Druk op het icoon in Safari
  2. Scroll in het menu en druk op Zet op beginscherm.
  3. Druk op Voeg toe rechts bovenaan.
Om deze app op je Android toe te voegen
  1. Druk op het 3-punten menu (⋮) rechts bovenaan in de browser.
  2. Druk op Toevoegen aan beginscherm of Installeer app.
  3. Druk op Toevoegen om te bevestigen.

/disarm command

Geplaatst:

Ik ben al een tijdje bezig met een /disarm command. Deze command mag alleen door Cops, Army en Admins gebruikt worden. Het probleem is dat /disarm alleen de sterkere wapens moet weghalen (denk aan de Assault Rifles, Sniper Rifles, Shotguns). Dus als iemand wapens bezit, en hij wordt gepakt door de politie, dat ie alleen zijn pistool/mp5/tech 9 mag houden en dat de rest verdwijnt. Nou weet ik niet eens of dit wel mogelijk is. Als dat zo is dan post ik hier wel een begin van het script en praten we wel verder ;).

Featured Replies

Geplaatst:

Dat bestaad helaas niet, of je kan alle wapens weg doen, of er 1tje bij doen, en niet meer.

Geplaatst:
  • Auteur
Dat bestaad helaas niet, of je kan alle wapens weg doen, of er 1tje bij doen, en niet meer.

Daar was ik al bang voor...

Geplaatst:

Het is wel degelijk mogelijk, maar het is niet simpel.

Als eerste moet je alle wapens opslaan d.m.v GetPlayerWeaponData.

Daarna check je of de speler een "verboden" wapen bezit, zoja, dan moeten de wapens gereset worden d.m.v ResetPlayerWeapons.

Vervolgens geef je de speler zijn "normale" wapens terug via GivePlayerWeapon (dat zal je wel een paar keer moeten doen, als de ammo 0 is wordt het wapen toch niet gegeven) met de data die opgeslagen in de variabelen.

Geplaatst:
if(strcmp(cmd, "/disarm", true)==0)
{
if(IsPlayerAdmin(playerid) || gTeam[playerid] == TEAM_POLICE)
{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) 
	{
	SendClientMessage(playerid, COLOR_WHITE, "Use: /disarm [playerid]");
	return 1;
	}
giveplayerid = strval(tmp);
	if(!IsPlayerConnected(giveplayerid))
	{
		 SendClientMessage(playerid, COLOR_WHITE, "Player Not Connected");
	 return 1;
	}
	new Weapons[13][2];
	for(new i; i<13; i++)
	{
		GetPlayerWeaponData(giveplayerid, i, Weapons[i][0], Weapons[i][1]);
	}
	ResetPlayerWeapons(giveplayerid);
	GivePlayerWeapon(giveplayerid, Weapons[0][0], Weapon[0][1]);
	GivePlayerWeapon(giveplayerid, Weapons[1][0], Weapon[1][1]);
	GivePlayerWeapon(giveplayerid, Weapons[2][0], Weapon[2][1]);
	GivePlayerWeapon(giveplayerid, Weapons[4][0], Weapon[4][1]);
	GivePlayerWeapon(giveplayerid, Weapons[9][0], Weapon[9][1]);
	GivePlayerWeapon(giveplayerid, Weapons[10][0], Weapon[10][1]);
	GivePlayerWeapon(giveplayerid, Weapons[11][0], Weapon[11][1]);
	SendClientMessage(playerid, 0x00FFFFAA, "Player Disarmed"); 
	return 1;
}
}

Geplaatst:
  • Auteur
if(strcmp(cmd, "/disarm", true)==0)
{
   if(IsPlayerAdmin(playerid) || gTeam[playerid] == TEAM_POLICE)
   {
       tmp = strtok(cmdtext, idx);
       if(!strlen(tmp)) 
       {
       SendClientMessage(playerid, COLOR_WHITE, "Use: /disarm [playerid]");
       return 1;
       }
   giveplayerid = strval(tmp);
       if(!IsPlayerConnected(giveplayerid))
       {
            SendClientMessage(playerid, COLOR_WHITE, "Player Not Connected");
        return 1;
       }
       new Weapons[13][2];
       for(new i; i<13; i++)
       {
           GetPlayerWeaponData(giveplayerid, i, Weapons[i][0], Weapons[i][1]);
       }
       ResetPlayerWeapons(giveplayerid);
       GivePlayerWeapon(giveplayerid, Weapons[0][0], Weapon[0][1]);
       GivePlayerWeapon(giveplayerid, Weapons[1][0], Weapon[1][1]);
       GivePlayerWeapon(giveplayerid, Weapons[2][0], Weapon[2][1]);
       GivePlayerWeapon(giveplayerid, Weapons[4][0], Weapon[4][1]);
       GivePlayerWeapon(giveplayerid, Weapons[9][0], Weapon[9][1]);
       GivePlayerWeapon(giveplayerid, Weapons[10][0], Weapon[10][1]);
       GivePlayerWeapon(giveplayerid, Weapons[11][0], Weapon[11][1]);
       SendClientMessage(playerid, 0x00FFFFAA, "Player Disarmed"); 
       return 1;
   }
}

Uitleg misschien erbij :7

Geplaatst:
code...

Uitleg misschien erbij :7

Het mag dan niet mijn code zijn, maar ik heb wel even commentaar toegevoegd:

if(strcmp(cmd, "/disarm", true)==0) //als het commando wordt ingetypt:
{
if(IsPlayerAdmin(playerid) || gTeam[playerid] == TEAM_POLICE) // controleren of de speler een admin is of lid is van het team politie
{
	tmp = strtok(cmdtext, idx); // kijken wat er achter /disarm staat
	if(!strlen(tmp)) // als de speler niets achter /disarm staat:
	{
	SendClientMessage(playerid, COLOR_WHITE, "Use: /disarm [playerid]"); // de speler vertellen dat er een spelerid achter /disarm moet staan.
	return 1; //de funtie beëindigen
	}
giveplayerid = strval(tmp); // het id wat achter /disarm staat opslaan in giveplayerid
	if(!IsPlayerConnected(giveplayerid)) //als de speler die achter /disarm staat niet online is:
	{
		 SendClientMessage(playerid, COLOR_WHITE, "Player Not Connected"); //vertellen dat de speler niet online is
	 return 1; //de funtie beëindingen
	}
	new Weapons[13][2];
	for(new i; i<13; i++)
	{
		GetPlayerWeaponData(giveplayerid, i, Weapons[i][0], Weapons[i][1]); //kijken welke wapens + ammo de ingetypte speler heeft
	}
	ResetPlayerWeapons(giveplayerid); //alle wapens van de ingetypte speler verwijderen
	GivePlayerWeapon(giveplayerid, Weapons[0][0], Weapon[0][1]); //de niet-verboden wapens terugzetten
	GivePlayerWeapon(giveplayerid, Weapons[1][0], Weapon[1][1]);
	GivePlayerWeapon(giveplayerid, Weapons[2][0], Weapon[2][1]);
	GivePlayerWeapon(giveplayerid, Weapons[4][0], Weapon[4][1]);
	GivePlayerWeapon(giveplayerid, Weapons[9][0], Weapon[9][1]);
	GivePlayerWeapon(giveplayerid, Weapons[10][0], Weapon[10][1]);
	GivePlayerWeapon(giveplayerid, Weapons[11][0], Weapon[11][1]);
	SendClientMessage(playerid, 0x00FFFFAA, "Player Disarmed"); //een melding geven dat de functie is uitgevoerd.
	return 1;
}
}

Geplaatst:
code...

Uitleg misschien erbij :7

Het mag dan niet mijn code zijn, maar ik heb wel even commentaar toegevoegd:

if(strcmp(cmd, "/disarm", true)==0) //als het commando wordt ingetypt:
{
if(IsPlayerAdmin(playerid) || gTeam[playerid] == TEAM_POLICE) // controleren of de speler een admin is of lid is van het team politie
{
	tmp = strtok(cmdtext, idx); // kijken wat er achter /disarm staat
	if(!strlen(tmp)) // als de speler niets achter /disarm staat:
	{
	SendClientMessage(playerid, COLOR_WHITE, "Use: /disarm [playerid]"); // de speler vertellen dat er een spelerid achter /disarm moet staan.
	return 1; //de funtie beëindigen
	}
giveplayerid = strval(tmp); // het id wat achter /disarm staat opslaan in giveplayerid
	if(!IsPlayerConnected(giveplayerid)) //als de speler die achter /disarm staat niet online is:
	{
		 SendClientMessage(playerid, COLOR_WHITE, "Player Not Connected"); //vertellen dat de speler niet online is
	 return 1; //de funtie beëindingen
	}
	new Weapons[13][2];
	for(new i; i<13; i++)
	{
		GetPlayerWeaponData(giveplayerid, i, Weapons[i][0], Weapons[i][1]); //kijken welke wapens + ammo de ingetypte speler heeft
	}
	ResetPlayerWeapons(giveplayerid); //alle wapens van de ingetypte speler verwijderen
	GivePlayerWeapon(giveplayerid, Weapons[0][0], Weapon[0][1]); //de niet-verboden wapens terugzetten
	GivePlayerWeapon(giveplayerid, Weapons[1][0], Weapon[1][1]);
	GivePlayerWeapon(giveplayerid, Weapons[2][0], Weapon[2][1]);
	GivePlayerWeapon(giveplayerid, Weapons[4][0], Weapon[4][1]);
	GivePlayerWeapon(giveplayerid, Weapons[9][0], Weapon[9][1]);
	GivePlayerWeapon(giveplayerid, Weapons[10][0], Weapon[10][1]);
	GivePlayerWeapon(giveplayerid, Weapons[11][0], Weapon[11][1]);
	SendClientMessage(playerid, 0x00FFFFAA, "Player Disarmed"); //een melding geven dat de functie is uitgevoerd.
	return 1;
}
}

echter nadat hij de wapens heeft afgepakt, geeft hij ze weer terug. dus hij is niet disarmed dan moet je giveplayerweapon even verwijderen :) en dan in een andere functie terug geven

Geplaatst:

Kijk nou eens even goed ...

De wapens in de slots 3, 5, 6, 7, 8 en 12 worden niet teruggegeven.

In de het Nederlands betekent dat zoveel als: Shotguns, Assault Rifles (AK47, ...), Rifles (Sniper, ...), en Heavy Assault (Rocket Launcher, Minigun) worden niet teruggegeven.

Geplaatst:
  • Auteur
code...

Uitleg misschien erbij :7

Het mag dan niet mijn code zijn, maar ik heb wel even commentaar toegevoegd:

if(strcmp(cmd, "/disarm", true)==0) //als het commando wordt ingetypt:
{
if(IsPlayerAdmin(playerid) || gTeam[playerid] == TEAM_POLICE) // controleren of de speler een admin is of lid is van het team politie
{
	tmp = strtok(cmdtext, idx); // kijken wat er achter /disarm staat
	if(!strlen(tmp)) // als de speler niets achter /disarm staat:
	{
	SendClientMessage(playerid, COLOR_WHITE, "Use: /disarm [playerid]"); // de speler vertellen dat er een spelerid achter /disarm moet staan.
	return 1; //de funtie beëindigen
	}
giveplayerid = strval(tmp); // het id wat achter /disarm staat opslaan in giveplayerid
	if(!IsPlayerConnected(giveplayerid)) //als de speler die achter /disarm staat niet online is:
	{
		 SendClientMessage(playerid, COLOR_WHITE, "Player Not Connected"); //vertellen dat de speler niet online is
	 return 1; //de funtie beëindingen
	}
	new Weapons[13][2];
	for(new i; i<13; i++)
	{
		GetPlayerWeaponData(giveplayerid, i, Weapons[i][0], Weapons[i][1]); //kijken welke wapens + ammo de ingetypte speler heeft
	}
	ResetPlayerWeapons(giveplayerid); //alle wapens van de ingetypte speler verwijderen
	GivePlayerWeapon(giveplayerid, Weapons[0][0], Weapon[0][1]); //de niet-verboden wapens terugzetten
	GivePlayerWeapon(giveplayerid, Weapons[1][0], Weapon[1][1]);
	GivePlayerWeapon(giveplayerid, Weapons[2][0], Weapon[2][1]);
	GivePlayerWeapon(giveplayerid, Weapons[4][0], Weapon[4][1]);
	GivePlayerWeapon(giveplayerid, Weapons[9][0], Weapon[9][1]);
	GivePlayerWeapon(giveplayerid, Weapons[10][0], Weapon[10][1]);
	GivePlayerWeapon(giveplayerid, Weapons[11][0], Weapon[11][1]);
	SendClientMessage(playerid, 0x00FFFFAA, "Player Disarmed"); //een melding geven dat de functie is uitgevoerd.
	return 1;
}
}

Ok, bedankt. Ik ga wel ff kijken of dit goed gaat werken.

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.

Account

Navigatie

Zoeken

Zoeken

Configureer push berichten

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.