Jump to content

Teleports plaatsen


Recommended Posts

Geplaatst: (bewerkt)

Hallo,

waar moet ik deze teleport plaatsen in mijn gamemodescript?

if(strcmp(cmdtext, "/roof", true) == 0)
{
   if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
   {
       SetVehiclePos(GetPlayerVehicleID(playerid), -576, -60, 10.0);
   }
   else
   {
       SetPlayerPos(playerid, -576, -60, 10.0);
   }
   SendClientMessage(playerid, 0x00FFFFAA, "Welcome To Tha Roof!");
   return 1;
}

Of moet ik hiervoor een nieuw filterscript aanmaken?

Mvg, watkijkje

Bewerkt: door watkijkje
Geplaatst:

Bij de 'OnPlayerCommandText' callback, kun je commando's invoegen, zo ook een teleport. Als je hem daar bijvoegt, zul je het commando activeren, mits je geen errors veroorzaakt. ;)

Geplaatst:
Bij de 'OnPlayerCommandText' callback, kun je commando's invoegen, zo ook een teleport. Als je hem daar bijvoegt, zul je het commando activeren, mits je geen errors veroorzaakt. ;)

Bedankt voor je reactie,

maar in mijn gamemode komt deze:OnPlayerCommandText niet voor,

waar kan ik dat maken?

Geplaatst: (bewerkt)

Ja, als die nog niet in je script staat, dan moet je dit in je script zetten:

public OnPlayerCommandText(playerid, cmdtext[])
{

//Zet hier al je command's neer

return 0;
}

Dus met jouw commando erbij:

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/roof", true) == 0)
{   
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)	
	{		 
		SetVehiclePos(GetPlayerVehicleID(playerid), -576, -60, 10.0);	
	}			 
	else	
	{		
		SetPlayerPos(playerid, -576, -60, 10.0);	
	}	
	SendClientMessage(playerid, 0x00FFFFAA, "Welcome To Tha Roof!");	
	return 1;
}
return 0;
}

P.s.

if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)	{

deze regel kan je inkorten tot:

if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)	{

Aangezien, als je de bestuurder bent, je sowieso in een voertuig zit.

Bewerkt: door Sandra18[NL]
Geplaatst:

Die teleport werkt nu :tu:

Maar als ik dit countdownscript ertussen zet lukt het niet.

forward countdown();

new countdown_seconds;
new countdown_flag;

// OnPlayerCommandText
if( strcmp( cmdtext , "/count" , true ) == 0 )
{
   if( countdown_flag )
   {
       SendClientMessage( playerid , COLOR_WHITE , "*** There's another countdown, Wait until it finishes!" );
       return 1;
   }

   SendClientMessage( playerid , COLOR_WHITE , "*** Countdown Started" );

   SetTimer( "countdown" , 1000 , 1 );

   countdown_flag = 1;

   for( new i = 0; i <= MAX_PLAYERS; i++ )
       TogglePlayerControllable( i , false );

   return 1;
}

// Anywhere else

public countdown()
{
   if( countdown < 0 )
   {
       GameTextForAll( "~g~GOGOGOGO" , 1000 , 3 );

       countdown_flag = 0;

       KillTimer( countdown );

       for( new i = 0; i <= MAX_PLAYERS; i++ )
           TogglePlayerControllable( i , true );
  }
  else
  {
       new temp[ 256 ];

       format( temp , sizeof temp , "~r~%d" , countdown_seconds );

       GameTextForAll( temp , 1000 , 3 );
  }

  countdown_seconds 5;
}

Kan je uitleggen hoe ik deze er tussen kan krijgen?

(ik ben nog een beginner dat merk je wel :D )

Alvast bendankt!

Geplaatst:

Er klopt helemaal niks van dat script.

if( countdown < 0 ) {

Als de teller kleiner is dan 0 ?

SetTimer( "countdown" , 1000 , 1 );

KillTimer( countdown );

de parameter van KillTimer is het id van de timer. niet de naam.

countdown_seconds 5;

dit is kan ook niet.

Geplaatst:

Maar als ik een nieuwe teleport wil toevoegen kan ik het dan hier tussen zetten?

public OnPlayerCommandText(playerid, cmdtext[])
{
   if(strcmp(cmdtext, "/roof", true) == 0)
   {   
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)    
       {         
           SetVehiclePos(GetPlayerVehicleID(playerid), -576, -60, 10.0);    
       }             
       else    
       {        
           SetPlayerPos(playerid, -576, -60, 10.0);    
       }    
       SendClientMessage(playerid, 0x00FFFFAA, "Welcome To Tha Roof!");    
       return 1;
   }
   return 0;
}

Geplaatst:

Je kunt zoveel teleports toevoegen als je wilt, maar dan moet je wel weten dat je altijd een commando eerst afsluit met deze stukjes code:

return 1;
{

Als je dit hebt gedaan, kun je een nieuw commando afmaken.

return 0;
{

Dit stukje tekst sluit een Callback, in dit geval 'OnPlayerCommandText', geheel af. ;)

Geplaatst:

Ja:

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/roof", true) == 0)
{   
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)	
	{		 
		SetVehiclePos(GetPlayerVehicleID(playerid), -576, -60, 10.0);	
	}			 
	else	
	{		
		SetPlayerPos(playerid, -576, -60, 10.0);	
	}	
	SendClientMessage(playerid, 0x00FFFFAA, "Welcome To Tha Roof!");	
	return 1;
}

if(strcmp(cmdtext, "/teleport2", true) == 0)
{   
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)	
	{		 
		SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);	
	}			 
	else	
	{		
		SetPlayerPos(playerid, x, y, z);	
	}	
	SendClientMessage(playerid, 0x00FFFFAA, "Welcome To ......");	
	return 1;
}

return 0;
}

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