Raised This Month: $ Target: $400
 0% 

[Tutorial][CSS] Radar spot edit!


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
javalia
Senior Member
Join Date: May 2009
Location: korea, republic of
Old 08-19-2010 , 15:30   [Tutorial][CSS] Radar spot edit!
Reply With Quote #1

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

Quote:
Originally Posted by berni View Post
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(clientflags) {
    
    
SetEntProp(clientProp_Send"m_iHideHUD"flags);
}

public 
OnClientPutInServer(client) {

    
Client_SetHud(client, ( 1<<));

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(clientargs)
{
    
Client_SetHud(client, ( 1<<));
}

stock Client_SetHud(clientflags)
{
    
SetEntProp(clientProp_Send"m_iHideHUD"flags);

__________________

Last edited by javalia; 07-22-2011 at 09:30.
javalia is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:01.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode