發新話題
打印

AMXX教學 -第四章-強大的cvar!(聖誕一日一篇amxx教學)

[Close]

AMXX教學 -第四章-強大的cvar!(聖誕一日一篇amxx教學)

在amxx中 cvar佔下了很重要的席位
佢可以控制到底事件會否發生等等

簡單黎講 佢好似一個開關,當然,仲有好多用途


今日
我地都會用hamsandwich既語法同埋fakemeta(較高階既engine)
hamsandwich既語法大多數關於人體的數值,status等
我地右可以用例子說明




SCRIPT


#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>



#define PLUGIN "djai_tutor"
#define VERSION "4.0"
#define AUTHOR "djai"





public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
register_cvar("amx_tutor_test","0")//其實仲有兩個段位要填,不過係一般情況下,唔填都得
}

public fwHamPlayerSpawnPost(client)
{
if( is_user_alive(client) )
{
        
        if( get_cvar_num("amx_tutor_test") > 0 )
               
        {
               
                return HAM_IGNORED
               
        }
        
        else
               
        {
               
                set_pev(client , pev_health, pev(client, pev_health)+100)
               
                client_print(client, print_center, "由於場主好開心,所以而家你有多100HP!")
               
        }
        
}

return HAM_IGNORED

}

SCRIPT

係今次既教學入邊,我地用左fakemeta同ham

係RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)入邊

我地同個插件講,我地要運用ham既其中一個function,就係Ham_Spawn

咩係Ham_Spawn?
Ham_Spawn = 一舊野重生
問題係, ham = entity
咁你會問咩係entity?
entity其實就係一個實體
實體 i.e = 人 , 車
其實所謂既咩set_user_gravity個啲野
就係入去個entity入邊,之後搵一個gravity既數值,之後改左佢 = 完成
所以entity係好多野
所以Ham_Spawn , 可以講係車既重生,人既重生.....
所以
係第二個段位,我地就要講比插件聽我地e個語法係用係邊個entity身上
今次就用係人身上 = player//緊記!你打player係 = 人,唔好亂咁自創..
跟住第三個段位 = 個function名係咩 = 自己改
最後第四個段位打番一, 至於點解,我會去到教menu先講



係register_cvar("amx_tutor_test","0")入邊
我地先要講咩係cvar
有時好多插件,都可以俾你地自己用cvar黎調節一啲野
以ctps係關ser為例
佢係amx_restart = cvar..
睇番上面
我set左一個cvar , 叫amx_tutor_test , 佢預設既值係0
如果係開ser既人,其實可以係console改佢既值 = 打amx_tutor_test 1/amx_tutor_test 0


public fwHamPlayerSpawnPost(client)//頭先我地set左個名係fwHamPlayerSpawnPost,只係我今次用client黎做玩家編號
{
if( is_user_alive(client) )///is_user_alive(client) = 該玩家是否生存??若是,continue
{
        
if( get_cvar_num("amx_tutor_test") > 0 )//檢查cvar既數目,get_cvar_num("amx_tutor_test") > 0  = 先取得amx_tutor_test既數目(   get_cvar_num("amx_tutor_test")    ) ,之後檢查佢是否大過0?若是,continue
        {
               
         return HAM_IGNORED//不理會 = PLUGIN_CONTINUE(應該係)
               
        }
        
else//如果amx_tutor_test既數目不大過0, else = 不符合if既條件都去e度
               
        {
               
                set_pev(client , pev_health, pev(client, pev_health)+100)
//set_pev(client , pev_health, pev(client, pev_health)+100) = set個entity既數值,對象 = client,修改咩既數值 = pev_health = hp, 修改成幾多? = pev(client, pev_health)+100 = 先取得entity既hp = pev(client, pev_health)
,之後再加一百 = 佢重生既hp + 100
               
                client_print(client, print_center, "由於場主好開心,所以而家你有多100HP!")
               
        }
        
}

return HAM_IGNORED

}

e篇可能會難理解 , 唔明其實係正常

end

amx 官網解釋 + include file(c++)入邊既解釋

register_cvar - Registers new cvar for HL engine.
Syntax:
     register_cvar ( const name[],const string[],flags = 0,Float:fvalue = 0.0 ) <第三及第四段位唔講住,唔打都得
Type:
    Native


is_user_alive - Returns 1 if a player is alive, 0 if dead.
Syntax:
     is_user_alive ( index )
Type:
    Native


get_cvar_num - Gets a cvar integer value
Syntax
get_cvar_num ( const cvarname[] )
Type
Native


set_pev - Sets edict data on an entity.
Syntax:
     set_pev ( index, value, [ ... ] )
Type:
    Native


pev - Returns edict data from an entity.
Syntax:
     pev ( index, value, [ ... ] )
Type:
    Native



唔明一定要問
將來好多野都係關於entity
都係咁講
一定要有心學

[ 本帖最後由 davidto1995 於 2010-12-25 15:19 編輯 ]
久別的VLAN

TOP

oh 教緊關於entity 咁create_entity果d幾時教? 仲有好多native同function未講

TOP

慢慢來...
久別的VLAN

TOP

引用:
原帖由 davidto1995 於 2010-12-25 15:34 發表
慢慢來...
急不及待... :Q  :Q  :Q

TOP

好想學random/_\

TOP

引用:
原帖由 manchunho741 於 2010-12-25 16:30 發表
好想學random/_\
你終於打岩左random  random自學都ok 主要係random_num

TOP

我比較想學menu..

TOP

咁其實寫amxx要用咩??

TOP

AMXX studio
久別的VLAN

TOP

好多野唔明,特別係點解會有兩個if,同埋點整cvar

TOP

wow D仔好勁ar
加油 我同Jackson等緊你個ser嫁
我係D仔既fan

TOP

...................ON_ WA DEE
久別的VLAN

TOP

回復 7# 的帖子

學menu......唔係丫- -
我help你la --

TOP

神手樂教下我啦...

TOP

推番D仔個post上去XD

TOP

發新話題