command help
#1

i have made a command which is similar to airstrike command but i want to set a delay timer of 6 seconds before explosion how to do this ?

Код:
 if (strcmp("/cannonfire", cmdtext, true, 10) == 0)
 {
   if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid, 0xFF0000FF, "You dont have Enough Money For a Cannon Strike");
   new Float:x,Float:y,Float:z;
   GetPlayerPos(playerid,x,y,z);
   SendClientMessage(playerid, 0x00FF00FF, "Cannon fire on your position in 6 Seconds and counting!");
   GivePlayerMoney(playerid, -10000);//take his money
   CreateExplosion(x+random(5), y+random(5), z+random(5), 6, 100.0);
   return 1;
 }
Reply
#2

pawn Код:
if ( !strcmp( "/cannonfire", cmdtext, true, 10 ) )
 {
   if(  GetPlayerMoney(playerid) < 10000 ) return SendClientMessage( playerid, 0xFF0000FF, "You dont have Enough Money For a Cannon Strike" );
   SendClientMessage( playerid, 0x00FF00FF, "Cannon fire on your position in 6 Seconds and counting!" );
   GivePlayerMoney( playerid, -10000 );
   SetTimerEx( "CannonExplosion", 6000, false, "i", playerid );
   return true;
 }
 
forward CannonExplosion(playerid);
public CannonExplosion(playerid)
{  
    new
        Float: P[ 3 ];
    GetPlayerPos( playerid, P[ 0 ], P[ 1 ], P[ 2 ] );
    CreateExplosion( P[ 0 ] + random( 5 ), P[ 1 ] + random( 5 ), P[ 2 ] + random( 5 ), 6, 100.0 );
}
Reply
#3

Код:
C:\Documents and Settings\prince\Desktop\server\gamemodes\rivershell.pwn(432) : error 029: invalid expression, assumed zero
C:\Documents and Settings\prince\Desktop\server\gamemodes\rivershell.pwn(432) : error 004: function "CannonExplosion" is not implemented
C:\Documents and Settings\prince\Desktop\server\gamemodes\rivershell.pwn(433) : error 029: invalid expression, assumed zero
C:\Documents and Settings\prince\Desktop\server\gamemodes\rivershell.pwn(433) : error 004: function "CannonExplosion" is not implemented
3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
eh! 4 errors what to do now
Reply
#4

Try like this
pawn Код:
if ( !strcmp( "/cannonfire", cmdtext, true, 10 ) )
 {
   if(  GetPlayerMoney(playerid) < 10000 ) return SendClientMessage( playerid, 0xFF0000FF, "You dont have Enough Money For a Cannon Strike" );
    else
   {
         SendClientMessage( playerid, 0x00FF00FF, "Cannon fire on your position in 6 Seconds and counting!" );
         GivePlayerMoney( playerid, -10000 );
         SetTimerEx( "CannonExplosion", 6000, false, "i", playerid );
    }
       return true;
 }
 
forward CannonExplosion(playerid);
public CannonExplosion(playerid)
{  
    new
        Float: P[ 3 ];
    GetPlayerPos( playerid, P[ 0 ], P[ 1 ], P[ 2 ] );
    CreateExplosion( P[ 0 ] + random( 5 ), P[ 1 ] + random( 5 ), P[ 2 ] + random( 5 ), 6, 100.0 );
}
Reply
#5

still don't works
Reply
#6

Quote:
Originally Posted by SmiT
Посмотреть сообщение
pawn Код:
if ( !strcmp( "/cannonfire", cmdtext, true, 10 ) )
 {
   if(  GetPlayerMoney(playerid) < 10000 ) return SendClientMessage( playerid, 0xFF0000FF, "You dont have Enough Money For a Cannon Strike" );
   SendClientMessage( playerid, 0x00FF00FF, "Cannon fire on your position in 6 Seconds and counting!" );
   GivePlayerMoney( playerid, -10000 );
   SetTimerEx( "CannonExplosion", 6000, false, "i", playerid );
   return true;
 }
 
forward CannonExplosion(playerid);
public CannonExplosion(playerid)
{  
    new
        Float: P[ 3 ];
    GetPlayerPos( playerid, P[ 0 ], P[ 1 ], P[ 2 ] );
    CreateExplosion( P[ 0 ] + random( 5 ), P[ 1 ] + random( 5 ), P[ 2 ] + random( 5 ), 6, 100.0 );
}

do you know this part

pawn Код:
forward CannonExplosion(playerid);
public CannonExplosion(playerid)
{  
    new
        Float: P[ 3 ];
    GetPlayerPos( playerid, P[ 0 ], P[ 1 ], P[ 2 ] );
    CreateExplosion( P[ 0 ] + random( 5 ), P[ 1 ] + random( 5 ), P[ 2 ] + random( 5 ), 6, 100.0 );
}
Will not be inside OnPlayerCommandText Place it outside a function anywhere in ur script
Reply
#7

ok solved ! thx sahil
Reply
#8

no problem
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)