AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   screen shake (https://forums.alliedmods.net/showthread.php?t=210129)

layka_LUBII 03-06-2013 15:53

screen shake
 
Hi, I need to remake plugin.
I need so that when player write /tras begins to shake CT team
THANK YOU


Code:

#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
  register_plugin("Shake It baby!","1.0","ThantiK")
  register_clcmd("amx_shake","amx_shake",ADMIN_LEVEL_A,"<name or id>")
  return PLUGIN_CONTINUE
}
public amx_shake(id,level,cid){
  if (!cmd_access(id,level,cid,2))
          return PLUGIN_HANDLED
  new target[32]
  read_argv(1,target,31)
 
  if (target[0]=='@') {
          new team[32], team_num
          get_players(team,team_num,"ae",target[1])
          if (!team_num) {
                console_print(id,"[AMX] No clients found on provided team. (@CT or @TERRORIST)")
                return  PLUGIN_HANDLED
          }
          for (new i=0;i<team_num;i++) {
          new gmsgShake = get_user_msgid("ScreenShake")
          message_begin(MSG_ONE, gmsgShake, {0,0,0}, team[i])
          write_short(255<< 14 ) //ammount
          write_short(10 << 14) //lasts this long
          write_short(255<< 14) //frequency
          message_end()
          }
  }
  else if (target[0]=='*') {
          new all[32], all_num
          get_players(all,all_num,"a")
          for (new i=0;i<all_num;i++) {
          new gmsgShake = get_user_msgid("ScreenShake")
          message_begin(MSG_ONE, gmsgShake, {0,0,0}, all[i])
          write_short(255<< 14 ) //ammount
          write_short(10 << 14) //lasts this long
          write_short(255<< 14) //frequency
          message_end()
          }
}
  else {
          new player = cmd_target(id, target,31)
          new gmsgShake = get_user_msgid("ScreenShake")
          if(is_user_alive(player)){
          message_begin(MSG_ONE, gmsgShake, {0,0,0}, player)
          write_short(255<< 14 ) //ammount
          write_short(10 << 14) //lasts this long
          write_short(255<< 14) //frequency
          message_end()
          }
}
  return PLUGIN_HANDLED 
}


Torge 03-06-2013 16:06

Re: screen shake
 
Try this, I didn't used compiler to try whether it show errors, so let me know

PHP Code:

#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
   
register_plugin("Shake It baby!","1.0","ThantiK")
   
register_clcmd("say /tras""clcmd_shake");
   return 
PLUGIN_CONTINUE
}
public 
clcmd_shake(id)
{
          for (new 
i=0;i<team_num;i++) {
          new 
gmsgShake get_user_msgid("ScreenShake")
          
message_begin(MSG_ONEgmsgShake, {0,0,0}, team[i])
          
write_short(255<< 14 //ammount
          
write_short(10 << 14//lasts this long
          
write_short(255<< 14//frequency
          
message_end()
          }
   }



Blizzard_87 03-06-2013 19:38

Re: screen shake
 
Quote:

Originally Posted by Torge (Post 1907916)
Try this, I didn't used compiler to try whether it show errors, so let me know

PHP Code:

#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
   
register_plugin("Shake It baby!","1.0","ThantiK")
   
register_clcmd("/tras""clcmd_shake");
   return 
PLUGIN_CONTINUE
}
public 
clcmd_shake(id)
{
   new 
target[32]
   
read_argv(1,target,31)
  
   if (
target[0]=='@') {
          new 
team[32], team_num
          get_players
(team,team_num,"ae",target[1])
          if (!
team_num) {
                 
console_print(id,"[AMX] No clients found on provided team. (@CT or @TERRORIST)")
                 return   
PLUGIN_HANDLED
          
}
          for (new 
i=0;i<team_num;i++) {
          new 
gmsgShake get_user_msgid("ScreenShake")
          
message_begin(MSG_ONEgmsgShake, {0,0,0}, team[i])
          
write_short(255<< 14 //ammount
          
write_short(10 << 14//lasts this long
          
write_short(255<< 14//frequency
          
message_end()
          }
   }
   else if (
target[0]=='*') {
          new 
all[32], all_num
          get_players
(all,all_num,"a")
          for (new 
i=0;i<all_num;i++) {
          new 
gmsgShake get_user_msgid("ScreenShake")
          
message_begin(MSG_ONEgmsgShake, {0,0,0}, all[i])
          
write_short(255<< 14 //ammount
          
write_short(10 << 14//lasts this long
          
write_short(255<< 14//frequency
          
message_end()
          }
}
   else {
          new 
player cmd_target(idtarget,31)
          new 
gmsgShake get_user_msgid("ScreenShake")
          if(
is_user_alive(player)){
          
message_begin(MSG_ONEgmsgShake, {0,0,0}, player)
          
write_short(255<< 14 //ammount
          
write_short(10 << 14//lasts this long
          
write_short(255<< 14//frequency
          
message_end()
          }
}



you need to change this
PHP Code:

 register_clcmd("/tras""clcmd_shake"); 

to

PHP Code:

 register_clcmd("say /tras""clcmd_shake"); 

then change the
PHP Code:

 read_argv(1,target,31

to
PHP Code:

 read_argv(2,target,31


Torge 03-07-2013 09:14

Re: screen shake
 
Thanks, forget that...

But where's the difference between 1 and 2?

layka_LUBII 03-07-2013 10:47

Re: screen shake
 
Does not work

Torge 03-07-2013 13:15

Re: screen shake
 
Updated.

layka_LUBII 03-08-2013 10:06

Re: screen shake
 
Help me please

Torge 03-08-2013 11:44

Re: screen shake
 
What's about check my code? (:

layka_LUBII 03-08-2013 11:49

Re: screen shake
 
Does not work code Torqe Help me !!

Torge 03-08-2013 12:36

Re: screen shake
 
Try now.


All times are GMT -4. The time now is 21:40.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.