Board logo

標題: (AMXX插件編寫教學Part 1)新手必睇文章!!by:To` ) INFiniTe|David [打印本頁]

作者: davidto1995    時間: 2010-7-24 22:11     標題: (AMXX插件編寫教學Part 1)新手必睇文章!!by:To` ) INFiniTe|David

/* 這是一個AMXX插件編寫教學(Part 1), 專係俾啲唔識AMXX既人睇!!
而家我就寫一個插件,插件係講當玩家係聊天框打 /tutorial既時侯,佢地就會有一啲野(想知係咩就睇落去)
係AMXX插件編寫教學(Part 2),你會識更多功能令到你寫插件寫得更好!!


首先說明一下, "//" <<<(E個符號係用呢做一啲既說明||例子:我死左喇 //E個人已經死左)
係AMXX既系統入邊,系統係唔會睇"//"後面既野
||例子:我死左喇 //E個人已經死左)<<<<系統會睇成:我死左喇)
如果你既說明係好長,你亦可用另一個辦法:
就係係開頭同埋最尾用E個符號 : "/*"        (說明)           "*/"
                                    ^^^^^^^^^^^^^^^^^^^^^
                                     系統係唔會睇E段說明


*/

//宜家正式開始寫插件
//係寫插件開始果陣時,我地要講比系統知E個插件係需要啲咩野(模塊/module)
//例子:
//我想食公仔麵,但係我要煮公仔麵(我想有e個插件,但係我無,我要寫一個出黎)
//(煮公仔麵需要既野:一個公仔麵<<<<<<<<<模塊/module)


#include <amxmodx>                   //"amxmodx"係模塊/英文係module
#include <cstrike>                   //"cstrike"係模塊/英文係module
#include <fun>                       //"fun"係模塊/英文係module

//跟住我地要話俾系統知e個插件既 [名稱/版本/插件作者]
#define PLUGIN "教學" //你當PLUGIN = 教學
#define VERSION "1.0" //你當VERSION = 1.0
#define AUTHOR "To` ) INFiniTe|David" //你當AUTHOR = To` ) INFiniTe|David
/*e個插件既 名稱:教學
            版本:1.0
            插件作者:To` ) INFiniTe|David
*/

//試下幻想下系統知道你要做一個插件叫做"教學"
//佢宜家叫你去控制室set野
public plugin_init() //控制室
{    //開始e段程式碼
        /*頭先我地set左:
                    #define PLUGIN "教學" //你當PLUGIN = 教學
                    #define VERSION "1.0" //你當VERSION = 1.0
                    #define AUTHOR "To` ) INFiniTe|David" //你當AUTHOR = To` ) INFiniTe|Dav"id
        */
//正正因為係咁
//所
    register_plugin(PLUGIN, VERSION, AUTHOR) //
                    ^^^^^^   ^^^^^^  ^^^^^^
//                  教學     1.0     To` ) INFiniTe|David
//系統會睇成 register_plugin(教學, 1.0, To` ) INFiniTe|David)
               

    //我宜家會用一個語法,佢叫"register_clcmd"
    //register_clcmd 既功能係.當玩家係係聊天框打 "指令"||例如打/bm||,就會發生一個事件
    register_clcmd("say /tutorial", "steroids") //say = 禁y講野
    //當玩家打/tutorial,功能 steroids 就會發生!!
    //例子:你同人講hi(say /tutorial),人地就同你講hi(steroids)
    //好,而家我地set左當玩家係係聊天框打 "/tutorial",就會發生一個事件,個事件叫做steroids
   
} //停止e段程式碼
//而家系統知道我地set一個事件既名叫做steroids
//但係佢唔知steroids係要做咩
//我地宜家就同佢講steroids既內容係咩

// 宜家就同佢講steroids既內容係咩
public steroids(id) //事件既內容,語法 public "事件名稱"("對像")//"id"即係個個玩家
{   //開始e段程式碼

    //事件內容:set個玩家既HP係150
               set個玩家既重力係400(CS原先係800)
               係CS晝面中間話   "你的生命為150,重力為400"
                           
   
    // 宜家我地就set個個打左/tutorial既玩家既血量係150
    set_user_health(id,150)
    //set_user_health(id, ?)係一個語法
    //set_user_health:set玩家既血量
    //id:對像(一個玩家)
    //150:血量數值(set個血量係150)
    //語法格式:set_user_health(對像,血量)
   

    //宜家我地就set個個打左/tutorial既玩家既重力係400
    set_user_gravity(id,0.50)
    //set_user_gravity(id,?)係一個語法
    //set_user_gravity:set玩家既重力
    //id:對像(一個玩家)
    //0.50:重力數值(800 = 1.00 || 400 = 0.50[0.50係一半既意思]

    // 宜家我地就set係CS晝面中間話   "你的生命為150,重力為400"
    client_print(id, print_center,"你的生命為150,重力為400")
    //client_print(?, ? ,"?")係一個語法
    //client_print:顯示一個信息俾玩家睇
    //id:對像(一個玩家)
    //print_center:顯示既位置[print_center:中間/print_chat:聊天框]
    //你的生命為150,重力為400":顯示既信息[你鐘意打都得][記住加"   "e個符號]
   

}   //停止e段程式碼

//宜家我地已經set好哂所有野,
/*當玩家係係聊天框打 "/tutorial",就會:set個玩家既HP係150
                                     :set個玩家既重力係400(CS原先係800)
                                     :係CS晝面中間話   "你的生命為150,重力為400"
插件完成!!
*/
//e個係part 1,part係兩日後放出
//希望幫到你地!!



//沒說明的成個插件既程式碼




#include <amxmodx>                  
#include <cstrike>                  
#include <fun>      



#define PLUGIN "教學"
#define VERSION "1.0"
#define AUTHOR "To` ) INFiniTe|David"



public plugin_init()

{   


    register_plugin(PLUGIN, VERSION, AUTHOR)


    register_clcmd("say /tutorial", "steroids")


}



public steroids(id)
{






    set_user_health(id, 150)






    set_user_gravity(id,0.50)






    client_print(id, print_center,"你的生命為150,重力為400")


}

[ 本帖最後由 davidto1995 於 2010-7-24 22:22 編輯 ]
作者: 哭笑不得    時間: 2010-7-24 22:39

有冇教學比中手睇? 睇唔慣新手教學

[ 本帖最後由 哭笑不得 於 2010-7-24 22:46 編輯 ]
作者: mapo    時間: 2010-7-24 22:40

點造啊   我不知你話咩啊
作者: davidto1995    時間: 2010-7-24 22:44

回#2PART2係兩日後放出
回#3幫唔到你
作者: Mc=]]    時間: 2010-7-24 22:47

wOw我在MYC都見到你............
作者: 小殤×ㄦ    時間: 2010-7-24 22:49

register_concmd 同register_clcmd 有咩分別..?..要點用?
作者: kit512aa    時間: 2010-7-24 22:50

原來係咁...不過仲有無其他指令...好似經驗插件果D咁...改重力呀速度呀甲果D...
作者: davidto1995    時間: 2010-7-24 23:01

回#5;唔知你係邊個= =我唔知咩係MYC
回#6:register_clcmd:係y打
        :register_concmd:係~打
點#7:請慢慢學,唔係咁容易寫一個好似你話既個啲插件
         睇我既part2慢慢學^^
作者: tony987852    時間: 2010-7-24 23:05

唉............我依家想睇高手教學...
作者: Mc=]]    時間: 2010-7-24 23:06

引用:
原帖由 davidto1995 於 2010-7-24 23:01 發表
回#5;唔知你係邊個= =我唔知咩係MYC
回#6:register_clcmd:係y打
        :register_concmd:係~打
點#7:請慢慢學,唔係咁容易寫一個好似你話既個啲插件
         睇我既part2慢慢學^^ ...
MYC=MyChat(Tony唔好話我宣傳)
我見到個帳名一樣,唔是你??
作者: davidto1995    時間: 2010-7-24 23:20

回#9:tony慢慢黎 我無咁快= =
回#10:係....
作者: HsK    時間: 2010-7-24 23:25

引用:
原帖由 tony987852 於 2010-7-24 23:05 發表
唉............我依家想睇高手教學...
或者謙些較好 ^^

因為有很多神人在呢 ^^'

[[雖然我是新手...
作者: 小殤×ㄦ    時間: 2010-7-24 23:26

咁我例如..
public function1()
如果我想指要全部玩家...係要(id)定係留空?
作者: tony987852    時間: 2010-7-24 23:41

全部玩家:
set_user_health(0, 血量)
作者: CaLoVe    時間: 2010-7-25 02:28

超強的

新手教學[attach]84029[/attach]
作者: davidto1995    時間: 2010-7-25 03:07

回#15 ca = 高手之中的高手
作者: lkh1018    時間: 2010-7-25 03:13

引用:
原帖由 davidto1995 於 2010-7-24 23:01 發表
回#5;唔知你係邊個= =我唔知咩係MYC
回#6:register_clcmd:係y打
        :register_concmd:係~打
點#7:請慢慢學,唔係咁容易寫一個好似你話既個啲插件
         睇我既part2慢慢學^^ ...
以我所知register_clcmd唔係係打
而register_concmd都唔一定係係~打
係CS入邊, 有2種人會用指令
1. CS玩家, 2. HLDS
register_clcmd係只包括1
register_concmd係包括1&2仲有一個register_srvcmd就係只包括2
好似係
作者: tony987852    時間: 2010-7-25 08:39

register_clcmd 係只限玩家
concmd 就比ser同玩家
register_srvcmd 就只比ser,不過我未見過有人用...
作者: lkh1018    時間: 2010-7-25 12:23

引用:
原帖由 tony987852 於 2010-7-25 08:39 發表
register_clcmd 係只限玩家
concmd 就比ser同玩家
register_srvcmd 就只比ser,不過我未見過有人用...
imessage已經用左
仲有menufront & plmenu & scrollmsg & statsx & timeleft

[ 本帖最後由 lkh1018 於 2010-7-25 12:25 編輯 ]
作者: andrew5579    時間: 2010-7-25 12:55

引用:
原帖由 HsK 於 2010-7-24 23:25 發表

或者謙些較好 ^^

因為有很多神人在呢 ^^'

[[雖然我是新手...
唔通你就是sk~
傳說中的假新
作者: wl02232626    時間: 2010-7-25 13:27

教學內容超詳細
多謝大大
作者: 借粟一燒._.    時間: 2010-7-25 13:38

引用:
原帖由 andrew5579 於 2010-7-25 12:55 發表

唔通你就是sk~
傳說中的假新
插件區版主
作者: phonexma    時間: 2010-7-25 18:32

哇好多謝你呀
搵左好耐-3-
作者: edward0810    時間: 2010-7-25 19:48

呢個教學系其他人寫完後translate過來的 比番個credit人啦
http://forums.alliedmods.net/showthread.php?t=75637
update:你系"/* */"入面唔可以再用"/* */"的~

[ 本帖最後由 edward0810 於 2010-7-25 19:52 編輯 ]
作者: 借粟一燒._.    時間: 2010-7-25 20:27

引用:
原帖由 edward0810 於 2010-7-25 19:48 發表
呢個教學系其他人寫完後translate過來的 比番個credit人啦
http://forums.alliedmods.net/showthread.php?t=75637
update:你系"/* */"入面唔可以再用"/* */"的~
咁樓主算唔算原創內容呢?A_A
作者: edward0810    時間: 2010-7-25 20:33

引用:
原帖由 借粟一燒._. 於 2010-7-25 20:27 發表
咁樓主算唔算原創內容呢?A_A
不算. (2隻字唔比post)
作者: Mc=]]    時間: 2010-7-25 20:35

其實最好講多的更基本的簡介,就好似Pawn/C++/C+/C'語言

Amxx同呢D語言的關係,咁的人咪可以去搵下有沒的教學書lo.....

Although我去中央圖書館同書展都搵唔到
作者: edward0810    時間: 2010-7-25 20:36

引用:
原帖由 Mc=]] 於 2010-7-25 20:35 發表
其實最好講多的更基本的簡介,就好似Pawn/C++/C+/C'語言

Amxx同呢D語言的關係,咁的人咪可以去搵下有沒的教學書lo.....

Although我去中央圖書館同書展都搵唔到 ...
amxx使用的是pawn
作者: vwycwy    時間: 2010-7-25 21:02

//雖然,唔係好明,但我都thx你,咁用心打比我地e d 唔知點整amxx仲要see完都唔明 的人!!
作者: 20ghjsty    時間: 2010-7-25 22:51

引用:
原帖由 edward0810 於 2010-7-25 20:33 發表
不算. (2隻字唔比post)
我都估到佢唔係原創
作者: kit512aa    時間: 2010-7-25 22:57

+油呀-3-第一次明白amxx係點整...多謝哂
作者: 底褲行天下    時間: 2010-7-26 01:05

比人del左= =    :Q :Q
作者: 關羽高達    時間: 2010-7-26 11:52

無左=,= 睇唔到
好慘 我唔識整的
作者: kit512aa    時間: 2010-7-26 14:20

點解要刪-0-.................
作者: david51698    時間: 2010-7-26 17:06

有d咩睇-,-

作者: chris1128999    時間: 2010-7-26 18:23

提示: 該帖被管理員或版主屏蔽




歡迎光臨 IPvE vLan 遊戲平台|網吧系統 (https://www.ipve.com/bbs/) Powered by Discuz! 6.0.0