on this post, i will give u some way to make u able to edit radar info of player.
first, see this thing
Code:
Sub-Class Table (2 Deep): m_bPlayerSpotted
-Member: 000 (offset 0) (type integer) (bits 1)
-Member: 001 (offset 1) (type integer) (bits 1)
-Member: 002 (offset 2) (type integer) (bits 1)
-Member: 003 (offset 3) (type integer) (bits 1)
-Member: 004 (offset 4) (type integer) (bits 1)
-Member: 005 (offset 5) (type integer) (bits 1)
-Member: 006 (offset 6) (type integer) (bits 1)
-Member: 007 (offset 7) (type integer) (bits 1)
-Member: 008 (offset 8) (type integer) (bits 1)
-Member: 009 (offset 9) (type integer) (bits 1)
-Member: 010 (offset 10) (type integer) (bits 1)
-Member: 011 (offset 11) (type integer) (bits 1)
-Member: 012 (offset 12) (type integer) (bits 1)
-Member: 013 (offset 13) (type integer) (bits 1)
-Member: 014 (offset 14) (type integer) (bits 1)
-Member: 015 (offset 15) (type integer) (bits 1)
-Member: 016 (offset 16) (type integer) (bits 1)
-Member: 017 (offset 17) (type integer) (bits 1)
-Member: 018 (offset 18) (type integer) (bits 1)
-Member: 019 (offset 19) (type integer) (bits 1)
-Member: 020 (offset 20) (type integer) (bits 1)
-Member: 021 (offset 21) (type integer) (bits 1)
-Member: 022 (offset 22) (type integer) (bits 1)
-Member: 023 (offset 23) (type integer) (bits 1)
-Member: 024 (offset 24) (type integer) (bits 1)
-Member: 025 (offset 25) (type integer) (bits 1)
-Member: 026 (offset 26) (type integer) (bits 1)
-Member: 027 (offset 27) (type integer) (bits 1)
-Member: 028 (offset 28) (type integer) (bits 1)
-Member: 029 (offset 29) (type integer) (bits 1)
-Member: 030 (offset 30) (type integer) (bits 1)
-Member: 031 (offset 31) (type integer) (bits 1)
-Member: 032 (offset 32) (type integer) (bits 1)
-Member: 033 (offset 33) (type integer) (bits 1)
-Member: 034 (offset 34) (type integer) (bits 1)
-Member: 035 (offset 35) (type integer) (bits 1)
-Member: 036 (offset 36) (type integer) (bits 1)
-Member: 037 (offset 37) (type integer) (bits 1)
-Member: 038 (offset 38) (type integer) (bits 1)
-Member: 039 (offset 39) (type integer) (bits 1)
-Member: 040 (offset 40) (type integer) (bits 1)
-Member: 041 (offset 41) (type integer) (bits 1)
-Member: 042 (offset 42) (type integer) (bits 1)
-Member: 043 (offset 43) (type integer) (bits 1)
-Member: 044 (offset 44) (type integer) (bits 1)
-Member: 045 (offset 45) (type integer) (bits 1)
-Member: 046 (offset 46) (type integer) (bits 1)
-Member: 047 (offset 47) (type integer) (bits 1)
-Member: 048 (offset 48) (type integer) (bits 1)
-Member: 049 (offset 49) (type integer) (bits 1)
-Member: 050 (offset 50) (type integer) (bits 1)
-Member: 051 (offset 51) (type integer) (bits 1)
-Member: 052 (offset 52) (type integer) (bits 1)
-Member: 053 (offset 53) (type integer) (bits 1)
-Member: 054 (offset 54) (type integer) (bits 1)
-Member: 055 (offset 55) (type integer) (bits 1)
-Member: 056 (offset 56) (type integer) (bits 1)
-Member: 057 (offset 57) (type integer) (bits 1)
-Member: 058 (offset 58) (type integer) (bits 1)
-Member: 059 (offset 59) (type integer) (bits 1)
-Member: 060 (offset 60) (type integer) (bits 1)
-Member: 061 (offset 61) (type integer) (bits 1)
-Member: 062 (offset 62) (type integer) (bits 1)
-Member: 063 (offset 63) (type integer) (bits 1)
-Member: 064 (offset 64) (type integer) (bits 1)
-Member: 065 (offset 65) (type integer) (bits 1)
as u see, that is one bit bool. why is it just 1 bit, only bool?
the answer is, radar system of css.
if someone is your team, u can see him on rader regardless of some other teammate is able to spot him or not.
but, if u are not teammate, u cannot see someone is not in spottabl position from any of your teammate
but, if any of teammates able to spot that enemy, all of your team will able to see him. that is why that infomation is only bool, not something like bitflags or...
but all of these rules are accepted until u are alive.
if u are dead, opserver setting of server will determind whom will be spoted in your radar.
anyway, to set this, simply u can do this.
Code:
public OnMapStart(){
//테스트코드
new PMIndex = FindEntityByClassname(0, "cs_player_manager");
SDKHook(PMIndex, SDKHook_ThinkPost, OnThinkPost);
}
public OnThinkPost(entity)
{
//테스트코드
//모든 플레이어를 레이더에 잡히게 한다
new minimapoffset = FindSendPropOffs("CCSPlayerResource", "m_bPlayerSpotted");
for(new target = 1; target < 65; target++){
SetEntData(entity, minimapoffset + target, true, 4, true);
}
SetEntData(entity, FindSendPropOffs("CCSPlayerResource", "m_bBombSpotted"), true, 4, true);
}
this code will make everyone on server to see each other in radar.
if u want to set this not all, per client, should do like this:
Code:
public OnThinkPost(entity)
{
//테스트코드
//모든 플레이어를 레이더에 잡히게 한다
new minimapoffset = FindSendPropOffs("CCSPlayerResource", "m_bPlayerSpotted");
for(new target = 1; target <= MaxClients; target++){
for(new client = 1; client <= MaxClients; client++){
if(ditectedbysensor[client][target]){
SetEntData(entity, minimapoffset + target, true, 4, true);
}
}
}
//always spot the c4 for cts.
SetEntData(entity, FindSendPropOffs("CCSPlayerResource", "m_bBombSpotted"), true, 4, true);
}
have fun with this! hahaha
##many guys talked on this thread and someguys uploaded nice research result.
thanks for em and i am writing some of that results on top of the thread to let other guys easy to see it
Quote:
Originally Posted by johan123jo
Quote:
Originally Posted by berni
Just for information, since the orange box update it's possible in CS:S to hide the radar completely for players serverside:
PHP Code:
/** * Sets the Hud flags of a client * * @param client Client index. * @param flags Flag to set, use one of the HIDEHUD_ hiding constants * @noreturn */ stock Client_SetHud(client, flags) { SetEntProp(client, Prop_Send, "m_iHideHUD", flags); }
public OnClientPutInServer(client) {
Client_SetHud(client, ( 1<<4 )); }
|
This should be executed every spawn, because if the player spawns after it has been set on him the radar will show up again, and.. When this is on you can't change weapon, don't know why.. But i used this code to test it.
PHP Code:
#include <sourcemod> #pragma semicolon 1
public OnPluginStart() { RegConsoleCmd("sm_hideradar", hide, "Will hide the clients radar"); }
public Action:hide(client, args) { Client_SetHud(client, ( 1<<3 )); }
stock Client_SetHud(client, flags) { SetEntProp(client, Prop_Send, "m_iHideHUD", flags); }
|
__________________