wym0451 发表于 2007-1-13 21:24:58

请AMXX高人近! 

#include <amxmodx>
#include <cstrike>

new p_lastk=0,p_lastk_count=0

public plugin_init() {

register_plugin("MultiKill", "1.0", "Marshall")
register_event("DeathMsg", "hook_death", "a")
register_logevent("hook_roundstart",2,"0=World triggered","1=Round_Start")
}

public hook_death(){

new p_message
new Killer = read_data(1)
new headshot = read_data(3)
new p_weapon
read_data(4,p_weapon,15)

//爆头奖励
if(headshot){
new p_name
get_user_name(Killer,p_name,15)
format(p_message,127,"^x04爆头奖励:^x03%s^x01 获得$1000!",p_name)
color_message(p_message)
cs_set_user_money(Killer,cs_get_user_money(Killer) + 1000)
}
//刀杀奖励
if(strcmp(p_weapon,"knife")==0){
new p_name
get_user_name(Killer,p_name,15)
format(p_message,127,"^x04刀杀奖励:^x03%s^x01 获得$1500!",p_name)
color_message(p_message)
cs_set_user_money(Killer,cs_get_user_money(Killer) + 1500)
}

//刀杀奖励
if(strcmp(p_weapon,"grenade")==0){
new p_name
get_user_name(Killer,p_name,15)
format(p_message,127,"^x04雷杀奖励:^x03%s^x01 获得$1500!",p_name)
color_message(p_message)
cs_set_user_money(Killer,cs_get_user_money(Killer) + 1500)
}

//连续杀人奖励
if(p_lastk != Killer){
p_lastk = Killer
p_lastk_count =1
}
else
p_lastk_count++

if(p_lastk_count>=5){
new p_name
get_user_name(Killer,p_name,15)
format(p_message,127,"^x04连续杀人奖励:^x03%s^x01 连续杀人5次,获得$3000!",p_name)
color_message(p_message)
cs_set_user_money(Killer,cs_get_user_money(Killer) + 3000)
}
}

public hook_roundstart(){
p_lastk=0
p_lastk_count=0
}

color_message(p_message[]){
message_begin(MSG_ALL, get_user_msgid("SayText"))
write_byte(1)
write_string(p_message)
message_end()
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2052\\ f0\\ fs16 \n\\ par }
*/


请帮改成加血的.谢谢.用于CSDM2.1.据体数量我自己改就行.

cs_set_user_health(Killer,cs_get_user_health(Killer)+ 20) 这么改行吗? 为什么老通不过AMXX!郁闷中..谢谢高人指点一下.

Rulzy 发表于 2007-1-13 22:06:23

回复: 请AMXX高人近! 

没有语法错误,编译通过。

wym0451 发表于 2007-1-13 22:32:58

回复: 请AMXX高人近! 

Post by Rulzy
没有语法错误,编译通过。

通不过啊.版主..

//爆头奖励
        if(headshot){
                new p_name
                get_user_name(Killer,p_name,15)
                format(p_message,127,"^x04爆头奖励:^x03%s^x01 获得HP10!",p_name)
                color_message(p_message)
                cs_set_user_health(Killer,cs_get_user_health(Killer)+ 20)


cs_set_user_health(Killer,cs_get_user_health(Killer)+ 20)
cs_set_user_health(Killer,cs_get_user_health(Killer)+ 20)
cs_set_user_health(Killer,cs_get_user_health(Killer)+ 20)

对吗?

Rulzy 发表于 2007-1-13 22:36:15

回复: 请AMXX高人近! 

你是怎么编译的?

你先把sma文件拷到 scripting 文件夹下,然后把它拖到 compile.exe 上。

推荐使用 AMXX-Studio。

wym0451 发表于 2007-1-13 22:42:35

回复: 请AMXX高人近! 

Post by Rulzy
你是怎么编译的?

你先把sma文件拷到 scripting 文件夹下,然后把它拖到 compile.exe 上。

推荐使用 AMXX-Studio。


对啊.这些我到会.

我说的是把上面的编译改成加血后就不行了.

我把 

cs_set_user_money(Killer,cs_get_user_money(Killer) + 1500)

改成
cs_set_user_health(Killer,cs_get_user_health(Killer) + 10)

后就不行了..

请板主帮改成加血的谢谢了.! 

wym0451 发表于 2007-1-13 23:07:05

回复: 请AMXX高人近! 

我的意思是说.把这个编译改成加血的.

就是说, 爆头+ 10hp血 
刀杀+10hp血
连续+10hp血
谢谢大家了.急啊!!! 

Rulzy 发表于 2007-1-14 00:37:54

回复: 请AMXX高人近! 

#include <fun>

set_user_health(Killer,get_user_health(Killer) + 10)

Rulzy 发表于 2007-1-14 01:02:19

回复: 请AMXX高人近! 

另外还存在个问题,要判断 Killer 是否为0,是否为TK(已含自己杀死自己)。
public hook_death(){
    new p_message
    new Killer = read_data(1)
    new Victim = read_data(2)
    if(!Killer) return PLUGIN_CONTINUE
    if(get_user_team(Killer)==get_user_team(Victim)) return PLUGIN_CONTINUE
    new headshot = read_data(3)
    new p_weapon
    read_data(4,p_weapon,15)
    .....
    return PLUGIN_CONTINUE
}

Rulzy 发表于 2007-1-14 01:07:44

回复: 请AMXX高人近! 

直接上传给你算了。记得感谢我哦,哈哈。

wym0451 发表于 2007-1-14 03:11:18

回复: 请AMXX高人近! 

Post by Rulzy
直接上传给你算了。记得感谢我哦,哈哈。

还是版主好. 哈哈...这回CSDM2.1有意思了.

要不英雄无用无之地啊...哈哈.不怕菜鸟肉博了!
页: [1] 2
查看完整版本: 请AMXX高人近!