基礎SMA教學 PART-2 持續執行

Home Home
<< 1 2 >>
跳頁: (共 2 頁)
引用 | 編輯 Marchillus
2013-02-08 20:41
樓主
推文 x1
對不起!您沒有登入,請先登入論壇


獻花 x2
引用 | 編輯 Nailaz
2013-02-08 21:31
1樓
  
think就是持續偵測的function
基礎的吧 哈哈

獻花 x0
引用 | 編輯 Marchillus
2013-02-08 21:48
2樓
  
下面是引用 鄭柏昇 於 2013-02-08 21:31 發表的 : 到引言文
think就是持續偵測的function
基礎的吧 哈哈
所以咱才會說是續性指令麻表情

獻花 x0
引用 | 編輯 Nailaz
2013-02-08 21:54
3樓
  
public client_PreThink(id) <-------我們並不是在public_clcmd 而是public一個續性指令
{
    if(!is_user_connected(id))<--------意思即是 如果(如果=if)此玩家沒有"已連線"這個過去式動作(不是現在式)
什麼過去式啊 用在這代表示持續檢測有沒有連現吧

獻花 x0
引用 | 編輯 G.M.I
2013-02-09 00:31
4樓
  
我想問一下,需然我寫了多年插件
但還是搞不清楚
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
--------------------------------------------
return PLUGIN_HANDLED 是不是跟Ham式的return HAM_SUPERCEDE 一樣功能?

return PLUGIN_CONTINUE = 停止執行之後的語句
對嗎??

獻花 x0
引用 | 編輯 Marchillus
2013-02-09 11:09
5樓
  
下面是引用 鄭柏昇 於 2013-02-08 21:54 發表的 : 到引言文

什麼過去式啊 用在這代表示持續檢測有沒有連現吧
因為我沒有用口語化說明麻表情

獻花 x0
引用 | 編輯 Marchillus
2013-02-09 11:12
6樓
  
下面是引用 G.M.I 於 2013-02-09 00:31 發表的 : 到引言文
我想問一下,需然我寫了多年插件
但還是搞不清楚
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
--------------------------------------------
return PLUGIN_HANDLED 是不是跟Ham式的return HAM_SUPERCEDE 一樣功能?

return PLUGIN_CONTINUE = 停止執行之後的語句
對嗎??
return PLUGIN_HANDLED和return HAM_SUPERCEDE是不一樣的喔~
CONTINUE意思是繼續
return PLUGIN_CONTINUE口語化就是繼續執行插件

獻花 x0
引用 | 編輯 G.M.I
2013-02-12 13:55
7樓
  
下面是引用 ffgh478tw 於 2013-02-09 11:12 發表的 : 到引言文

return PLUGIN_HANDLED和return HAM_SUPERCEDE是不一樣的喔~
CONTINUE意思是繼續
return PLUGIN_CONTINUE口語化就是繼續執行插件

if(is_user_alive(id))
return PLUGIN_CONTINUE


user_kill(id)




if(is_user_alive(id))


user_kill(id)


有什麼分別

獻花 x0
引用 | 編輯 烈Gama英仙座
2013-02-13 18:20
8樓
  
有幾個 if 就要用幾個 return PLUGIN_CONTINUE 嗎??

那我問妳2個問題:

1.如果是 if(cs_get_user_team(id) == CS_TEAM_T)
     {
           ...
     }
     return PLUGIN_CONTINUE //要加這行嗎??

2.我試寫的插件:

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

public plugin_init()
{
     register_plugin("boss_no_gun", "1.0", "Gama")
}

public client_PreThink(id)
{
     if(cs_get_user_team(id) == CS_TEAM_T)
     {
           if(cs_get_user_hasprim(id) == 1)
           {
                 strip_user_weapons(id)
                 give_item(id, "weapon_knife")
                 plugin_end
           }
           return PLUGIN_CONTINUE
     }
     return PLUGIN_CONTINUE
}


試用完後發現拿起主武器就變成"一直" "刪除武器後給予小刀"

為啥?? 我不是有用了plugin_end 嗎??

指點...謝謝

獻花 x0
引用 | 編輯 Marchillus
2013-02-13 18:58
9樓
  
下面是引用 烈Gama英仙座 於 2013-02-13 18:20 發表的 : 到引言文
有幾個 if 就要用幾個 return PLUGIN_CONTINUE 嗎??
那我問妳2個問題:
1.如果是 if(cs_get_user_team(id) == CS_TEAM_T)
     {
           ...
.......
1.汝一定要加喔
2.第一  汝怎麼if裡面又包個if呢?
   正確的寫法
   #include <amxmodx>
   #include <cstrike>
   #include <fun>
  
   public plugin_init()
 {
  register_plugin("boss_no_gun", "1.0", "Gama")
 }
 
 public client_PreThink(id)
 {
  if(cs_get_user_team(id) == CS_TEAM_T)
  return PLUGIN_CONTINUE;    <-----要加;
  if(cs_get_user_hasprim(id) == 1)
  {
   strip_user_weapons(id)
   give_item(id, "weapon_knife")
   plugin_end
  }
  return PLUGIN_CONTINUE
 }
 問題來囉   汝有沒有發現   只要拿武器會一直被換刀 因為這個是持續偵測的!   咱目前要幫汝弄完整有點懶(剛從義大遊樂園回來
 有需要發訊息給咱吧!咱要去趴一下! 

獻花 x0
引用 | 編輯 烈Gama英仙座
2013-02-13 21:57
10樓
  
了解~

謝謝大大

話說剛從義大"回來"~~

你是哪裡人咧??


怪怪的??


這樣寫怎麼變成只有CT拿刀??


而且好像還是沒解決


附上修改後的寫法:



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


public plugin_init()
{
register_plugin("boss_no_gun", "1.0", "Gama")
}


public client_PreThink(id)
{
if(cs_get_user_team(id) == CS_TEAM_T)
return PLUGIN_CONTINUE


if(cs_get_user_hasprim(id) == 1)
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
plugin_end 
}
return PLUGIN_CONTINUE
}

獻花 x0
引用 | 編輯 Marchillus
2013-02-14 10:49
11樓
  
下面是引用 烈Gama英仙座 於 2013-02-13 21:57 發表的 : 到引言文
了解~
謝謝大大
話說剛從義大"回來"~~


你是哪裡人咧??

.......
這我就不知道了 CT只有拿刀那就是指令的地方打錯
你可以用代數來限制他丟武器的次數^^
例如
new stripweapon
register_logevent("roundstart",2, "1=Round_Start")
public roundstart()
{
        stripweapon[id] = 0
}
然後再丟武器那邊加上
stripweapon ++
再放個
if(stripweapon = 1)
plugin_end
return PLUGIN_HANDLED

獻花 x1
引用 | 編輯 Marchillus
2013-02-14 21:02
12樓
  
下面是引用 yintxu 於 2013-02-14 20:39 發表的 : 到引言文
點有威望??
哀哀哀   大大汝這樣犯了板規喔  快改回來字數吧! 

獻花 x0
引用 | 編輯 Marchillus
2013-02-14 21:13
13樓
  
下面是引用 G.M.I 於 2013-02-12 13:55 發表的 : 到引言文


if(is_user_alive(id))
return PLUGIN_CONTINUE


user_kill(id)




if(is_user_alive(id))


user_kill(id)


有什麼分別
老實說汝也可以不加看看 只是到時候會崩潰吧^^

獻花 x0
引用 | 編輯 Marchillus
2013-02-24 13:18
14樓
  
下面是引用 G.M.I 於 2013-02-12 13:55 發表的 : 到引言文


if(is_user_alive(id))
return PLUGIN_CONTINUE


user_kill(id)




if(is_user_alive(id))


user_kill(id)


有什麼分別
編譯會錯誤...

獻花 x0
引用 | 編輯 Icery
2013-03-03 21:12
15樓
  
原來是這樣

看了很多教學都不知道原理

你整理得真好

繼續Part 3→

獻花 x0
引用 | 編輯 lkk550309
2013-06-19 22:14
16樓
  
看完之後 還是不知道該如何運用...... 我去看part3好了

獻花 x0
引用 | 編輯 hk1005559
2013-07-03 22:34
17樓
  
我不會用client_PreThink的
我會用FM_PlayerPreThink的

用client_PreThink會比較LAG(個人意見) 表情

獻花 x0
引用 | 編輯 T0un5G
2013-08-25 17:01
18樓
  
下面是引用 hk1005559 於 2013-07-03 22:34 發表的 Re:by 嫯P.V.W狼   2/9修正,|基礎SMA教學 PART-2 持續執行: 到引言文
我不會用client_PreThink的
我會用FM_PlayerPreThink的

用client_PreThink會比較LAG(個人意見) 表情







LAG?什麼會LAG? SV LAG還是?

獻花 x0
引用 | 編輯 12456789
2013-09-11 15:56
19樓
  
現在學編寫sma想找教學十分困難,

這個sma教學簡直是造福人群!(包括我 表情 )

獻花 x0
引用 | 編輯 12456789
2013-09-11 15:58
20樓
  
現在學編寫sma想找教學十分困難,

這個sma教學簡直是造福人群!(包括我 表情 )

獻花 x0
引用 | 編輯 Marchillus
2013-12-30 22:22
21樓
  
下面是引用 12456789 於 2013-09-11 15:58 發表的 Re:by 嫯P.V.W狼   2/9修正,|基礎SMA教學 PART-2 持續執行: 到引言文
現在學編寫sma想找教學十分困難,

這個sma教學簡直是造福人群!(包括我 表情   )
先生你這個文在我的文章用了七八百次只不過是賺威望的

獻花 x0
引用 | 編輯 j12412211202
2014-05-11 10:01
22樓
  
因為大大的教學。令我學會了如何製作sma

獻花 x0
引用 | 編輯 arj09258
2014-05-18 01:21
23樓
  
感謝大大的教學!!

獻花 x0
引用 | 編輯 p62104821
2014-07-09 20:15
24樓
  
類似迴圈裝置.....
在插件裡面加入秒數 應該就能改成公告插件了....

獻花 x0
引用 | 編輯 -3333-
2014-07-12 10:45
25樓
  
PART 1好像要3威望..SAD

獻花 x0
引用 | 編輯 (1)超強CT
2014-07-15 09:54
26樓
  
#include <amxmodx>
#include <fun>
#include <cstrike>

public plugin_init()
{
      register_plugin("自動持續插件", "1.0", "kill")
}

public clinet_PreTnink(id)
{
      if(!is_user_connected(id))
              return PLUGIN_CONTINUE;
      if(get_user_deaths(id) == 7)
    {
             client_print(id, print_chat, "你已經連續死了7次,加油點吧")
             plugin_end
    }
     return PLUGIN_CONTINUE
}

我這是哪裡錯誤呢 我開遊戲都沒成功

獻花 x0
引用 | 編輯 Marchillus
2014-07-15 10:45
27樓
  
下面是引用 (1)超強CT 於 2014-07-15 09:54 發表的 Re:by 嫯P.V.W狼   2/9修正,|基礎SMA教學 PART-2 持續執行: 到引言文
#include <amxmodx>
#include <fun>
#include <cstrike>

public plugin_init()
{
      register_plugin("自動持續插件", "1.0", "kill")
}

public clinet_PreTnink(id)
{
      if(!is_user_connected(id))
              return PLUGIN_CONTINUE;
      if(get_user_deaths(id) == 7)
    {
             client_print(id, print_chat, "你已經連續死了7次,加油點吧")
             plugin_end
    }
     return PLUGIN_CONTINUE
}

我這是哪裡錯誤呢 我開遊戲都沒成功



其實  這樣的功能並不適合這樣編寫
必須用Ham_Killed再加上一個變數來判斷牠的死亡次數

獻花 x0
引用 | 編輯 月夢神
2014-07-20 22:10
28樓
  
看了 但是有點...

獻花 x0
引用 | 編輯 Lf2net618
2014-08-25 10:50
29樓
  
差一點!!!在努力一下就有2威望了-///- 表情 表情

獻花 x0
<< 1 2 >>
跳頁: (共 2 頁)