Jump to content

Het Scripting Problemen Topic


Recommended Posts

Geplaatst:

Ik heb ff paar kleine vraagjes:

- Hoe zit het met de voertuigenlimiet als je gebruik maakt van Virtual Worlds?

stel ik heb in World 1 500 voertuigen staan, kan ik er dan in World 2 ook weer 500 neerzetten?

- Ik heb ooit in een of andere server eens een stunt of racebaan ofzo gezien (gebouwd uit objecten) waar je naar toe kon teleporten met een commando, vervolgens werd je freezed en kreeg je de melding dat je moest wachten op het laden van de objecten. Daarna weer unfreezed en ga je gang maar.

Wat ik me afvraag, hoe is zoiets gedaan? is er iets waarmee je kunt kijken of een object geladen is? of zou het gewoon een soort "boerenbedrog" zijn, dus simpelweg er een timer erop die zorgt dat je na een bepaalde tijd weer unfreezed bent.

  • 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:
Ik heb ff paar kleine vraagjes:

- Hoe zit het met de voertuigenlimiet als je gebruik maakt van Virtual Worlds?

stel ik heb in World 1 500 voertuigen staan, kan ik er dan in World 2 ook weer 500 neerzetten?

Volgens mij niet.

- Ik heb ooit in een of andere server eens een stunt of racebaan ofzo gezien (gebouwd uit objecten) waar je naar toe kon teleporten met een commando, vervolgens werd je freezed en kreeg je de melding dat je moest wachten op het laden van de objecten. Daarna weer unfreezed en ga je gang maar.

Wat ik me afvraag, hoe is zoiets gedaan? is er iets waarmee je kunt kijken of een object geladen is? of zou het gewoon een soort "boerenbedrog" zijn, dus simpelweg er een timer erop die zorgt dat je na een bepaalde tijd weer unfreezed bent.

Dit word meestal gedaan omdat objecten (gemaakt met CreateObject) soms niet direct spawnen en je bijvoorbeeld door de vloer kunt vallen. Daarom word je gefreezed zodat de objecten tijd hebben om te spawnen.

Geplaatst:

Hoe maak ik een uitvoering als deze:

Als getal A met 1 groter of kleiner is dan getal B, dat er iets gebeurt.

Ik ben namelijk bezig met een script die 2 posities van 2 spelers ophaalt, als de ene X met 1 groter of kleiner is dan de andere X, en hetzelfde met Y, dat het leven minder is.

Iemand een idee?

Geplaatst:
Hoe maak ik een uitvoering als deze:

Als getal A met 1 groter of kleiner is dan getal B, dat er iets gebeurt.

Ik ben namelijk bezig met een script die 2 posities van 2 spelers ophaalt, als de ene X met 1 groter of kleiner is dan de andere X, en hetzelfde met Y, dat het leven minder is.

Iemand een idee?

Dat is toch gewoon dan A != 1, of lees ik je vraag nu verkeerd?

Geplaatst:

Volgens mij lees je de vraag dan verkeerd, want A != 1 betekent toch als A geen 1 is? En het moet met B vergelijken :puh:

Als A met 1 groter of kleiner is dan B, moet er een uitvoering kunnen komen.

Voorbeeld:

Als ox met 1 groter of kleiner is dan yx:

for(new i = 0; i <= MAX_PLAYERS; i++) // playerid
{
	GetPlayerPos(i, yx, yy, yz);
}
for(new j = 0; j <= MAX_PLAYERS; j++) // otherplayer
{
	GetPlayerPos(j, ox, oy, yz);
}
if(yx == 1 ox || yx == -1 ox) //ofzo, zou het echt niet weten :S
{
GivePlayerMoney(playerid, 500); // zoiets dus, of een wapen, of animatie, weet ik veel
}

Geplaatst:
Volgens mij lees je de vraag dan verkeerd, want A != 1 betekent toch als A geen 1 is? En het moet met B vergelijken :puh:

Als A met 1 groter of kleiner is dan B, moet er een uitvoering kunnen komen.

Voorbeeld:

Als ox met 1 groter of kleiner is dan yx:

for(new i = 0; i <= MAX_PLAYERS; i++) // playerid
{
	GetPlayerPos(i, yx, yy, yz);
}
for(new j = 0; j <= MAX_PLAYERS; j++) // otherplayer
{
	GetPlayerPos(j, ox, oy, yz);
}
if(yx == 1 ox || yx == -1 ox) //ofzo, zou het echt niet weten :S
{
GivePlayerMoney(playerid, 500); // zoiets dus, of een wapen, of animatie, weet ik veel
}

Ok ff een check :puh:: jij zegt dus A heeft bijv. getal 1, en als B groter of kleiner is dan A dat er dan iets moet gebeuren?

Maar wat wil je nou precies doen, waar heb je het voor nodig zeg maar.

Ik zou trouwens in plaats van i <= MAX_PLAYERS, i < MAX_PLAYERS gebruiken (zelfde als bij j)

Geplaatst:

T word een scriptje dat als jij in de buurt van iemand anders komt, en jij hebt een knife, dat de andermans leven drastisch word gereduceert zodat je een one hit KO kan maken met die knife. En doe je niks en ga je gewoon weer weg, krijgt de speler zijn oude leven weer terug.

Ik weet dus alles wel te maken, behalve dat als A met 1 groter of kleiner is dan B, dat er wat gebeurt.

Geplaatst:

Dan kan je misschien beter dit gebruiken:

Plaats dit onder de forwards:

forward Float:GetDistanceBetweenPlayers(p1,p2);

Dit ergens onder je CreateObjects (of AddStaticVehicles)

public Float:GetDistanceBetweenPlayers(p1,p2)
{
  new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
  {
		return -1.00;
  }
  GetPlayerPos(p1,x1,y1,z1);
  GetPlayerPos(p2,x2,y2,z2);
  return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

Dan plaats je waar je het wil gebruiken het volgende:

if(GetDistanceBetweenPlayers(playerid,killerid) > 200) //Ik heb hier dan als voorbeeld killerid gebruikt, maar kan ook anders, de 200 staat voor de afstand natuurlijk

Geplaatst:

Uh nee, hoezo? Krijg je errors dan? Ik heb het ook in mijn eigen GM geprobeerd en toen had ik geen includes nodig ;)

Geplaatst: (bewerkt)

Edit:

Gaat dit werken dan?

#include <a_samp>

new Float:oldhealth;
new Float:yx, Float:yy, Float:yz;
new Float:ox, Float:oy, Float:oz;
new playerweapon;
new slot;
new ammo;
new knife = 4;

forward public IsPlayerByAnotherPlayer(playerid);

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Melee Weapons 1 Hit KO, for DM servers.");
print("--------------------------------------\n");
SetTimer("IsPlayerByAnotherPlayer", 500, true);
return 1;
}
public IsPlayerByAnotherPlayer(playerid)
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
	GetPlayerPos(i, yx, yy, yz);
	for(new j = 0; j <= MAX_PLAYERS; j++)
		{
			GetPlayerPos(j, ox, oy, oz);
			if(yx + 1 <= ox || yx - 1 >=ox)
				{
				if(yy + 1 <= oy || yy -1 >= oy)
					{
					GetPlayerWeaponData(i, slot, playerweapon, ammo);
					if(playerweapon == knife)
						  {
						GetPlayerHealth(j,oldhealth);
						SetPlayerHealth(j, 1);
						}
					}
				}
				else
				{
					SetPlayerHealth(j,oldhealth);
				}
		}
}
}

Bewerkt: door Remi-X
Geplaatst:

Kan iemand mij even helpen met random spanws

Als het goed is is er ergens een tut over random spawn maar kan hem niet vinden óók niet met zoek functie

Geplaatst:
Kijkt u eens: klik. Deze link staat gewoon in de PAWN tutorial list ;).

Ty ikweet niet waarom ik hem over het hoofd heb gezien ik zat meer te zoeken naar random spawn plaatsen denk ik

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...