基础SMA教学 PART-6 教大家CVAR

Home Home
引用 | 编辑 Marchillus
2013-02-24 14:05
楼主
推文 x3
这次的教学由Bemo发出...指定字号4...
(拿着纸边看边打)
以下教学开始啰!
--------------------------------------------------分隔线-------------------------------------------------------------
=*注:发文者为Uw-Wolf  指定发文为Bemo*=
Cvar是什么?
Cvar就是在configs的amxx.cfg里的设定项目 用来间接控制插件
例如
amx_hp
hp
hp_hp
这些都可以当作Cvar
设定Cvar的方法就是
register_cvar("你要的CVAR名字", "预设数值")
注册cvar项目就是在public plugin_init之中
例如
public plugin_init()
{
 register_cvar("amx_giveitem", "1")
}

注册名为amx_giveitem的CVAR并设预设值为1
大家会有一个问题
怎么取得Cvar数值??
以下说明
get_cvar_num  用来取得整数值cvar(1.0之类的数字算错误项)
例子
get_cvar_num("amx_giveitem")   <-----取得已注册Cvar  amx_giveitem的数值(需整数)

get_cvar_float  用来取得小数cvar(1.0即可以) 
例子
get_cvar_num("gravity")  <--gravity翻译为重力  是取得已注册cvar gravity的小数数值
通常用在需要用小数来设定的项目....(例如重力 
get_cvar_pointer 用来取得return的回传数值(此类用法不说明...)
get_cvar_flags 用来取得数值的状态(此类用法不说明...)

如果是要设定 就把get改为set
通常格式为
set_cvar_xxx("cvar名", "数值")
千万不要...
ser_cvar_xxx("cvar名")   == 数字
送上范例SMA

#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "Cvar示范"
#define VERSION "1.0"
#define AUTHOR "Bemo"


public plugin_init()
{
 register_plugin(PLUGIN, VERSION, AUTHOR)
 register_cvar("amx_giveitem", "1")
 register_clcmd("say /give", "give")
}
public give(id)
{
 if(get_cvar_num("amx_giveitem") == 1)
 {
  give_item(0, "weapon_hegrenade")
  give_item(0, "weapon_flashbang")
  give_item(0, "weapon_flashbang")
  give_item(0, "weapon_smokegrenade")
 }
}
  


------------------------------------------------------------------------分隔---------------------------------------------------------------------------------------------------
教学end

献花 x5
引用 | 编辑 烈Gama英仙座
2013-02-24 17:25
1楼
  
喔喔~

原来有些插件可以自己再AMXX.CFG加参数

就是用这个来的阿~~

实在太感谢熬狼大大了~

头香~

(话说这集出的好快阿~)

献花 x0
引用 | 编辑 mischna09
2013-02-24 22:34
2楼
  
狼 你用法要说的清楚一点啊 
例子用多一点 比较容易让别人看的懂
表情

---------------
(好久没发文了 是否该来拼!?)

献花 x0
引用 | 编辑 Marchillus
2013-02-27 17:43
3楼
  
下面是引用 烈Gama英仙座 于 2013-02-24 17:25 发表的 : 到引言文
喔喔~

原来有些插件可以自己再AMXX.CFG加参数

就是用这个来的阿~~

实在太感谢熬狼大大了~

头香~

(话说这集出的好快阿~)
因应需求啰 求文者Bemo ^^  咱也很感谢大家...

献花 x0
引用 | 编辑 sot86217
2013-02-28 10:33
4楼
  
继续加油~

献花 x0
引用 | 编辑 Marchillus
2013-03-03 16:11
5楼
  
下面是引用 sot86217 于 2013-02-28 10:33 发表的 : 到引言文
继续加油~
恩 这样不会触及板规10字的限制吗....不过谢谢

献花 x0
引用 | 编辑 Icery
2013-03-03 21:27
6楼
  
记得CVAR好像对插件满重要的

重点之一 版大的耐心真足够

你的教学真棒! 学起来很简单!

献花 x0
引用 | 编辑 Marchillus
2013-03-08 19:27
7楼
  
下面是引用 b831003ge 于 2013-03-03 21:27 发表的 : 到引言文
记得CVAR好像对插件满重要的

重点之一 版大的耐心真足够

你的教学真棒! 学起来很简单!
当初学习插件时是以服务玩家为宗旨...
看到大家窝在咱的伺服器 真是倍感温馨表情

献花 x0
引用 | 编辑 ak47klo
2013-06-14 20:31
8楼
  
虽然这个用法是以前自己无意发现的...
但还是给你花花+推推 表情

献花 x0
引用 | 编辑 NorK
2013-07-10 22:19
9楼
  
如果要在游戏内的控制台需要A权才可以amx_giveitem指令那应该要怎写

献花 x0
引用 | 编辑 sb369456
2013-08-04 06:52
10楼
  
嗯.看懂了一些
我觉得用cvar好.可以打在amxx.cfg上

献花 x0
引用 | 编辑 lien78520
2014-03-31 15:59
11楼
  
继续加油~

献花 x0
引用 | 编辑 zxzx45248
2014-04-20 12:39
12楼
  
很实用的教学 感谢您的指导

献花 x0
引用 | 编辑 p62104821
2014-07-09 20:36
13楼
  
if(get_cvar_num("amx_giveitem") == 1)
{
give_item(0, "weapon_hegrenade")
give_item(0, "weapon_flashbang")
give_item(0, "weapon_flashbang")
give_item(0, "weapon_smokegrenade")
}
}
我只知道你在控制台打say /give
能够获得手雷组合包
if(get_cvar_num("amx_giveitem") == 1) 干嘛用的..... 表情

献花 x0
引用 | 编辑 IWTLATDSBS
2014-08-15 12:52
14楼
  
cvar原来是这样用的啊

献花 x0
引用 | 编辑 Lf2net618
2014-08-25 10:45
15楼
  
威望不够啦QQ 努力冲一下QQ 表情 表情

献花 x0
引用 | 编辑 asd17634
2015-04-11 02:42
16楼
  
看到一堆 英文 数字....都直接往下翻....
太伤脑袋了......会运转到爆炸....

献花 x0
引用 | 编辑 CHENBIG
2015-04-27 23:10
17楼
  
有一些是稍微可以看懂
但是不是全部

献花 x0
引用 | 编辑 snake8723
2015-07-22 16:00
18楼
  
怎么PART5看得懂PART6就看不懂= =真是难

献花 x0
引用 | 编辑 sam27201
2015-08-16 18:22
19楼
  
最近朋友开服务器 看能不能帮上点忙

献花 x0
引用 | 编辑 wqaz123
2015-08-21 09:46
20楼
  
谢大大分享


希望威望足够可以看到这篇文章 谢谢

献花 x0
引用 | 编辑 a793181018
2016-01-15 09:24
21楼
  
谢谢大师的教学

献花 x0
引用 | 编辑 a23107971a
2016-05-07 14:29
22楼
  
就类似设定指令的意思
原来指令设置也是来自人造的啊
表情

献花 x0
引用 | 编辑 as2648as
2016-05-19 06:56
23楼
  
看不太懂xD
上一篇defind要5威看不到QQ
这篇范例是说
注册amx_giveitem数值为1
如果amx_giveitem数值为1
则给予手榴弹闪光弹烟雾弹
应该是吧xD

献花 x0
引用 | 编辑 maplefeather
2016-10-24 20:49
24楼
  
表情 表情 表情 表情 表情 表情

献花 x0
引用 | 编辑 丘俊
2016-11-24 20:51
25楼
  
如果要在游戏内的控制台需要A权才可以amx_giveitem指令那应该要怎写

献花 x0