AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   juggernaut help (https://forums.alliedmods.net/showthread.php?t=56680)

flyeni6 06-18-2007 18:55

juggernaut help
 
this is GHW juggernaut but im editing it.

1. when a new juggernaut is selected some people from the CT side worldspawn. how can i stop that?

2. and how can i make it that the person who killed the juggernaut, becomes juggernaut. not random people

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
new hm_jugg_health
new juggernautmodecvar
new juggernaut
new healthhealth3
public plugin_init()
{
 
register_plugin("Juggernaut","3.0","GHW_Chronic")
 
register_concmd("hm_jugg_mode","toggle_cmd",ADMIN_LEVEL_D," <1=on 0=off>")
 
juggernautmodecvar register_cvar("hm_jugg","1")
 
hm_jugg_health  register_cvar("hm_jugg_health","600")
 
 
set_task(0.1,"repeated_task",0,"",0,"b")
 
register_event("DeathMsg","juggdeath","a")
 
find_new_jn()
}

public 
repeated_task()
{
 new 
name[32]
 if(
get_pcvar_num(juggernautmodecvar) && is_user_alive(juggernaut))
 {
  
set_cvar_num("sv_autoteambalance",0)
  
set_cvar_num("mp_limitteams",0)
  
//set_cvar_num("mp_freezetime",0)
  
new players[32], num
  get_players
(players,num)
  for(new 
i=0;i<num;i++)
  {
   if(
cs_get_user_team(players[i])==CS_TEAM_T)
   {
    if(
players[i]!=juggernaut
    
cs_set_user_team(players[i],CS_TEAM_CT)
    else
    {
     if(
health3)
     {
      
set_user_health(juggernaut,health3)
      
health3 0
     
}
     else
     {
      new 
health2 get_user_health(juggernaut)
      if(
health2==100set_user_health(juggernaut,health)
      else if(
health2health health2
     
}
    }
   }
  }
  
cs_set_user_team(juggernaut,CS_TEAM_T)
  
cs_set_user_model(juggernaut"Halo_Red")
  
cs_set_user_plant(juggernaut,0,0)
  
get_user_name(juggernautname31)
  
set_hudmessage(02550, -1.00.0306.00.1)
  
show_hudmessage(0"Current Juggernaut: %s^nJuggernaut Health: %d",name,health)
 }
}
public 
find_new_jn()
{
 if(
get_pcvar_num(juggernautmodecvar))
 {
  new 
players[32], numplayer
  get_players
(players,num)
  for(new 
i=0;i<num;i++)
  {
   if(
cs_get_user_team(players[i])!=CS_TEAM_SPECTATOR && players[i]>juggernaut)
   {
    
player=players[i]
    break;
   }
  }
  if(!
player)
  {
   if(
players[0]) player=players[0]
   else if(
is_user_connected(juggernaut)) player juggernaut
  
}
  if(
player)
  {
   
health3 get_pcvar_num(hm_jugg_health)
   if(
is_user_connected(juggernaut)) set_user_rendering(juggernaut,kRenderFxNone,0,0,0,kRenderTransAlpha,255)
   
juggernaut=player
   set_user_rendering
(juggernaut,kRenderFxGlowShell,255,255,255,kRenderTransAlpha,70)
   new 
name[32]
   
get_user_name(juggernaut,name,31)
  }
  else
  {
   
juggernaut 0
   set_task
(5.0,"find_new_jn")
  }
 }
}
public 
juggdeath()
{
 if(
get_pcvar_num(juggernautmodecvar))
 {
  if(
read_data(2)==juggernaut)
  {
   
find_new_jn()
  }
  else if(
read_data(1)==juggernaut
  return 
PLUGIN_CONTINUE
 
}
 return 
PLUGIN_CONTINUE
}
public 
toggle_cmd(id,level,cid)
{
 if(!
cmd_access(id,level,cid,2))
 {
  return 
PLUGIN_HANDLED
 
}
 new 
arg1[32]
 
read_argv(1,arg1,31)
 if(
str_to_num(arg1))
 {
  
set_pcvar_num(juggernautmodecvar,1)
  
find_new_jn()
  
server_cmd("sv_restard 5")
 }
 else
 {
  
set_pcvar_num(juggernautmodecvar,0)
  
juggernaut 0
 
}
 return 
PLUGIN_HANDLED



flyeni6 06-19-2007 09:38

Re: juggernaut help
 
does anyone know how to do this?

SweatyBanana 06-19-2007 11:56

Re: juggernaut help
 
Don't bump every day...

flyeni6 06-19-2007 21:32

Re: juggernaut help
 
Quote:

Originally Posted by SweatyBanana (Post 491946)
Don't bump every day...

i don't but w.e

SweatyBanana 06-20-2007 13:01

Re: juggernaut help
 
Maybe if you indented your code a little, you would get some help.

Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
new hm_jugg_health
new juggernautmodecvar
new juggernaut
new health, health3
public plugin_init()
{
    register_plugin("Juggernaut","3.0","GHW_Chronic")
    register_concmd("hm_jugg_mode","toggle_cmd",ADMIN_LEVEL_D," <1=on 0=off>")
    juggernautmodecvar = register_cvar("hm_jugg","1")
    hm_jugg_health  = register_cvar("hm_jugg_health","600")
   
    set_task(0.1,"repeated_task",0,"",0,"b")
    register_event("DeathMsg","juggdeath","a")
    find_new_jn()
}

public repeated_task()
{
    new name[32]
    if(get_pcvar_num(juggernautmodecvar) && is_user_alive(juggernaut))
    {
        set_cvar_num("sv_autoteambalance",0)
        set_cvar_num("mp_limitteams",0)
        //set_cvar_num("mp_freezetime",0)
        new players[32], num
        get_players(players,num)
        for(new i=0;i<num;i++)
        {
            if(cs_get_user_team(players[i])==CS_TEAM_T)
            {
                if(players[i]!=juggernaut)
                    cs_set_user_team(players[i],CS_TEAM_CT)
                else
                {
                    if(health3)
                    {
                        set_user_health(juggernaut,health3)
                        health3 = 0
                    }
                    else
                    {
                        new health2 = get_user_health(juggernaut)
                        if(health2==100) set_user_health(juggernaut,health)
                        else if(health2) health = health2
                        }
                }
            }
        }
        cs_set_user_team(juggernaut,CS_TEAM_T)
        cs_set_user_model(juggernaut, "Halo_Red")
        cs_set_user_plant(juggernaut,0,0)
        get_user_name(juggernaut, name, 31)
        set_hudmessage(0, 255, 0, -1.0, 0.03, 0, 6.0, 0.1)
        show_hudmessage(0, "Current Juggernaut: %s^nJuggernaut Health: %d",name,health)
    }
}
public find_new_jn()
{
    if(get_pcvar_num(juggernautmodecvar))
    {
        new players[32], num, player
        get_players(players,num)
        for(new i=0;i<num;i++)
        {
            if(cs_get_user_team(players[i])!=CS_TEAM_SPECTATOR && players[i]>juggernaut)
            {
                player=players[i]
                break;
            }
        }
        if(!player)
        {
            if(players[0]) player=players[0]
            else if(is_user_connected(juggernaut)) player = juggernaut
            }
        if(player)
        {
            health3 = get_pcvar_num(hm_jugg_health)
            if(is_user_connected(juggernaut)) set_user_rendering(juggernaut,kRenderFxNone,0,0,0,kRenderTransAlpha,255)
            juggernaut=player
            set_user_rendering(juggernaut,kRenderFxGlowShell,255,255,255,kRenderTransAlpha,70)
            new name[32]
            get_user_name(juggernaut,name,31)
        }
        else
        {
            juggernaut = 0
            set_task(5.0,"find_new_jn")
        }
    }
}
public juggdeath()
{
    if(get_pcvar_num(juggernautmodecvar))
    {
        if(read_data(2)==juggernaut)
        {
            find_new_jn()
        }
        else if(read_data(1)==juggernaut)
            return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}
public toggle_cmd(id,level,cid)
{
    if(!cmd_access(id,level,cid,2))
    {
        return PLUGIN_HANDLED
    }
    new arg1[32]
    read_argv(1,arg1,31)
    if(str_to_num(arg1))
    {
        set_pcvar_num(juggernautmodecvar,1)
        find_new_jn()
        server_cmd("sv_restard 5")
    }
    else
    {
        set_pcvar_num(juggernautmodecvar,0)
        juggernaut = 0
    }
    return PLUGIN_HANDLED
}


Deviance 06-20-2007 14:01

Re: juggernaut help
 
Quote:

Originally Posted by flyeni6 (Post 491696)
2. and how can i make it that the person who killed the juggernaut, becomes juggernaut. not random people

Code:
public juggdeath() {     if(get_pcvar_num(juggernautmodecvar))     {         if(read_data(2) == juggernaut)         {             new jugg = read_data(1)                     juggernaut = jugg                         // ...         }                 else if(read_data(1) == juggernaut)                     return PLUGIN_CONTINUE     }         return PLUGIN_CONTINUE }

flyeni6 06-20-2007 14:09

Re: juggernaut help
 
thank you Deviance


All times are GMT -4. The time now is 10:43.

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