| 
                
                  | 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 | |  |  |