Raised This Month: $51 Target: $400
 12% 

Xtrafun_to_Vexd: Guide for converting a plugin using xtrafun


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
[ACORNS]*KENNY*
Junior Member
Join Date: Apr 2005
Old 04-05-2005 , 02:00   Xtrafun_to_Vexd: Guide for converting a plugin using xtrafun
Reply With Quote #1

Alright guys, heres a guide for getting your plugins to work with the newer verions of AMX that require xtrafun.

1. download this: http://djeyl.net/forum/index.php?act...post&id=257674 and put it in your include folder:
C:\Program Files\Valve\Steam\SteamApps\<your steam account>\Counter-Strike\cstrike\addons\amx\examples\include
or
C:\Program Files\Valve\Steam\SteamApps\<your steam account>\Dedicated Server\cstrike\addons\amx\examples\include
and download the latest version of VexdUM at http://djeyl.net/forum/index.php?act...post&id=260918 to replace the one that came with 0.9.9

2. open the sma file with a simple text editor such as wordpad and replace the line <xtrafun> with <Xtrafun_to_Vexd> like so:

Code:
<amxmod> 
<xtrafun> 
<superheromod.inc>
to
Code:
<amxmod> 
<Xtrafun_to_Vexd> 
<superheromod.inc>
and then save (make sure it saves as .sma and not .txt)

3. compile the sma, goto the compile folder, take the amx and place it into your plugins folder, then add to plugins.ini the plugin name, ex. sh_cannonball.amx

4. Restart your server and your good to go

Heres an example sma:

Code:
#include <amxmod>
#include <Xtrafun_to_Vexd.inc>
#include <superheromod.inc>

// CANNONBALL

// VARIABLES
new gHeroName[]="CannonBall" //Name of the Hero
new bool:ghasCannonballPower[SH_MAXSLOTS+1]
new gCanFire[SH_MAXSLOTS+1]
new gSpriteSmoke, gMaxSpeed, gThrust, gUseFuel, gFuelCost, gCanArmor, gSpriteFire, gCanTimer[SH_MAXSLOTS+1] //gSpriteBurning, 
new Float:gMultiplier
//----------------------------------------------------------------------------------------------
public plugin_init()
{
  // Plugin Info
  register_plugin("SUPERHERO CannonBall","1.0","StuD|MaN and <A<o>L>EvilGoten") //Registers Plugin
 
  // FIRE THE EVENT TO CREATE THIS SUPERHERO!
  if ( isDebugOn() ) server_print("Attempting to create CannonBall Hero")
  if (!cvar_exists("can_level")) register_cvar("can_level", "5" ) //Tells the level of hero
  shCreateHero(gHeroName, "Burst Of Super Speed", "Recharge The Boosters And Soar Fast", true, "can_level" ) //Creates hero into list

  
  // REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS)
  // INIT
  register_srvcmd("can_init", "can_init") //Called when someone gets hero
  shRegHeroInit(gHeroName, "can_init") //Tells server u made init
  register_event("ResetHUD","newRound","b")
  register_srvcmd("can_kd", "can_kd")
  shRegKeyDown(gHeroName, "can_kd")
  register_event("DeathMsg", "can_death", "a")
  register_srvcmd("can_loop", "can_loop")
  set_task(1.0,"can_loop",0,"",0,"b" )
  
  
  // DEFAULT THE CVARS
  register_cvar("can_gravity", "0.20" )
  register_cvar("can_gravitya", "1" )
  register_cvar("can_maxspeed", "1200" )
  register_cvar("can_timer", "0.1" )
  register_cvar("can_armorcost", "100" )
  register_cvar("can_armorfuel", "5" )
  register_cvar("can_expradius", "50" )
  register_cvar("can_expdamage", "20" )
  register_cvar("can_armor", "150" )
  register_cvar("can_thrust", "900" )
  register_cvar("can_xymult", "5")
  register_cvar("can_cool", "1")
  gMultiplier=get_cvar_float("can_xymult")
  gThrust=get_cvar_num("can_thrust")
  gMaxSpeed=get_cvar_num("can_maxspeed")
  gUseFuel=get_cvar_num("can_armorfuel")
  gFuelCost=get_cvar_num("can_armorcost")
  gCanArmor=get_cvar_num("can_armor")

  shSetMaxArmor(gHeroName, "can_armor" )
}
//----------------------------------------------------------------------------------------------
public plugin_precache()
{
   gSpriteSmoke   = precache_model("sprites/steam1.spr") 
   gSpriteFire    = precache_model("sprites/hexplo.spr") 
  // gSpriteBurning = precache_model("sprites/xfire.spr") 
   precache_sound("misc/missile.wav")
}
//----------------------------------------------------------------------------------------------
public can_init()
{
  new temp[6]
  // First Argument is an id
  read_argv(1,temp,5)
  new id=str_to_num(temp)
  
  // 2nd Argument is 0 or 1 depending on whether the id has cannonball powers
  read_argv(2,temp,5)
  new hasPowers=str_to_num(temp)
  
  ghasCannonballPower[id]=(hasPowers!=0)
  new parm[1]
  parm[0]=id
  if ( hasPowers!=0 )
  {
    set_task( get_cvar_float("can_timer"), "can_loop", id, parm, 1, "b")
  }
  else
  {
    remove_task(id)
  }
}
//----------------------------------------------------------------------------------------------
public canExpEffect(location[3]) 
{ 
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
   write_byte(17) 
   write_coord(location[0]) 
   write_coord(location[1]) 
   write_coord(location[2]) 
   write_short(gSpriteFire)
   write_byte(5) 
   write_byte(125) 
   message_end() 
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
   write_byte(17) 
   write_coord(location[0]) 
   write_coord(location[1]) 
   write_coord(location[2]) 
   write_short(gSpriteSmoke) 
   write_byte(5) 
   write_byte(125) 
   message_end() 
} 
//----------------------------------------------------------------------------------------------
public can_loop(parm[])
{
  new id=parm[0]
  new velocity[3] 
  new origin[3]
  new userArmor

  if ( !is_user_alive(id) ) return
  
  // Increase armor for this guy
  userArmor=get_user_armor(id)
  if ( userArmor<gCanArmor )
  {
    set_user_armor(id, userArmor + gUseFuel )
    return
  }
    
  // OK - We'll make this armor based - but also add armor
  // But get it back too
  if ( gUseFuel != 0 && gFuelCost > userArmor )
  {
     playSoundDenySelect(id)
     return
  }
 
  new canThrust=gThrust
  new canMaxSpeed=gMaxSpeed
  new Float:canXYMult=gMultiplier
  
  if (gCanFire[id] == 1) 
  {        
    // Decrement Fuel
    if ( gUseFuel!=0 )
    set_user_armor(id, userArmor - gFuelCost )
    get_user_velocity(id, velocity) 
    velocity[0] = floatround(velocity[0] * canXYMult) 
    velocity[1] = floatround(velocity[1] * canXYMult) 
    velocity[2] += canThrust
    if ( velocity[0]>canMaxSpeed  ) velocity[0]=canMaxSpeed
    if ( velocity[0]<-canMaxSpeed ) velocity[0]=-canMaxSpeed
    if ( velocity[1]>canMaxSpeed  ) velocity[1]=canMaxSpeed
    if ( velocity[1]<-canMaxSpeed ) velocity[1]=-canMaxSpeed
    if ( velocity[2]>canMaxSpeed ) velocity[2]=canMaxSpeed
    set_user_velocity(id, velocity) 

    get_user_origin(id, origin, 0)     
    canExpEffect(origin) 
    emit_sound(id, CHAN_WEAPON, "misc/missile.wav", 1.0, ATTN_NORM, 0, PITCH_LOW) 
    // Restore Gravity
    set_user_godmode(id,1)
    shSetMinGravity(gHeroName, "8000" )
    gCanTimer[id]=0
    // Turn off GODMODE
    set_user_godmode(id,0)
    get_user_origin(id, origin, 0)
    canExpEffect(origin)
    shSetMinGravity(gHeroName, "800" )
    gCanFire[id] = 0

  }
}

//----------------------------------------------------------------------------------------------
// RESPOND TO KEYDOWN
public can_kd() 
{ 
  new temp[6]
  gCanArmor=get_cvar_num("can_armorcost")
  // First Argument is an id with Cannonball Powers!
  read_argv(1,temp,5)
  new id=str_to_num(temp)
  new userArmor
  userArmor=get_user_armor(id)
  if ( userArmor<gCanArmor )
  {
    playSoundDenySelect(id)
    return PLUGIN_HANDLED 
  }  
  
  if ( !is_user_alive(id) ) return PLUGIN_HANDLED 
    
  gCanFire[id] = 1 
  shSetMinGravity(gHeroName, "can_gravity" )
  return PLUGIN_HANDLED 
} 
//----------------------------------------------------------------------------------------------
public newRound(id)
{
  // Restore Gravity
  shSetMinGravity(gHeroName, "800" )
  gCanTimer[id]=0
  // Turn off GODMODE
  set_user_godmode(id,0)
  return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
public can_death()
{
  new id=read_data(2)

  if ( id<0 || id>SH_MAXSLOTS ) return PLUGIN_CONTINUE
    
  gCanFire[id]=0
  
  return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
public client_disconnect(id)
{

  if ( id <=0 || id>32 ) return PLUGIN_CONTINUE
  
  remove_task(id)
  
  return PLUGIN_CONTINUE  
}
//----------------------------------------------------------------------------------------------
Attached Files
File Type: zip Xtrafun_to_Vexd.zip (893 Bytes, 223 views)
__________________
http://www.acornsrus.com

Acorns `R Us
66.208.107.118:27015
[ACORNS]*KENNY* is offline
Send a message via AIM to [ACORNS]*KENNY*
LUNCHBOX!!!
Senior Member
Join Date: Nov 2004
Location: In a lunchbox!!!
Old 04-05-2005 , 13:14   Re: Xtrafun_to_Vexd: Guide for converting a plugin using xtr
Reply With Quote #2

Quote:
Originally Posted by [ACORNS
*KENNY*]1. download this: http://djeyl.net/forum/index.php?act...post&id=257674 and put it in your include folder:
C:\Program Files\Valve\Steam\SteamApps\<your steam account>\Counter-Strike\cstrike\addons\amx\examples\include
I can't download it because it says the file is currupted, so could you post it or someone else.
__________________
Fly..or something
Retierd!
LUNCHBOX!!! is offline
jtp10181
Veteran Member
Join Date: May 2004
Location: Madison, WI
Old 04-05-2005 , 16:11  
Reply With Quote #3

its not corrupted, you just dont know what you are doing. I will attach the EXACT same zip file to his post above, i JUST downloaded it myself.
__________________
jtp10181 is offline
Send a message via ICQ to jtp10181 Send a message via AIM to jtp10181 Send a message via MSN to jtp10181 Send a message via Yahoo to jtp10181
LUNCHBOX!!!
Senior Member
Join Date: Nov 2004
Location: In a lunchbox!!!
Old 04-05-2005 , 16:14  
Reply With Quote #4

Thank you so much.
__________________
Fly..or something
Retierd!
LUNCHBOX!!! is offline
[ACORNS]*KENNY*
Junior Member
Join Date: Apr 2005
Old 04-10-2005 , 18:55  
Reply With Quote #5

bump
__________________
http://www.acornsrus.com

Acorns `R Us
66.208.107.118:27015
[ACORNS]*KENNY* is offline
Send a message via AIM to [ACORNS]*KENNY*
Iconoclast
Senior Member
Join Date: Jul 2004
Location: Illinois
Old 04-10-2005 , 19:22  
Reply With Quote #6

why did you bump it...? you didnt ask a question.
__________________
-[IR]-Servers | Superhero Mod 24.14.27.156:27015
Fast+Saved+Mercy XP, 14 players max, Custom Heros+Maps, 30 Levels
START AT LVL 4! E-mail [email protected] for buying level/admin details.
Iconoclast is offline
Send a message via AIM to Iconoclast Send a message via MSN to Iconoclast
jtp10181
Veteran Member
Join Date: May 2004
Location: Madison, WI
Old 04-10-2005 , 20:39  
Reply With Quote #7

Quote:
Originally Posted by [ACORNS
*KENNY*]bump
way to spam, this is linked in my useful links in the main global annoucement. you dont need to bump it, if people care they will read it.
__________________
jtp10181 is offline
Send a message via ICQ to jtp10181 Send a message via AIM to jtp10181 Send a message via MSN to jtp10181 Send a message via Yahoo to jtp10181
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 20:03.


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