Jump to content
Geplaatst:
comment_831568

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

Featured Replies

Geplaatst:
comment_831572

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:
  • Auteur
comment_831577
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:
comment_831660

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:
  • Auteur
comment_831680

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:
comment_831949

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:
  • Auteur
comment_831966

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:
comment_831970

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:
comment_831971

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

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.