storym88349
|
分享:
▲
▼
下面是引用 a7811311622 于 2009-10-12 20:39 发表的 :
那个指令当初看到时是被yymmychat大大用在蝙蝠僵尸支援BOT时判断两方的距离 和高度时的指令,我不知那能不能判断非人的座标,所以我也没提及…
我比较好奇如果改成: new Float:unknow1 = 距离的内容… unknow1 /= unknow1 反正「/=」是自己除以自己的意思…不知道行不行… 呃...除自己会变成一吧 我有去问一个原始码的神手(至少我这样觉得啦...) 他说:开根号?a = sqroot(4)然后a = 2 整个大惊 原来想半天的问题C语言就有了XD 看来以后要好好的研读C语言呐... 另外他还说,get_distance这个函数「好像」可以直接计算两点的直线距离,所以连开根号都不用 我们前面讲那么多,人家讲几句话就解决了... 这就是程度上的差别呐... 这是我写的,但是C4Origin好像有问题 因为我现在赶着去做别的事,没时间检查 大概礼拜六到下礼拜三才会有空上来看一下 就麻烦你们了 复制程式
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <csx>
new bool:planted
new Float:C4Origin[3]
new Float:Origin[3]
public plugin_init(){
register_plugin("Show Distance","BETA","FK")
}
public bomb_planted(id){
planted = true
pev(id, pev_origin, C4Origin)
pev(id, pev_origin, Origin)
new Float:Distance = get_distance_f ( Float:C4Origin[3], Float:Origin[3] )
set_hudmessage(255, 0, 0, 0.47, 0.73, 0, 6.0, 0.0)
if (planted == true){
show_hudmessage(id, "距离C4装设点:%4.1f", Distance)
}
else{
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public bomb_explode(){
planted = false
}
public bomb_defused(){
planted = false
}
[ 此文章被storym88349在2009-10-13 21:38重新编辑 ]
|
|
x0
[35 楼]
From:台湾 | Posted:2009-10-13 21:27 |
|
|
storym88349
|
分享:
▲
▼
这是我重新写过的,可以转档,但是还没测试 同样的,我很忙,现在在赶时间,所以想要测试的就麻烦自己拿去转档吧- - 复制程式
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <csx>
new bool:planted
new Float:C4Origin[3]
new Float:Origin[3]
public plugin_init(){
register_plugin("Show Distance","1.0","FK")
register_event("ResetHUD","Show_Hud","be")
}
public bomb_planted(){
planted = true;
new player[80], pname[32];
read_logargv(0, player, 79);
parse_loguser(player, pname, 31);
new planter = get_user_index(pname);
pev(planter, pev_origin, C4Origin);
return PLUGIN_HANDLED;
}
public bomb_explode(){
planted = false;
}
public bomb_defused(){
planted = false;
}
public Show_Hud(id){
new Float:Distance = get_distance_f (C4Origin,Origin);
pev(id, pev_origin, Origin);
if (planted == true){
set_hudmessage(255, 0, 0, 0.47, 0.73, 0, 6.0, 0.0);
show_hudmessage(id, "距离C4装设点:%4.1f", Distance);
}
else{
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
|
|
x0
[37 楼]
From:台湾 | Posted:2009-10-17 21:23 |
|
|
storym88349
|
分享:
▲
新进度,可以转档,可以使用,但是距离还是有问题 目前的问题是,距离没有办法跟着改变 复制程式
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <csx>
new bool:planted
new Float:C4Origin[3]
new Float:Origin[3]
public plugin_init(){
register_plugin("Show Distance","1.0","FK")
set_task(0.2, "hud",0,"",0,"b")
}
public bomb_planted(id){
planted = true
new player[80], pname[32]
read_logargv(0, player, 79)
parse_loguser(player, pname, 31)
new planter = get_user_index(pname)
pev(planter, pev_origin, C4Origin)
return PLUGIN_CONTINUE
}
public bomb_explode(id){
planted = false
hud(id)
return PLUGIN_HANDLED
}
public bomb_defused(id){
planted = false
hud(id)
return PLUGIN_HANDLED
}
public hud(id){
pev(id, pev_origin, Origin)
new Float:Distance = get_distance_f (C4Origin,Origin)
if (planted == true){
set_hudmessage(225, 25, 25, 0.47, 0.73, 0, 1.0, 1.0, 0.1, 0.2, 1)
show_hudmessage(id, "距离C4装设点:%4.1f", Distance)
}
else{
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
[ 此文章被storym88349在2009-11-02 21:02重新编辑 ]
|
|
x1
[39 楼]
From:台湾中华电信 | Posted:2009-11-02 20:45 |
|
|
|