Jump to content

repair + flip command


Recommended Posts

Geplaatst:

Weet Iemand hoe je een repair command kan maken voor je auto (je auto is rookig en dan je dan bijv: /rv doet en dan is ie weer heel)

flip (je auto ligt onderste boven en je doet bijnv : /fv en dan staat ie weer recht)

nog 1tje dan

nitro (dat je bijv 2 drukt en dan heeft je auto nitro)

als iemand voor mij deze commands wil maken heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel

erg bedaaaaaaaaaaaaaankt!!!

:tu::cya:

Geplaatst:

Wij zijn hier niet om kant en klare scripts voor je te maken, maar ik zal je op weg helpen:

Repair:

IsPlayerInAnyVehicle(playerid)

GetPlayerVehicleID(playerid)

SetVehicleHealth(vehicleid, Float: Health)

Flip:

IsPlayerInAnyVehicle(playerid)

GetPlayerVehicleID(playerid)

GetVehiclePos(vehicleid, &Float:x, &Float:y, &Float:z)

SetVehiclePos(vehicleid, Float:x, Float:y, Float:z)

Geplaatst:
Wij zijn hier niet om kant en klare scripts voor je te maken, maar ik zal je op weg helpen:

Repair:

IsPlayerInAnyVehicle(playerid)

GetPlayerVehicleID(playerid)

SetVehicleHealth(vehicleid, Float: Health)

Flip:

IsPlayerInAnyVehicle(playerid)

GetPlayerVehicleID(playerid)

GetVehiclePos(vehicleid, &Float:x, &Float:y, &Float:z)

SetVehiclePos(vehicleid, Float:x, Float:y, Float:z)

krijg :

undefined symbol "vehicleid"

en hoe los ik dat op?

Geplaatst:

Zonder je functie kan ik niet opmaken wat je verkeerd doet ...

Eén ding: Als je deze functies gewoon klakkeloos gekopiëerd hebt in je script, ben je niet goed bezig en moet je nog veel leren. :7 Begin liever met kleinere, simpele dingen. Als je dat eenmaal door hebt, kan je beginnen met variabelen, for-loops, etc. te maken.

Omdat ik in een goed bui ben vandaag (ik schrijf dit zo uit mijn hoofd, maar normaal zou het moeten werken). In de callback OnPlayerCommandText plaatsen, natuurlijk ;)

vehicleid = GetPlayerVehicleID(playerid);

if(strcmp("/repair", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
	SetVehicleHealth(vehicleid, 1000.0);
	SendClientMessage(playerid, COLOR_BLUE, "	Vehicle repaired!");
}
return 1;
}

if(strcmp("/flip", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid)
{	
	new Float:vposx, Float:vposy, Float:vposz;
	GetVehiclePos(vehicleid, vposx, vposy, vposz);
	{
		SetVehiclePos(vehicleid, vposx, vposy, vposz+5);
		SendClientMessage(playerid, COLOR_BLUE, "	Vehicle Flipped!");
	}
}
return 1:
}

Geplaatst:
Zonder je functie kan ik niet opmaken wat je verkeerd doet ...

Eén ding: Als je deze functies gewoon klakkeloos gekopiëerd hebt in je script, ben je niet goed bezig en moet je nog veel leren. :7 Begin liever met kleinere, simpele dingen. Als je dat eenmaal door hebt, kan je beginnen met variabelen, for-loops, etc. te maken.

Omdat ik in een goed bui ben vandaag (ik schrijf dit zo uit mijn hoofd, maar normaal zou het moeten werken). In de callback OnPlayerCommandText plaatsen, natuurlijk ;)

vehicleid = GetPlayerVehicleID(playerid);

if(strcmp("/repair", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
	SetVehicleHealth(vehicleid, 1000.0);
	SendClientMessage(playerid, COLOR_BLUE, "	Vehicle repaired!");
}
return 1;
}

if(strcmp("/flip", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid)
{	
	new Float:vposx, Float:vposy, Float:vposz;
	GetVehiclePos(vehicleid, vposx, vposy, vposz);
	{
		SetVehiclePos(vehicleid, vposx, vposy, vposz+5);
		SendClientMessage(playerid, COLOR_BLUE, "	Vehicle Flipped!");
	}
}
return 1:
}

public OnPlayerCommandText(playerid, cmdtext[])

vehicleid = GetPlayerVehicleID(playerid);

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

{

if(IsPlayerInAnyVehicle(playerid))

{

SetVehicleHealth(vehicleid, 1000.0);

SendClientMessage(playerid, COLOR_BLUE, " Vehicle repaired!");

}

return 1;

}

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

{

if(IsPlayerInAnyVehicle(playerid)

{

new Float:vposx, Float:vposy, Float:vposz;

GetVehiclePos(vehicleid, vposx, vposy, vposz);

{

SetVehiclePos(vehicleid, vposx, vposy, vposz+5);

SendClientMessage(playerid, COLOR_BLUE, " Vehicle Flipped!");

}

}

return 1:

}

krijg deze errors

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(102) : error 017: undefined symbol "vehicleid"

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(104) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(106) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(111) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(114) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(116) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(119) : error 021: symbol already defined: "GetVehiclePos"

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(125) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(199) : warning 203: symbol is never used: "vposx"

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(199) : warning 203: symbol is never used: "vposy"

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(199) : warning 203: symbol is never used: "vposz"

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

8 Errors.

en ik ben pas 11 dus moet nog veel leren

Geplaatst: (bewerkt)

Is dit je hele OnPlayerCommandText Callback? Dan zul je die wel moeten beginnen en afsluiten, zo dus:

public OnPlayerCommandText(playerid, cmdtext[])
{
 vehicleid = GetPlayerVehicleID(playerid);

 if(strcmp("/repair", cmdtext, true) == 0)
 {
	 if(IsPlayerInAnyVehicle(playerid))
	 {
		 SetVehicleHealth(vehicleid, 1000.0);
		 SendClientMessage(playerid, COLOR_BLUE, "	Vehicle repaired!");
	 }	
	 return 1;
 }

 if(strcmp("/flip", cmdtext, true) == 0)
 {
	 if(IsPlayerInAnyVehicle(playerid)
	 {	
		 new Float:vposx, Float:vposy, Float:vposz;
		 GetVehiclePos(vehicleid, vposx, vposy, vposz);
		 {
			 SetVehiclePos(vehicleid, vposx, vposy, vposz+5);
			 SendClientMessage(playerid, COLOR_BLUE, "	Vehicle Flipped!");
		 }
	 }
	 return 1:
 }
return 0;
}

Hierbij gaat het vooral om het "{" direct na PublicOnplayerCommandText en "return 0;" en "}" bij het afsluiten ervan.

Het kan zijn dat je daarna nog een error krijgt vanwege de "COLOR_BLUE". Deze moet boven aan je script staan. Daarvoor plaatjes je onder de includes ("#include <sa-mp>" enzo) het volgende:

#define COLOR_BLUE 0x0000BBAA

Als je die er al wel in hebt staan heb ik niks gezegd :7

Bewerkt: door Ymosky
Geplaatst: (bewerkt)
Is dit je hele OnPlayerCommandText Callback? Dan zul je die wel moeten beginnen en afsluiten, zo dus:

public OnPlayerCommandText(playerid, cmdtext[])
{
 vehicleid = GetPlayerVehicleID(playerid);

 if(strcmp("/repair", cmdtext, true) == 0)
 {
	 if(IsPlayerInAnyVehicle(playerid))
	 {
		 SetVehicleHealth(vehicleid, 1000.0);
		 SendClientMessage(playerid, COLOR_BLUE, "	Vehicle repaired!");
	 }	
	 return 1;
 }

 if(strcmp("/flip", cmdtext, true) == 0)
 {
	 if(IsPlayerInAnyVehicle(playerid)
	 {	
		 new Float:vposx, Float:vposy, Float:vposz;
		 GetVehiclePos(vehicleid, vposx, vposy, vposz);
		 {
			 SetVehiclePos(vehicleid, vposx, vposy, vposz+5);
			 SendClientMessage(playerid, COLOR_BLUE, "	Vehicle Flipped!");
		 }
	 }
	 return 1:
 }
return 0;
}

Hierbij gaat het vooral om het "{" direct na PublicOnplayerCommandText en "return 0;" en "}" bij het afsluiten ervan.

Het kan zijn dat je daarna nog een error krijgt vanwege de "COLOR_BLUE". Deze moet boven aan je script staan. Daarvoor plaatjes je onder de includes ("#include <sa-mp>" enzo) het volgende:

#define COLOR_BLUE 0x0000BBAA

Als je die er al wel in hebt staan heb ik niks gezegd :7

werkt niet dat krijg ik deze fouten

en die define staat goed

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(68) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(78) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(89) : error 010: invalid function or declaration

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(105) : error 029: invalid expression, assumed zero

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(107) : warning 217: loose indentation

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(111) : error 029: invalid expression, assumed zero

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(111) : warning 215: expression has no effect

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(111) : error 001: expected token: ";", but found ")"

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(111) : error 029: invalid expression, assumed zero

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\pawno\new.pwn(111) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

8 Errors.

Bewerkt: door recromancer
Geplaatst:

Er zaten inderdaad wat kleine foutjes in (o.a. Haakje vergeten na IsPlayerInAnyVehicle, ':' i.p.v. ';' na de return, etc.) maar met wat inzicht is dat zo verholpen.

Deze code werkt voor 100%. 'k Heb het getest in Pawno. Niet vergeten de kleur te definen, anders zal het alsnog niet werken.

public OnPlayerCommandText(playerid, cmdtext[])
{
new vehicleid = GetPlayerVehicleID(playerid);

if(strcmp("/repair", cmdtext, true) == 0)
	{
 		if(IsPlayerInAnyVehicle(playerid))
   	{
    		SetVehicleHealth(vehicleid, 1000.0);
      		SendClientMessage(playerid, COLOR_BLUE, "    Vehicle repaired!");
      	}
      	return 1;
}

if(strcmp("/flip", cmdtext, true) == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
 		{
  			new Float:vposx, Float:vposy, Float:vposz;
  			GetVehiclePos(vehicleid, vposx, vposy, vposz);
		{
			SetVehiclePos(vehicleid, vposx, vposy, vposz+5);
			SendClientMessage(playerid, COLOR_BLUE, "    Vehicle Flipped!");
 			}
	}
	return 1;
}
return 0;
}

Geplaatst:
Er zaten inderdaad wat kleine foutjes in (o.a. Haakje vergeten na IsPlayerInAnyVehicle, ':' i.p.v. ';' na de return, etc.) maar met wat inzicht is dat zo verholpen.

Deze code werkt voor 100%. 'k Heb het getest in Pawno. Niet vergeten de kleur te definen, anders zal het alsnog niet werken.

public OnPlayerCommandText(playerid, cmdtext[])
{
new vehicleid = GetPlayerVehicleID(playerid);

if(strcmp("/repair", cmdtext, true) == 0)
	{
 		if(IsPlayerInAnyVehicle(playerid))
   	{
    		SetVehicleHealth(vehicleid, 1000.0);
      		SendClientMessage(playerid, COLOR_BLUE, "    Vehicle repaired!");
      	}
      	return 1;
}

if(strcmp("/flip", cmdtext, true) == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
 		{
  			new Float:vposx, Float:vposy, Float:vposz;
  			GetVehiclePos(vehicleid, vposx, vposy, vposz);
		{
			SetVehiclePos(vehicleid, vposx, vposy, vposz+5);
			SendClientMessage(playerid, COLOR_BLUE, "    Vehicle Flipped!");
 			}
	}
	return 1;
}
return 0;
}

hij is 100% goed bij een new script file

maar bij mijn goede?

public OnPlayerCommandText(playerid, cmdtext[])

{

new vehicleid = GetPlayerVehicleID(playerid);

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

{

if(IsPlayerInAnyVehicle(playerid))

{

SetVehicleHealth(vehicleid, 1000.0);

SendClientMessage(playerid, COLOR_BLUE, " Vehicle repaired!");

{

return 1;

}

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

{

if(IsPlayerInAnyVehicle(playerid))

{

new Float:vposx, Float:vposy, Float:vposz;

GetVehiclePos(vehicleid, vposx, vposy, vposz);

{

SetVehiclePos(vehicleid, vposx, vposy, vposz+5);

SendClientMessage(playerid, COLOR_BLUE, " Vehicle Flipped!");

}

}

return 1;

}

return 0;

}

}

if (strcmp("/drift1", cmdtext, true, 10) == 0)

{

SetPlayerInterior(playerid,0);

SetPlayerPos(playerid, -311.2424,1508.3677,75.5625);

return 1;

}

if (strcmp("/help", cmdtext, true, 10) == 0)

{

SendClientMessage(playerid,0xAA3333AA,"/drift1 = Drifting Area");

SendClientMessage(playerid,0xAA3333AA,"/spawn = Start Spawn");

SendClientMessage(playerid,0xAA3333AA,"/sp = Skate Park");

SendClientMessage(playerid,0xAA3333AA,"/dm = Death Match");

SendClientMessage(playerid,0xAA3333AA,"/adj = Adam Jump");

SendClientMessage(playerid,0xAA3333AA,"/pj = Pipe Jump");

return 1;

}

if (strcmp("/sp", cmdtext, true, 10) == 0)

{

SetPlayerInterior(playerid,0);

SetPlayerPos(playerid,1816.4980,-1372.4573,15.0781);

return 1;

}

if (strcmp("/pj", cmdtext, true, 10) == 0)

{

SetPlayerInterior(playerid,0);

SetPlayerPos(playerid,703.171387,1771.732422,293.258911);

return 1;

}

if (strcmp("/adj", cmdtext, true, 10) == 0)

{

SetPlayerInterior(playerid,0);

SetPlayerPos(playerid,806.621643,2621.597168,180.731873);

return 1;

}

if (strcmp("/spawn", cmdtext, true, 10) == 0)

{

SetPlayerInterior(playerid,0);

SetPlayerPos(playerid,402.8361,2437.9929,16.5000);

return 1;

}

if (strcmp("/dm", cmdtext, true, 10) == 0)

SetPlayerInterior(playerid,0);

SetPlayerPos(playerid,-1433.8652,-1537.9504,101.7578);

SetPlayerPos(playerid,-1444.5955,-1565.6051,101.7578);

SetPlayerPos(playerid,-1457.4449,-1518.0315,107.4412);

SetPlayerPos(playerid,-1441.8456,-1466.6520,106.3920);

SetPlayerPos(playerid,-1426.7606,-1460.2734,101.6701);

SetPlayerPos(playerid,-1423.1427,-1497.8004,111.1589);

SetPlayerPos(playerid,-1430.6045,-1547.7634,110.3372);

GivePlayerWeapon(playerid,24,200);

GivePlayerWeapon(playerid,5,1);

GivePlayerWeapon(playerid,25,100);

GivePlayerWeapon(playerid,32,250);

GivePlayerWeapon(playerid,34,50);

GivePlayerWeapon(playerid,35,5);

return 0;

}

deze fout ? (tussen return en die flip command)

C:\DOCUME~1\ADMINI~1\MIJNDO~1\GTASER~1\GAMEMO~1\sas.pwn(374) : warning 225: unreachable code

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

1 Warning.

Geplaatst:
if (strcmp("/dm", cmdtext, true, 10) == 0)

Je bent het open haakje vergeten bij /dm :)

niet echt ik krijg nog steeds dezelfde fout, en als ik gwn /hgashgdahga

intyp gaat het naar dm :{

Geplaatst:

jij hebt:

if (strcmp("/dm", cmdtext, true, 10) == 0)
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1433.8652,-1537.9504,101.7578);
SetPlayerPos(playerid,-1444.5955,-1565.6051,101.7578);
SetPlayerPos(playerid,-1457.4449,-1518.0315,107.4412);
SetPlayerPos(playerid,-1441.8456,-1466.6520,106.3920);
SetPlayerPos(playerid,-1426.7606,-1460.2734,101.6701);
SetPlayerPos(playerid,-1423.1427,-1497.8004,111.1589);
SetPlayerPos(playerid,-1430.6045,-1547.7634,110.3372);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,5,1);
GivePlayerWeapon(playerid,25,100);
GivePlayerWeapon(playerid,32,250);
GivePlayerWeapon(playerid,34,50);
GivePlayerWeapon(playerid,35,5);
return 0;
}

maar het moet zijn:

if (strcmp("/dm", cmdtext, true, 10) == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1433.8652,-1537.9504,101.7578);
SetPlayerPos(playerid,-1444.5955,-1565.6051,101.7578);
SetPlayerPos(playerid,-1457.4449,-1518.0315,107.4412);
SetPlayerPos(playerid,-1441.8456,-1466.6520,106.3920);
SetPlayerPos(playerid,-1426.7606,-1460.2734,101.6701);
SetPlayerPos(playerid,-1423.1427,-1497.8004,111.1589);
SetPlayerPos(playerid,-1430.6045,-1547.7634,110.3372);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,5,1);
GivePlayerWeapon(playerid,25,100);
GivePlayerWeapon(playerid,32,250);
GivePlayerWeapon(playerid,34,50);
GivePlayerWeapon(playerid,35,5);
return 1;
}
return 0;
}

Geplaatst:
jij hebt:
if (strcmp("/dm", cmdtext, true, 10) == 0)
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1433.8652,-1537.9504,101.7578);
SetPlayerPos(playerid,-1444.5955,-1565.6051,101.7578);
SetPlayerPos(playerid,-1457.4449,-1518.0315,107.4412);
SetPlayerPos(playerid,-1441.8456,-1466.6520,106.3920);
SetPlayerPos(playerid,-1426.7606,-1460.2734,101.6701);
SetPlayerPos(playerid,-1423.1427,-1497.8004,111.1589);
SetPlayerPos(playerid,-1430.6045,-1547.7634,110.3372);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,5,1);
GivePlayerWeapon(playerid,25,100);
GivePlayerWeapon(playerid,32,250);
GivePlayerWeapon(playerid,34,50);
GivePlayerWeapon(playerid,35,5);
return 0;
}

maar het moet zijn:

if (strcmp("/dm", cmdtext, true, 10) == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1433.8652,-1537.9504,101.7578);
SetPlayerPos(playerid,-1444.5955,-1565.6051,101.7578);
SetPlayerPos(playerid,-1457.4449,-1518.0315,107.4412);
SetPlayerPos(playerid,-1441.8456,-1466.6520,106.3920);
SetPlayerPos(playerid,-1426.7606,-1460.2734,101.6701);
SetPlayerPos(playerid,-1423.1427,-1497.8004,111.1589);
SetPlayerPos(playerid,-1430.6045,-1547.7634,110.3372);
GivePlayerWeapon(playerid,24,200);
GivePlayerWeapon(playerid,5,1);
GivePlayerWeapon(playerid,25,100);
GivePlayerWeapon(playerid,32,250);
GivePlayerWeapon(playerid,34,50);
GivePlayerWeapon(playerid,35,5);
return 1;
}
return 0;
}

nee want dan heb ik veel fouten :{

Geplaatst:

Volgens mij had ik dit al eens aan jou uitgelegd over die random spawns ...

JE KUNT EEN SPELER NIET OP 7 PLEKKEN TEGELIJKERTIJD ZETTEN!

Lees anders mijn post hier nog eens door.

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...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...