基礎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