AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [ HELP ] Set user normal rendering? (https://forums.alliedmods.net/showthread.php?t=273014)

Banana. 10-10-2015 20:29

[ HELP ] Set user normal rendering?
 
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();
            }
        }
    }



nico_barrera 10-11-2015 03:56

Re: [ HELP ] Set user normal rendering?
 
you mean if they are in 3rd camera ?

Banana. 10-11-2015 10:16

Re: [ HELP ] Set user normal rendering?
 
Quote:

Originally Posted by nico_barrera (Post 2351944)
you mean if they are in 3rd camera ?

Yes , in 3rd and upleft camera.

Chihuahuax 10-11-2015 11:10

Re: [ HELP ] Set user normal rendering?
 
Use fakemeta's AddToFullPack

nico_barrera 10-11-2015 20:38

Re: [ HELP ] Set user normal rendering?
 
Quote:

Originally Posted by Chihuahuax (Post 2352081)
Use fakemeta's AddToFullPack

is not that for being invisible? eh wants the oposite xD

Depresie 10-13-2015 06:59

Re: [ HELP ] Set user normal rendering?
 
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)

nico_barrera 10-15-2015 00:00

Re: [ HELP ] Set user normal rendering?
 
OR! use this camera instead...
Quote:

Originally Posted by ConnorMcLeod (Post 1400047)
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 )
        }
    }





All times are GMT -4. The time now is 22:08.

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