Raised This Month: $ Target: $400
 0% 

[ HELP ] Set user normal rendering?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Banana.
BANNED
Join Date: Oct 2015
Location: Brazil [<o>]
Old 10-10-2015 , 20:29   [ HELP ] Set user normal rendering?
Reply With Quote #1

How to modify this code to set normal rendering for the players?

PHP Code:
#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Addon: Camera"
#define VERSION "2.0"
#define AUTHOR "CrazY"

new Camera1[33],Camera2[33],Camera3[33], cvar_auto_change

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /camera""MenuCamera")
    
register_clcmd("say_team /camera""MenuCamera")
    
register_clcmd("say camera""MenuCamera")
    
register_clcmd("say_team camera""MenuCamera")

    
register_clcmd("say /cam""MenuCamera")
    
register_clcmd("say_team /cam""MenuCamera")  
    
register_clcmd("say cam""MenuCamera")
    
register_clcmd("say_team cam""MenuCamera")

    
cvar_auto_change register_cvar("zp_auto_change_cam""1")
    
    
RegisterHam(Ham_Spawn"player""fw_HamPlayerSpawn"1)
}

public 
plugin_precache()
{
    
precache_model("models/rpgrocket.mdl")
}

public 
client_connect(id)
{
    
Camera1[id] = Camera1[id] = 0
    Camera2
[id] = Camera2[id] = 0
    Camera3
[id] = Camera3[id] = 1
}

public 
client_disconnect(id)
{
    
Camera1[id] = Camera1[id] = 0
    Camera2
[id] = Camera2[id] = 0
    Camera3
[id] = Camera3[id] = 0
}

public 
MenuCamera(id
{
    new 
szMenu[128]
    
formatex(szMenu127"\r[Escolher Camera]^n\dEscolha Sua Camera Para o Seu Personagem")
    new 
Menu menu_create(szMenu,"Escolher_C")

    
formatex(szMenu63,"\d3 Pessoa \r%s"Camera1[id] == "[Usando]" "\y")
    
menu_additem(MenuszMenu"1"0)
    
formatex(szMenu63,"\dDe Lado \r%s"Camera2[id] == "[Usando]" "\y")
    
menu_additem(MenuszMenu"2"0)
    
formatex(szMenu63,"\dNormal \r%s"Camera3[id] == "[Usando]" "\y")
    
menu_additem(MenuszMenu"3"0)
    
    
menu_setprop(MenuMPROP_EXITNAME"Sair")
    
menu_display(idMenu0)
    
    return 
PLUGIN_HANDLED
}

public 
Escolher_C(idMenuitem
{
    if ( 
item == MENU_EXIT 
    {
        
menu_destroyMenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], szName[64];
    new 
accesscallback;
    
menu_item_getinfoMenuitemaccessdata,charsmaxdata ), szNamecharsmaxszName ), callback );
    
    new 
Key str_to_numdata );
    switch ( 
Key 
    {
        case 
1
        {
            if(
Camera1[id])
            {
                
client_printcolor(id"!g[ZP] Is already using the camera.")
            }
            else
            {
                
set_view(idCAMERA_3RDPERSON)
                
Camera1[id] = Camera1[id] = 1
                Camera2
[id] = Camera2[id] = 0
                Camera3
[id] = Camera3[id] = 0
            
}
        }
        case 
2
        {
            if(
Camera2[id])
            {
                
client_printcolor(id"!g[ZP] Is already using the camera.")
            }
            else
            {
                
set_view(idCAMERA_UPLEFT)
                
Camera1[id] = Camera1[id] = 0
                Camera2
[id] = Camera2[id] = 1
                Camera3
[id] = Camera3[id] = 0
            
}
        }
        case 
3
        {
            if(
Camera3[id])
            {
                
client_printcolor(id"!g[ZP] Is already using the camera.")
            }
            else
            {
                
set_view(idCAMERA_NONE)
                
Camera1[id] = Camera1[id] = 0
                Camera2
[id] = Camera2[id] = 0
                Camera3
[id] = Camera3[id] = 1
            
}
        }
    }
    
menu_destroy(Menu);
    return 
PLUGIN_HANDLED;
}

public 
fw_HamPlayerSpawn(id)
{
    if(
is_user_alive(id) && (!zp_get_user_zombie(id) && get_pcvar_num(cvar_auto_change) >= 1))
    {
        
set_view(idCAMERA_NONE)
        
Camera1[id] = Camera1[id] = 0
        Camera2
[id] = Camera2[id] = 0
        Camera3
[id] = Camera3[id] = 1
    
}
}

public 
zp_user_infected_post(id)
{
    if(
is_user_alive(id) && get_pcvar_num(cvar_auto_change) >= 1)
    {
        
set_view(idCAMERA_UPLEFT)
        
Camera1[id] = Camera1[id] = 0
        Camera2
[id] = Camera2[id] = 1
        Camera3
[id] = Camera3[id] = 0
    
}
}

public 
zp_user_humanized_post(id)
{
    if(
is_user_alive(id) && get_pcvar_num(cvar_auto_change) >= 1)
    {
        
set_view(idCAMERA_NONE)
        
Camera1[id] = Camera1[id] = 0
        Camera2
[id] = Camera2[id] = 0
        Camera3
[id] = Camera3[id] = 1
    
}
}

stock client_printcolor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4")  
    
replace_all(msg190"!y""^1"
    
replace_all(msg190"!t""^3"
    
    if (
idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

Banana. is offline
nico_barrera
Junior Member
Join Date: Nov 2009
Location: PC
Old 10-11-2015 , 03:56   Re: [ HELP ] Set user normal rendering?
Reply With Quote #2

you mean if they are in 3rd camera ?
nico_barrera is offline
Send a message via MSN to nico_barrera
Banana.
BANNED
Join Date: Oct 2015
Location: Brazil [<o>]
Old 10-11-2015 , 10:16   Re: [ HELP ] Set user normal rendering?
Reply With Quote #3

Quote:
Originally Posted by nico_barrera View Post
you mean if they are in 3rd camera ?
Yes , in 3rd and upleft camera.
Banana. is offline
Chihuahuax
Senior Member
Join Date: Oct 2014
Location: Malaysia
Old 10-11-2015 , 11:10   Re: [ HELP ] Set user normal rendering?
Reply With Quote #4

Use fakemeta's AddToFullPack
Chihuahuax is offline
Send a message via Skype™ to Chihuahuax
nico_barrera
Junior Member
Join Date: Nov 2009
Location: PC
Old 10-11-2015 , 20:38   Re: [ HELP ] Set user normal rendering?
Reply With Quote #5

Quote:
Originally Posted by Chihuahuax View Post
Use fakemeta's AddToFullPack
is not that for being invisible? eh wants the oposite xD
nico_barrera is offline
Send a message via MSN to nico_barrera
Depresie
Veteran Member
Join Date: Nov 2013
Old 10-13-2015 , 06:59   Re: [ HELP ] Set user normal rendering?
Reply With Quote #6

why add to full pack for invisible? you just need to set rendering once, not every frame
i dont know how that camera works, but i see there is no rendering line involved in making the player semi transparent, so i dont know for sure how to do it... but you could try to do this when they activate the camera
Code:
set_user_rendering(id)
Depresie is offline
nico_barrera
Junior Member
Join Date: Nov 2009
Location: PC
Old 10-15-2015 , 00:00   Re: [ HELP ] Set user normal rendering?
Reply With Quote #7

OR! use this camera instead...
Quote:
Originally Posted by ConnorMcLeod View Post
Code updated, no more specific cs code (maxspeed or camera wait offset)
Camera origin adjustements in case it would be in a solid place.
Real map cameras stay usabled.

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define VERSION "0.0.2"

#define MAX_PLAYERS    32

#define USE_TOGGLE 3

new g_iPlayerCamera[MAX_PLAYERS+1]

new 
g_bInCamera
//#define MarkUserInCamera(%0)        g_bInCamera |= 1<<(%0&31)
#define ClearUserInCamera(%0)        g_bInCamera &= ~(1<<(%0&31))
#define IsUserInCamera(%0)            ( g_bInCamera & 1<<(%0&31) )
#define ToggleUserCameraState(%0)    g_bInCamera ^= 1<<(%0&31)

new g_iMaxPlayers

public plugin_init()
{
    
register_plugin("Camera View"VERSION"ConnorMcLeod")

    
register_clcmd("say /cam""ClCmd_ToggleCamera")

    
g_iMaxPlayers get_maxplayers()
}

public 
ClCmd_ToggleCameraid )
{
    if( !
is_user_alive(id) )
    {
        return
    }

    new 
iEnt g_iPlayerCamera[id]
    if( !
pev_valid(iEnt) )
    {
        static 
iszTriggerCamera
        
if( !iszTriggerCamera )
        {
            
iszTriggerCamera engfunc(EngFunc_AllocString"trigger_camera")
        }
        
iEnt engfunc(EngFunc_CreateNamedEntityiszTriggerCamera)
        
set_kvd(0KV_ClassName"trigger_camera")
        
set_kvd(0KV_fHandled0)
        
set_kvd(0KV_KeyName"wait")
        
set_kvd(0KV_Value"999999")
        
dllfunc(DLLFunc_KeyValueiEnt0)

        
set_pev(iEntpev_spawnflagsSF_CAMERA_PLAYER_TARGET|SF_CAMERA_PLAYER_POSITION)
        
set_pev(iEntpev_flagspev(iEntpev_flags) | FL_ALWAYSTHINK)

        
dllfunc(DLLFunc_SpawniEnt)

        
g_iPlayerCamera[id] = iEnt
    
}

    
ToggleUserCameraStateid )
    
CheckForward()

    new 
Float:flMaxSpeediFlags pev(idpev_flags)
    
pev(idpev_maxspeedflMaxSpeed)

    
ExecuteHamHam_UseiEntididUSE_TOGGLE1.0)

    
set_pev(idpev_flagsiFlags)
    
// depending on mod, you may have to send SetClientMaxspeed here.
    // engfunc(EngFunc_SetClientMaxspeed, id, flMaxSpeed)
    
set_pev(idpev_maxspeedflMaxSpeed)
}

public 
SetView(idiEnt)
{
    if( 
IsUserInCamera(id) && is_user_alive(id) )
    {
        new 
iCamera g_iPlayerCamera[id]
        if( 
iCamera && iEnt != iCamera )
        {
            new 
szClassName[16]
            
pev(iEntpev_classnameszClassNamecharsmax(szClassName))
            if( !
equal(szClassName"trigger_camera") ) // should let real cams enabled
            
{
                
engfunc(EngFunc_SetViewidiCamera// shouldn't be always needed
                
return FMRES_SUPERCEDE
            
}
        }
    }
    return 
FMRES_IGNORED
}

public 
client_disconnect(id)
{
    new 
iEnt g_iPlayerCamera[id]
    if( 
pev_valid(iEnt) )
    {
        
engfunc(EngFunc_RemoveEntityiEnt)
    }
    
g_iPlayerCamera[id] = 0
    ClearUserInCamera
(id)
    
CheckForward()
}

public 
client_putinserver(id)
{
    
g_iPlayerCamera[id] = 0
    ClearUserInCamera
(id)
}

get_cam_owner(iEnt)
{
    static 
id
    
for(id 1id<=g_iMaxPlayersid++)
    {
        if( 
g_iPlayerCamera[id] == iEnt )
        {
            return 
id
        
}
    }
    return 
0
}

public 
Camera_ThinkiEnt )
{
    static 
id
    
if( !(id get_cam_owneriEnt )) )
    {
        return
    }

    static 
Float:fVecPlayerOrigin[3], Float:fVecCameraOrigin[3], Float:fVecAngles[3], Float:fVecBack[3]

    
pev(idpev_originfVecPlayerOrigin)
    
pev(idpev_view_ofsfVecAngles)
    
fVecPlayerOrigin[2] += fVecAngles[2]

    
pev(idpev_v_anglefVecAngles)

    
// See player from front ?
    //fVecAngles[0] = 15.0
    //fVecAngles[1] += fVecAngles[1] > 180.0 ? -180.0 : 180.0

    
angle_vector(fVecAnglesANGLEVECTOR_FORWARDfVecBack)

    
//Move back to see ourself (150 units)
    
fVecCameraOrigin[0] = fVecPlayerOrigin[0] + (-fVecBack[0] * 150.0)
    
fVecCameraOrigin[1] = fVecPlayerOrigin[1] + (-fVecBack[1] * 150.0)
    
fVecCameraOrigin[2] = fVecPlayerOrigin[2] + (-fVecBack[2] * 150.0)

    
engfunc(EngFunc_TraceLinefVecPlayerOriginfVecCameraOriginIGNORE_MONSTERSid0)
    static 
Float:flFraction
    get_tr2
(0TR_flFractionflFraction)
    if( 
flFraction != 1.0 // adjust camera place if close to a wall
    
{
        
flFraction *= 150.0
        fVecCameraOrigin
[0] = fVecPlayerOrigin[0] + (-fVecBack[0] * flFraction)
        
fVecCameraOrigin[1] = fVecPlayerOrigin[1] + (-fVecBack[1] * flFraction)
        
fVecCameraOrigin[2] = fVecPlayerOrigin[2] + (-fVecBack[2] * flFraction)
    }

    
set_pev(iEntpev_originfVecCameraOrigin)
    
set_pev(iEntpev_anglesfVecAngles)
}

CheckForward()
{
    static 
HamHook:iHhCameraThinkiFhSetView
    
if( g_bInCamera )
    {
        if( !
iFhSetView )
        {
            
iFhSetView register_forward(FM_SetView"SetView")
        }
        if( !
iHhCameraThink )
        {
            
iHhCameraThink RegisterHam(Ham_Think"trigger_camera""Camera_Think")
        }
        else
        {
            
EnableHamForwardiHhCameraThink )
        }
    }
    else
    {
        if( 
iFhSetView )
        {
            
unregister_forward(FM_SetViewiFhSetView)
            
iFhSetView 0
        
}
        if( 
iHhCameraThink )
        {
            
DisableHamForwardiHhCameraThink )
        }
    }

nico_barrera is offline
Send a message via MSN to nico_barrera
Reply



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 22:08.


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