Jump to content
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:
  • 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.