Jump to content

Cuff systeem


Recommended Posts

Geplaatst:

Hallo!

Kunnen jullie me hiermee helpen?

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

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

       	GetPlayerName(giveplayerid, pName, sizeof(pName));
       	GetPlayerName(playerid, oName, sizeof(oName));
       	format(string, sizeof(string), "Cop Message: %s heeft bij %s de handboeien om gedaan!", oName,pName);
       	TogglePlayerControllable(giveplayerid,0);
       	}
	return 1;
}

Geplaatst: (bewerkt)

Wat is er precies fout?

Mvg,

Jeroen.

Beste Jeroen,

Als ik ingame /cuff doet hij niks en als in /cuff + id typ (wat ook de bedoeling is) krijg ik: SERVER: UNKNOWN COMMAND in plaats van dat dat ID niet meer bestuurbaar is!

Bewerkt: door Johannetje2
Geplaatst: (bewerkt)

Heb je

1. Het filterscript ge-compiled?

2. Het filterscript in de config gezet?

Ja, en als ik alles in suspect verander, maakt hij me bij /su suspect en bij /su + id SERVER: UNKNOWN COMMAND

Dit staat bovenaan mijn script:

new cmd[256];
new idx;
new tmp[256];

Bewerkt: door Johannetje2
Geplaatst:

Probeer dit eens,

Mvg,

Jeroen.

    if(strcmp(cmd, "/cuff", true) == 0)
   {
 		new string[128], pName[MAX_PLAYER_NAME],oName[MAX_PLAYER_NAME];

       if(gTeam[playerid] != TEAM_COP0) return SendClientMessage(playerid, 0x919191FF, "Je bent geen cop!");
       tmp = strtok(cmdtext, idx);
       if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Gebruik: /cuff [id]");
       giveplayerid = strval(tmp);

       GetPlayerName(playerid, pName, sizeof(pName));
       GetPlayerName(giveplayerid, oName, sizeof(oName));

       if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!");
       TogglePlayerControllable(giveplayerid, 0);
       format(string, sizeof(string), "Cop Message: %s heeft bij %s de handboeien om gedaan!", pName, oName);
       SendClientMessageToAll(0xE21D2CFF, string);
       return 1;
  }

Geplaatst: (bewerkt)

Ik had zelf nog een script, en die werkt nu :klap:

Alleen dan nog een vraagje, hoe maak ik een /reclame + tekst commando?

Dus dat ik doe, /reclame motor voor $100!!

dat er staat:

Reclame: Motor voor $100!!, PM Johannetje2(0) voor meer informatie

Bewerkt: door Johannetje2
Geplaatst:

Hier de script voor /reclame.

Groetjes,

Jeroen.

	if(strcmp(cmdtext,"/reclame",true, ==0)
{
	new string[256];
	new pName[MAX_PLAYER_NAME];

	if(!cmdtext[8]) return SendClientMessage(playerid,0xFF0000AA,"Gebruik: /reclame [bericht]");

	GetPlayerName(playerid,pName,sizeof(pName));
	format(string, sizeof(string), "Reclame: %s, PM %s(%i) voor meer informatie!",cmdtext[8], pName, playerid);

	SendClientMessageToAll(0xFF0000AA,string);
	return 1;
}

Geplaatst:

Bedankt! Ik zal hem straks testen.

Alleen ff een vraag... Ik heb nu de volgende code: (Weet niet offie werkt)

if(strcmp("/wapens", cmdtext, true) == 0)
{
	new playercolor2;
	playercolor2 = GetPlayerColor(playerid);
	if (playercolor2 == COLOR_ORANGE)
	{
	    SendClientMessage(playerid, COLOR_RED, "Je kan geen wapens kopen als je wordt gezocht!");
	}
	return 1;
}

Maar hoe zet ik er nu een Else functie op?

Geplaatst:

Ik heb het onderaan even neergezet.

Groetjes,

Jeroen.

        if(strcmp("/wapens", cmdtext, true) == 0)
       {
               new playercolor2;
               playercolor2 = GetPlayerColor(playerid);
               if (playercolor2 == COLOR_ORANGE) // Als de kleur oranje is ga dan verder
               {
                   SendClientMessage(playerid, COLOR_RED, "Je kan geen wapens kopen als je wordt gezocht!");
               }
               else // Als de kleur anders dan oranje is (dus bijvoorbeeld groen), doe dan dit:
               {
                   SendClientMessage(playerid, COLOR_RED, "Nu kan het wel!");
               } 
               return 1;
       }

Geplaatst:

Super bedankt!

En als slot zoek ik nog iets dat als je bijvoorbeeld /fluister + tekst zegt dat er het volgende gebeurt:

Alle mensen binnen een straal van ongeveer 10M kunnen horen wat je zegt,

/fluister hey, hallo!

Binnen 10 meter:

Hey Hallo!

Buiten 10 meter:

Geplaatst:

Het is toch wel duidelijk dat ik niet alles ga voorkauwen?

Je kan een 'loop' (uitspraak: 'loep') gebruiken om langs elke speler te gaan (MAX_PLAYERS). In deze loop kun je dan gebruik maken van een stock genaamd GetDistanceBetweenPlayers (staat hieronder) en die gebruiken om de afstand tussen de 2 spelers te bepalen. Dan kun je in een if statement zeggen van:

if(GetDistanceBetweenPlayers(playerid, variabele-in-jou-loop) < 10) 
{   
  // Hier de rest, net zoals de /reclame ongeveer
}

Die 10 staat voor de afstand tussen de spelers (daar moet je misschien met iemand mee experimenteren).

Dus ik zou tutorials bij langs gaan die wat uitleggen over loops, en even googelen naar voorbeeld scriptjes.

Je kan altijd als je vastloopt even je script posted wat je dan hebt, dan kunnen we je verder helpen.

Groetjes,

Jeroen.

PS. Dit moet helemaal onder aan je script.

public GetDistanceBetweenPlayers(playerid,playerid2)
{
       new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
       new Float:tmpdis;
       GetPlayerPos(playerid,x1,y1,z1);
       GetPlayerPos(playerid2,x2,y2,z2);
       tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
       return floatround(tmpdis);
}

Geplaatst:

Ik kan niks vinden wat mij echt iets zegt over die 'loops'

Wat bedoel je hier mee:

variabele-in-jou-loop

Geplaatst: (bewerkt)

    for(new x = 0; x <= MAX_PLAYERS; x++)

   {

   // Hier moet die if statement dus.

   }

Hierboven staat een loop (for statement).

En de variabele is dux x.

Groetjes,

Jeroen.

Bewerkt: door Ophion
Geplaatst:

Het spijt me echt dat ik hier niks van snap!

Moet dat dan ook met Y en Z?

en wat is // Hier moet die if statement dus.

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