Jump to content

Het Scripting Problemen Topic


Recommended Posts

Geplaatst:

weet er iemand hoe ik een parachute kan spawnen (pickup)

want als ik dat doe, dan kan ik hem niet oprapen :/ ook niet als ik type 2 neem

alvast bedankt!

[wwg] Pulverizer_Be [ldr]

  • 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 in de standaard-script gekeken die meegeleverd word bij de server, staat een game-mode bij genaamd LS-parachute, daar zullen ze het wel goed hebben gedaan. (denk ik)

daar staatie als volgt:

AddStaticPickup(371, 15, X,Y,Z);

Dan is die 371 natuurlijk de parachute, en de 15 is het type.

Alle types die mogelijk zijn staan ook hier ergens in het script-forum, Als die nog vind zeg ik het wel.

Geplaatst:

heey :D

is het mogenlijk dat als ik /parachute typ, dat ik dan een parachute heb?

want ik vind daar geen command voor ^_^

ik weet wel dat je dat met een pickup kan doen, maar kan het dan ook zo dat je die parachute direct hebt? :?

Geplaatst: (bewerkt)

laat maar zitten, Uitleg van Rivel hieronder is beter.

Sorry, had niet gezien dat je ook aan het typen was

Bewerkt: door Ymosky
Geplaatst: (bewerkt)

Ja het is mogelijk. Heel simpel zelfs.

IK leg het even uit:

Eerst gaan we naar de callback:

public OnPlayerCommandText(playerid, cmdtext[])

(is ie er niet? Dan maak je hem gewoon zelf aan en zet je hem onderaan het script.

Dan pak je dit stukje code:

 if(strcmp(cmdtext, "/parachutte", true) == 0)
      {

Dat staat nu onder aan die callback dus er staat nu:

public OnPlayerCommandText(playerid, cmdtext[])

if(strcmp(cmdtext, "/parachutte", true) == 0)

      {

Nu moeten we onder de accolade wat toevoegen wat we willen. Dit doen we met dit stukje:

GivePlayerWeapon(playerid, 46, 1);

playerid, dat moet er standaard in staan, en dan die 46. Dat is de ID van de parachutte. Voor een lijst met ID's van wapens: Klik Hier!. Je neemt de ID die ervoor staat. Zorg wel(als je gaat werken met /m4... Dat je niet twee wapens pakt die uit hetzelfde slot komen(geen M4 en AK-57 samen nemen ofzo.)

Zo, nu het tweede cijfer, dit is de munitie. Ik heb hier 1 gepakt omdat je ook maar 1 parachutte nodig hebt. Maar als je een andere gun pakt. Dan kan je beter 50 of 100 nemen.

Dus, je sluit dan nog eens met een accolade. Dit is je commando nu:

public OnPlayerCommandText(playerid, cmdtext[])

if(strcmp(cmdtext, "/parachutte", true) == 0)
      {
 GivePlayerWeapon(playerid, 46, 1);
 }

Je kan er nu ook nog wat andere dingen aan toevogen zoals een bericht van: Hey, veel plezier. Dus. Stuur maar een PB als ik je wil dat ik je dat ook uitleg.

Ik hoop dat je er iets aan had!

Rivel

@ Ymoske Ach, je was me voor.

Bewerkt: door Rivel
Geplaatst: (bewerkt)

bedankt ;)

Ymosky:

(Ik heb wel is een heel script gehad met alleen maar test-commands :D )

met wat anders dan?

bij deze command zou die tekst normaal 4000 milliseconden moeten

verschijnen, maar hij blijft gewoon staan...

totdat ik eens sterf :{

public OnPlayerConnect(playerid) //Connectmessege
{
   new pName[MAX_PLAYER_NAME];
   new string[48];
   GetPlayerName(playerid, pName, sizeof(pName));
   format(string, sizeof(string), "%s has joined the server.", pName);
   SendClientMessageToAll(0xFF6600AA, string);

GameTextForPlayer(playerid,"~g~Welcome!",4000,2);
   return 1;
}

en hier, komt die text er niet op (degene die in het midden moet staan;

want de andere komt er wel op)

public OnPlayerDeath(playerid, killerid, reason)
{
GameTextForPlayer(playerid,"~w~WASTED!",4000,2);
	GameTextForPlayer(playerid,"~w~lol, you died.",4000,1);
   SendDeathMessage(killerid, playerid, reason);
   return 1;
}

>>> Door Azer: Posts samengevoegd.<<<

Bewerkt: door Azer
Geplaatst: (bewerkt)

Jongen, ik ben geen Mod. Maar waarom al die dubbelposts?

Ok, ik heb nu dit stukje:

  if(strcmp(cmdtext, "/cardive", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
	new Float:x;
	new Float:y;
	new Float:z;
	GetVehiclePos(GetPlayerVehicleID(playerid), x , y, z);
	SetVehiclePos(GetPlayerVehicleID(playerid), x , y, z+500);
	SetVehiceZAngle(GetPlayerVehicleID(playerid), hoek);
	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
}
else
{
	new Float:x;
	new Float:y;
	new Float:z;
	GetPlayerPos(playerid,x,y,z);
	SetPlayerPos(playerid, x, y, z+500);
	SetPlayerFacingAngle(playerid, kijkrichting);
	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
}

}

En cardive dus. Maar ik krijg dit hier asl fouten!:

C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(103) : warning 219: local variable "x" shadows a variable at a preceding level
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(104) : warning 219: local variable "y" shadows a variable at a preceding level
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(105) : warning 219: local variable "z" shadows a variable at a preceding level
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(126) : warning 219: local variable "x" shadows a variable at a preceding level
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(127) : warning 219: local variable "y" shadows a variable at a preceding level
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(128) : warning 219: local variable "z" shadows a variable at a preceding level
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(134) : error 010: invalid function or declaration
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(136) : error 010: invalid function or declaration
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(141) : error 021: symbol already defined: "GetVehiclePos"
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(143) : error 010: invalid function or declaration
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(143 -- 146) : error 010: invalid function or declaration
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(143 -- 148) : error 021: symbol already defined: "x"
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(143 -- 148) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.

Ik zie het echt niet!

Bewerkt: door Rivel
Geplaatst: (bewerkt)

misschien werkt het zo:

if(strcmp(cmdtext, "/cardive", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
		new Float:x;
       	new Float:y;
       	new Float:z;
       	GetVehiclePos(GetPlayerVehicleID(playerid), x , y, z);
       	SetVehiclePos(GetPlayerVehicleID(playerid), x , y, z+500);
       	SetVehiceZAngle(GetPlayerVehicleID(playerid), hoek);
       	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
	}
   	else
   	{
       	new Float:x;
       	new Float:y;
       	new Float:z;
       	GetPlayerPos(playerid,x,y,z);
       	SetPlayerPos(playerid, x, y, z+500);
       	SetPlayerFacingAngle(playerid, kijkrichting);
       	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1
}

}

en die "hoek" en "kijkrichting" moet je ook nog invullen

Bewerkt: door [wwg] Pulverizer_Be [ldr]
Geplaatst:

bij deze command zou die tekst normaal 4000 milliseconden moeten

verschijnen, maar hij blijft gewoon staan...

totdat ik eens sterf :{

public OnPlayerConnect(playerid) //Connectmessege
{
   new pName[MAX_PLAYER_NAME];
   new string[48];
   GetPlayerName(playerid, pName, sizeof(pName));
   format(string, sizeof(string), "%s has joined the server.", pName);
   SendClientMessageToAll(0xFF6600AA, string);

GameTextForPlayer(playerid,"~g~Welcome!",4000,2);
   return 1;
}

en hier, komt die text er niet op (degene die in het midden moet staan;

want de andere komt er wel op)

public OnPlayerDeath(playerid, killerid, reason)
{
GameTextForPlayer(playerid,"~w~WASTED!",4000,2);
	GameTextForPlayer(playerid,"~w~lol, you died.",4000,1);
   SendDeathMessage(killerid, playerid, reason);
   return 1;
}

>>> Door Azer: Posts samengevoegd.<<<

Het feit dat "Wasted" net zo lang in beeld blijft staan totdat je doodgaat heeft te maken met dat je gametext lettertype '2' gebruikt.

GameTextForPlayer(playerid,"~w~WASTED!",4000,2);

En dat er maar 1 text verschijnt, komt omdat je maar 1 gametext tegelijkertijd kan zien.

Geplaatst: (bewerkt)

oke :)

ps, waarom ben ik

<--- vandaal???

Bewerkt: door [wwg] Pulverizer_Be [ldr]
Geplaatst:

misschien werkt het zo:

if(strcmp(cmdtext, "/cardive", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
		new Float:x;
       	new Float:y;
       	new Float:z;
       	GetVehiclePos(GetPlayerVehicleID(playerid), x , y, z);
       	SetVehiclePos(GetPlayerVehicleID(playerid), x , y, z+500);
       	SetVehiceZAngle(GetPlayerVehicleID(playerid), hoek);
       	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
	}
   	else
   	{
       	new Float:x;
       	new Float:y;
       	new Float:z;
       	GetPlayerPos(playerid,x,y,z);
       	SetPlayerPos(playerid, x, y, z+500);
       	SetPlayerFacingAngle(playerid, kijkrichting);
       	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1
}

}

en die "hoek" en "kijkrichting" moet je ook nog invullen

Nee nog altijd.

Geplaatst:

misschien werkt het zo:

if(strcmp(cmdtext, "/cardive", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
		new Float:x;
       	new Float:y;
       	new Float:z;
       	GetVehiclePos(GetPlayerVehicleID(playerid), x , y, z);
       	SetVehiclePos(GetPlayerVehicleID(playerid), x , y, z+500);
       	SetVehiceZAngle(GetPlayerVehicleID(playerid), hoek);
       	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
	}
   	else
   	{
       	new Float:x;
       	new Float:y;
       	new Float:z;
       	GetPlayerPos(playerid,x,y,z);
       	SetPlayerPos(playerid, x, y, z+500);
       	SetPlayerFacingAngle(playerid, kijkrichting);
       	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1
}

}

en die "hoek" en "kijkrichting" moet je ook nog invullen

Nee nog altijd.

ok :{

dan weet ik het ook niet ...

Geplaatst: (bewerkt)

Een type-foutje in "SetVehiceZAngle" dit moet zijn SetVehicleZAngle

Verder ontbreekt achter Return 1 de ;

En volgens mij moet onder het eerste stukje code ook nog een Return 1; (maar dat weet ik nie 100% zeker)

Zoals hieronder kan ikzelf hem gewoon compilen, ik had ff willekeurige getallen ingevuld bij die hoek en kijkrichting

	if(strcmp(cmdtext, "/cardive", true) == 0)
{
	if(IsPlayerInAnyVehicle(playerid))
	{
		new Float:x;
		new Float:y;
		new Float:z;
		GetVehiclePos(GetPlayerVehicleID(playerid), x , y, z);
		SetVehiclePos(GetPlayerVehicleID(playerid), x , y, z+500);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 90);
		SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
		return 1;
	}
	else
	{
		new Float:x;
		new Float:y;
		new Float:z;
		GetPlayerPos(playerid,x,y,z);
		SetPlayerPos(playerid, x, y, z+500);
		SetPlayerFacingAngle(playerid, 50);
		SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
		return 1;
	}

}

Bewerkt: door Ymosky
Geplaatst: (bewerkt)

Nee, en nog iets. Ik kan het precies niet meer een simpele teleport:

	if(strcmp(cmdtext,"/hydrafun", 10, true) == 0)
{
SetPlayerPos(playerid, 4959.405273, -1077.881592, 1.000477);
SendClientMessage(playerid, 0xFF6600AA, "Hydra Fun Started. Get A Hydra And Chill!");

return 1;
}

En dit is de error

C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(137) : error 010: invalid function or declaration
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(142) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Ik word er echt gek van! :schater:

@ Azer Thx

Bewerkt: door Rivel
Geplaatst:
	if(strcmp(cmdtext,"/hydrafun", 10, true) == 0)
{
SetPlayerPos(playerid, 4959.405273, -1077.881592, 1.000477);
SendClientMessage(playerid, 0xFF6600AA, "Hydra Fun Started. Get A Hydra And Chill!");

return 1;
}

En dit is de error

C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(137) : error 010: invalid function or declaration
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\SAMP Server\gamemodes\ServerTestjes.pwn(142) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

public OnPlayerCommandText(playerid, cmdtext[])
{
  if(strcmp(cmdtext,"/hydrafun", true) == 0)
{
SetPlayerPos(playerid, 4959.405273, -1077.881592, 1.000477);
SendClientMessage(playerid, 0xFF6600AA, "Hydra Fun Started. Get A Hydra And Chill!");
return 1;
}
  return 0;
}

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...