Jump 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.
Geplaatst:
comment_1621046

	if (strcmp("/enter", cmdtext, true, 10) == 0)/*comment*/
{
	if(!PlayerToPoint(2.0, playerid, 639.06549072266, 1683.3039550781, 6.1875))
	{
		SetPlayerPos(playerid, 635.95239257813, 1680.7424316406, -14.787504196167);
		return 1;
	}
	return 0;
}

Dit is mijn code. Het probleem is alleen, hij doet het niet. Hij geeft geen error aan en als ik het intyp zegt hij ook niet ERROR: Unknown command. Ik heb nu uitgevonden dat het aan de returns ligt. Dus mijn vraag:

Hoe moet je returns bij commando's met meerdere if's instellen?

Bijv.

if (command blabla
{
   if blablabla = true
       {
           if bliebla = true
           {
               actie
           }
       }
}

Waar moeten dan de returns staan?

Bewerkt: door TEH_GTA_COLLECTOR

Featured Replies

Geplaatst:
comment_1621054

Over het algemeen:

OnPlayerCommandText...
{
   Command...
   {
       if....
       {
           if....
           {
                ....
                return 1;
           }
           return 1;
       }
       return 1;
   }
   return 0;
}

Kan soms een beetje verschillen. return 0; kan niet verschillen.

Geplaatst:
  • Auteur
comment_1621069

oké bedankt. maar nu heb ik iets raars:

	if (strcmp("/enter", cmdtext, true, 10) == 0)/*comment*/
{
	if(!PlayerToPoint(1.0, playerid, 639.06549072266, 1683.3039550781, 6.1875))
	{
		SetPlayerPos(playerid, 635.95239257813, 1680.7424316406, -14.587504196167);
		return 1;
	}
	return 0;
}

if (strcmp("/exit", cmdtext, true, 10) == 0) /* same as above */
{
	if(!PlayerToPoint(1.0, playerid, 635.95239257813, 1680.7424316406, -14.787504196167))
	{
    	SetPlayerPos(playerid, 639.06549072266, 1683.3039550781, 6.1875);
    	return 1;
	}
	return 0;
}

/enter wekrt, maar bij /eit zegt ie unknown command. Is hier iets mis mee? o.O

Geplaatst:
comment_1621073

Ik zie dat je PlayerToPoint gebruikt, liever gebruik in IsPlayerInRangeOfPoint maar dat vind iedereen anders. Heb je IsPlayerToPoint wel gedefineerd onderaan je script? Dit moet, in tegenstelling tot IsPlayerInRangeOfPoint, dat in SAMP gebouwd zit.

>> De functie <<

EDIT: Volgens mij kan je niet twee keer return 0; gebruiken, omdat deze de functie afkapt, haal die eens weg ;)

Bewerkt: door sean5874

Geplaatst:
  • Auteur
comment_1621080

Ik wordt er helemaal gek van e.e

Als iemand in deze code de returns zou kunnen fixen, zou dat echt geweldig zijn.

if (strcmp("/enter", cmdtext, true, 10) == 0)/* comment */
{
	if(!PlayerToPoint(1.0, playerid, 639.1069, 1683.3924, 7.1875))
	{
		SetPlayerPos(playerid, 636.0318, 1680.7535, -13.7503);
		return 1;
	}

}

if (strcmp("/exit", cmdtext, true, 10) == 0) /* same as above */
{
	if(!PlayerToPoint(1.0, playerid, 636.0318, 1680.7535, -13.7503))
	{
    	SetPlayerPos(playerid, 639.1069, 1683.3924, 7.1875);
    	return 1;
	}

}

if (strcmp("/search", cmdtext, true, 10) == 0)
{	 //Same like /search in ammu nation, 5 minutes cooldown.
       if(!PlayerToPoint(2.0, playerid, 635.95239257813, 1680.7424316406, -14.787504196167))
 		{
		if (manuel[playerid] == 0)
		{
    		SendClientMessage(playerid,0xFFFF33AA,"You found a operation manuel! Type /manuel for instructions.");
    		manuel[playerid]=1; // comfirms player did find the manuel
    		return 1;
		}
		return 1;
	}
	else if (manuel[playerid] == 1)
	{
    	SendClientMessage(playerid,0xFFFF33AA,"You already have a manuel! [/manuel]"); //I.C. Player already found a manuel.
		return 1;
	}
	return 0;
}

if (strcmp("/launch", cmdtext, true, 10) == 0) //0x75EA00FF
{
	if (manuel[playerid] == 1)
	{
		if(!PlayerToPoint(3.0, playerid, 634.8529, 1672.9498, -13.7577))
		{
			if(fuel[playerid] == 0)
			{
    			SendClientMessage(playerid,0x75EA00FF,"Executing programme X13b.. Please stand by.");
       			SetTimerEx("ExecuteProgrammeFailure", 10000, false, "i", playerid);
       			isvalveopen[playerid]=1;
       			return 1;
			}
			return 0;
		}
		return 0;
	}
	return 0;
}

if (strcmp("/valve", cmdtext, true, 10) == 0)
{
	if(!PlayerToPoint(2.0, playerid, 632.2607, 1678.2612, 6.9921))
	{
		if (isvalveopen[playerid] == 1)
		{
			if(fuel[playerid] == 0)
			{
    			blowstation[playerid]=0;
    			return 0;
			}
			return 0;
		}
		return 0;
	}
	return 0;
}

Bewerkt: door TEH_GTA_COLLECTOR

Geplaatst:
comment_1621184

if (strcmp("/enter", cmdtext, true, 10) == 0)/* comment */
{
	if(PlayerToPoint(1.0, playerid, 639.1069, 1683.3924, 7.1875))
	{
		SetPlayerPos(playerid, 636.0318, 1680.7535, -13.7503);
	}
	return 1;
}

if (strcmp("/exit", cmdtext, true, 10) == 0) /* same as above */
       {
	if(PlayerToPoint(1.0, playerid, 636.0318, 1680.7535, -13.7503))
	{
		SetPlayerPos(playerid, 639.1069, 1683.3924, 7.1875);
	}
	return 1;
       }

if (strcmp("/search", cmdtext, true, 10) == 0) //Same like /search in ammu nation, 5 minutes cooldown.
{
	if(PlayerToPoint(2.0, playerid, 635.95239257813, 1680.7424316406, -14.787504196167))
	{
		if (manuel[playerid] == 0)
		{
			SendClientMessage(playerid,0xFFFF33AA,"You found a operation manuel! Type /manuel for instructions.");
			manuel[playerid]=1; // comfirms player did find the manuel
		}
		else if (manuel[playerid] == 1)
		{
			SendClientMessage(playerid,0xFFFF33AA,"You already have a manuel! [/manuel]"); //I.C. Player already found a manuel.
			return 1;
		}
	}
	return 1;
}

if (strcmp("/launch", cmdtext, true, 10) == 0) //0x75EA00FF
       {
	if (manuel[playerid] == 1)
	{
		if(PlayerToPoint(3.0, playerid, 634.8529, 1672.9498, -13.7577))
		{
			if(fuel[playerid] == 0)
			{
				SendClientMessage(playerid,0x75EA00FF,"Executing programme X13b.. Please stand by.");
				SetTimerEx("ExecuteProgrammeFailure", 10000, false, "i", playerid);
				isvalveopen[playerid]=1;
                               }
                       }
               }
               return 1;
}

if (strcmp("/valve", cmdtext, true, 10) == 0)
       {
	if(PlayerToPoint(2.0, playerid, 632.2607, 1678.2612, 6.9921))
	{
		if (isvalveopen[playerid] == 1)
		{
			if(fuel[playerid] == 0)
			{
				blowstation[playerid]=0;
			}
		}
	}
	return 1;
}

return 0; gebruik je als de functie niet is uitgevoerd, dan krijg je dus ERROR: Unknown Command. Gebruik je return 1;, dat betekend dat de functie wel is uitgevoerd, en krijg je dus geen ERROR: Unknown Command.

Ook moet je goed opletten bij de PlayerToPoint functie. Jij had er een uitroepteken voor staan, dat betekend, als de speler niet op die positie is, voert hij die code uit.

Veel succes verder

MVG,

Wanted

Bewerkt: door Wanted

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.

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.