Jump to content

Het Scripting Problemen Topic


Recommended Posts

Geplaatst: (bewerkt)

ik gebruik dit voor een checkpoint:

SetPlayerCheckpoint(playerid,-1495.6682,920.3287,7.1875,3.0);// checkpoint waarmee je naar bank telepoorteerd

SetPlayerCheckpoint(playerid,-23.5969,-55.2872,1003.5469,3.0); // bank checkpoint

maar hij laat de eerste in de rij niet zien in me server :cry:

en als het wel zou werken heb ik dit gemaakt:

public OnPlayerEnterCheckpoint(playerid)

{

SetPlayerPos(playerid,-27.9898,-55.4541,1003.5469);

return 1;

}

hoe moet hij dan weten in welke checkpoint je moet staan om dan te telepoorteren

Bewerkt: door opacool6
  • Reacties 838
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Sandra

    115

  • opacool6

    79

  • Big Boss

    57

  • Remi-X

    55

Top Posters In This Topic

Posted Images

Geplaatst: (bewerkt)

hij werkt niet goed

ik heb jou systeem gebruikt en aan gepast en dit is er uit gekomen

dit staat ergens boven aan:

new playerCheckpoint[MAX_PLAYERS];

#define MAX_POINTS 3

new Float:checkCoords[MAX_POINTS][4] = {
{-36.5483,-57.9948, -17.2655,-49.2967},
{-1435.6682, 900.3287, 70.1875, 1637.8186},
{1925.1511,968.2358, 2019.0715,1067.4276}
};

new Float:checkpoints[MAX_POINTS][3] = {
{-23.5969,-55.2872,1003.5469},
{-1495.6682,920.3287,7.1875},
{1989.0619,1005.5241,994.4688}
};

new checkpointType[MAX_POINTS] = {
CP_BANK,
CP_PIRATE,
CP_DRAGON
};

en dit bij public onplayercommandtext:

  if (strcmp("/enter bank", cmdtext, true, 10) == 0)
{
	if(IsPlayerInCheckpoint(playerid) && getCheckpointType(playerid) == CP_PIRATE)
	{
		SetPlayerPos(playerid, -27.9898,-55.4541,1003.5469);
		SendClientMessage(playerid, 0x00FF00, "Je bent in de bank!");
	}
	else
	{
		SendClientMessage(playerid, 0xFF0000AA, "Je moet in de ingang van De Bank gaan staan!, om de bank in te kunnen");
	}
	return 1;
}
if (strcmp("/exit bank", cmdtext, true, 10) == 0)
{
	if(IsPlayerInCheckpoint(playerid) && getCheckpointType(playerid) == CP_BANK)
	{
		SetPlayerPos(playerid, -1495.6682,920.3287,7.1875);
		SendClientMessage(playerid, 0x00FF00, "Je bent uit de bank!");
	}
	else
	{
		SendClientMessage(playerid, 0xFF0000AA, "Je moet in de checkpoint in De Bank gaan staan!, om de bank in te kunnen");
	}
	return 1;
}

maar als ik nu in de checkpoint ga staan en typ /enter bank staat er aldoor:

Je moet in de checkpoint in De Bank gaan staan!, om de bank in te kunnen

Bewerkt: door opacool6
Geplaatst: (bewerkt)
hij werkt niet goed

ik heb jou systeem gebruikt en aan gepast en dit is er uit gekomen

dit staat ergens boven aan:

Code

en dit bij public onplayercommandtext:

Code

maar als ik nu in de checkpoint ga staan en typ /enter bank staat er aldoor:

Je moet in de checkpoint in De Bank gaan staan!, om de bank in te kunnen

Je moet, desondanks dat het in één command staat, ook vóór de 'else' een return gebruiken. Jouw code moet er dus zo uit zien:

 if (strcmp("/enter bank", cmdtext, true, 10) == 0)
 {
	 if(IsPlayerInCheckpoint(playerid) && getCheckpointType(playerid) == CP_PIRATE)
	 {
		 SetPlayerPos(playerid, -27.9898,-55.4541,1003.5469);
		 SendClientMessage(playerid, 0x00FF00, "Je bent in de bank!");
		 return 1;
	 }
	 else
	 {
		 SendClientMessage(playerid, 0xFF0000AA, "Je moet in de ingang van De Bank gaan staan!, om de bank in te kunnen");
	 }
	 return 1;
 }
 if (strcmp("/exit bank", cmdtext, true, 10) == 0)
 {
	 if(IsPlayerInCheckpoint(playerid) && getCheckpointType(playerid) == CP_BANK)
	 {
		 SetPlayerPos(playerid, -1495.6682,920.3287,7.1875);
		 SendClientMessage(playerid, 0x00FF00, "Je bent uit de bank!");
		 return 1;
	 }
	 else
	 {
		 SendClientMessage(playerid, 0xFF0000AA, "Je moet in de checkpoint in De Bank gaan staan!, om de bank in te kunnen");
	 }
	 return 1;
 }

Bewerkt: door Donwell
Geplaatst: (bewerkt)

Ok, ik heb weer een probleempje. Ik wil dat een speler dood gaat, zodra hij buiten een bepaald gebied gaat. Als x kleiner is als 1000 of groter is als 2000 EN als y kleiner is als 1000 of y groter is als 2000.

forward IsPlayerInArea(playerid);
public IsPlayerInArea(playerid)
{
new float: x, y, z;
GetPlayerPos(playerid, x, y, z);
if(x =< 1000.0 || x => 2000.0 && y =< 1000.0 || y => 2000.0)
{
	SetPlayerHealth(playerid, 0.0);
}
return 1;
}

Ik heb dit stukje code nodig voor de timer die dat om de 3 seconden gaat checken.

Bewerkt: door Big Boss
Geplaatst: (bewerkt)
....

In plaats van een timer voor iedere speler aan te maken, kan je beter in jouw IsPlayerInArea-functie een loop maken door alle spelers.

//Bij OnGameModeInit:

SetTimer("IsPlayerInArea", 3000, 1);

//De functie:

forward IsPlayerInArea();
public IsPlayerInArea()
{
for(new i; i<MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{
		new Float:x, Float:y, Float:z;
		GetPlayerPos(i, x, y, z);
		if(x =< 1000.0 || x => 2000.0 && y =< 1000.0 || y => 2000.0)
		{
			SetPlayerHealth(i, 0.0);
		}
	}
}
return 1;
}

P.s. Waarom gebruik je geen WorldBounds?

Bij OnPlayerConnect:

SetPlayerWorldBounds(playerid, 2000, 1000, 2000, 1000);

Bewerkt: door =>Sandra<=
Geplaatst: (bewerkt)

hoe kan het zijn dat je aldoor crasht

als je buiten de grens van san fierro gaat

Bewerkt: door opacool6
Geplaatst:

Kheb nog een vraagje ( Omg, Ja, Alweer :puh: )

Het gaat over het maken van objects.

Ik dacht van, Laat ik de uitleg van Donwell even gebruiken en er wat leuks bij doen.

Maar nee. Het heeft weer iets fouts. Als ik het object oppak, dan gaat het object wel weg, Maar ik krijg niet wat er in het script staat. Foutje in het script?

public OnPlayerPickUpPickup(playerid, pickupid) {
{
if(pickupid == Briefcase) {
	   GivePlayerMoney(playerid, 10000);
	   SendClientMessage(playerid, COLOR_GREEN, "You've picked up a briefcase!");
	   SendClientMessage(playerid, COLOR_GREEN, "Now get away! Fire in the hole in 3 seconds!");
	   SetTimer("boom" , 3000, 1);
	   return 1;
	}
return 0;
}
}
public boom(playerid)
{
CreateExplosion(2486.0,-1667.0,13.0,5,2000);
CreateExplosion(2486.0,-1667.0,13.0,5,2000);
CreateExplosion(2486.0,-1667.0,13.0,5,2000);
SendClientMessageToAll(COLOR_RED, "An bomb gone off! The exploded object was an briefcase!");
}

new Briefcase;

forward boom(playerid);

Briefcase = AddStaticPickup(1210,2, 2486.0,-1667.0,13.0);

Ik zou het niet weten ;p. Groetjes Jeroen

PS. het is een beetje door elkaar heen maar als het goed is staat alles er wat je moet hebben.

Geplaatst:

AddStaticPickup 'returnt' geen id.

Dus daarom werkt OnPlayerPickupPickup niet.

Verander

Briefcase = AddStaticPickup(1210,2, 2486.0,-1667.0,13.0);

naar:

Briefcase = CreatePickup(1210,2, 2486.0,-1667.0,13.0);

Geplaatst:
hoe kan het zijn dat je aldoor crasht

als je buiten de grens van san fierro gaat

Ik heb geen idee hoe het kan maar ik denk dat dit aan gta ligt of aan je aan je eigen pc,

Ikzelf kan overal probleemloos naartoegaan, maar zogauw ik op bepaalde plaatsen in LV kom gaat het ook mis (beeld knipperen, spel heel traag enz, soms crash)

Geplaatst:

oja nog bedankt he

ik heb lang niet geantwoord want me comp was ff buiten werking maar bedankt voor alle hulp

Geplaatst: (bewerkt)

ik heb dit gemaakt:

	if(strcmp(cmd, "/admins", true) == 0)
{
	new admin;
	new online;
	new lColour;
	SendClientMessage(playerid, COLOR_GREEN, "Current Admins Online");
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
		online = 0;
		GetPlayerName(i, sendername, sizeof(sendername));
			admin = dini_Int(udb_encode(sendername),"level");
		if (IsPlayerConnected(i))
		{
	 		if (admin != 0 && logged[i] == 1)
			{
	   			GetPlayerName(i, sendername, sizeof(sendername));
	   			admin = dini_Int(udb_encode(sendername),"level");
				  if (admin == 1)
				{
					format(string, sizeof(string), "%s - Server Moderator", sendername);
					  lColour = COLOR_BLAUW;
				}
				else if (admin == 2)
				{
					format(string, sizeof(string), "%s - Server Admin", sendername);
				 	lColour = COLOR_BLAUW;
				}
				online++;
			}
			if (online == 1)
			{
				SendClientMessage(playerid, lColour, string);
			}
			if (online == 0)
			{
				SendClientMessage(playerid, COLOR_RED, "There are currently no admins online!");
			}
			return 1;
		}
	}
}

alleen als ik nu in de server /rcon login <passwoord> doe en ik dan /admins indruk staat er aldoor:

There are currently no admins online!

maar hoe kan dat als ik ben ingelogd als admin met /rcon login <passwoord>

Bewerkt: door opacool6
Geplaatst:

Hallo, ik heb even een vraagje,

Ik ben bezig met maken van huizen, lukt allemaal opzich wel, alleen ik kan nergens coordinaten vinden + id's van de interiors om erin te zetten.

Misschien dat iemand dat weet?

bvd, groetjes Ymosky

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...