Jump to content
Posted
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

Edited by watkijkje

Featured Replies

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

  • Author
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?

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.

Edited by Sandra18[NL]

  • Author
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!

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.

  • Author
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;
}

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

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;
}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.