Raised This Month: $ Target: $400
 0% 

Set user view to ...


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
alonelive
Senior Member
Join Date: Jan 2011
Location: Big snow country.. :)
Old 01-05-2013 , 12:45   Set user view to ...
Reply With Quote #1

PHP Code:
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /123""set_user")
}

public 
set_user(id) {

    new 
Float:Origin[3]; // some place on map, X Y Z
    
Origin[0] = 468.0;
    
Origin[1] = 1834.0;
    
Origin[2] = 570.0
    
    new 
Float:vViewAngles[3]; // another place on map,  X Y Z
    
vViewAngles[0] = 100.0
    vViewAngles
[1] = 90.0
    vViewAngles
[2] = 600.0
    
    
    entity_set_origin
(idOrigin)            //user has been teleported to this coordinats - works fine..
    
set_pev(idpev_anglesvViewAngles);         // direction of view of player - not works.
    //set_pev(id, pev_v_angle, vViewAngles);
    //set_pev(id, pev_fixangle , vViewAngles);
    
}

Hello once more.
How can i set user view direction after his moving? I have a some point on map (coordinates in Float:vViewAngles). But i can't set user view.. dont know, how exactly..

This "another point" located on the roof of building near CT resp (cs_assault, see attached screenshot). I want only set player's view to this point.

I find a stock on forum..

PHP Code:
stock set_user_aim(idtarget)
{
 if (
pev_valid(id) && pev_valid(target))
 {
  static 
Float:ent_origin[3],Float:origin[3],Float:v_length,Float:aim_vector[3],Float:new_angles[3];
  
pev(id,pev_origin,ent_origin);
  
pev(target,pev_origin,origin);
  for (new 
a=0;a<3;a++) origin[a] -= ent_origin[a];
  
v_length vector_length(origin);
  for (new 
a=0;a<3;a++) aim_vector[a] = origin[a] / v_length;
  
vector_to_angle(aim_vector,new_angles);
  
new_angles[0] *= -1;
  if(
new_angles[1]>180.0new_angles[1] -= 360;
  if(
new_angles[1]<-180.0new_angles[1] += 360;
  if(
new_angles[1]==180.0 || new_angles[1]==-180.0new_angles[1] = -179.999999;
  
set_pev(id,pev_angles,new_angles);
  
set_pev(id,pev_v_angle,new_angles);
  
set_pev(id,pev_fixangle,1);
 }

but he not for my situation (a have only coordinates, not object \ entity)..
Attached Thumbnails
Click image for larger version

Name:	cs_assault0000.jpg
Views:	348
Size:	79.8 KB
ID:	114118  
__________________
sorry my bad english...

Last edited by alonelive; 01-05-2013 at 13:05.
alonelive is offline
AngeIII
Senior Member
Join Date: Sep 2007
Location: Latvia
Old 01-05-2013 , 14:25   Re: Set user view to ...
Reply With Quote #2

PHP Code:
stock set_user_aim_origin(idFloat:origin[3])
{
 if (
pev_valid(id))
 {
  static 
Float:ent_origin[3],Float:v_length,Float:aim_vector[3],Float:new_angles[3];
  
pev(id,pev_origin,ent_origin);
  for (new 
a=0;a<3;a++) origin[a] -= ent_origin[a];
  
v_length vector_length(origin);
  for (new 
a=0;a<3;a++) aim_vector[a] = origin[a] / v_length;
  
vector_to_angle(aim_vector,new_angles);
  
new_angles[0] *= -1;
  if(
new_angles[1]>180.0new_angles[1] -= 360;
  if(
new_angles[1]<-180.0new_angles[1] += 360;
  if(
new_angles[1]==180.0 || new_angles[1]==-180.0new_angles[1] = -179.999999;
  
set_pev(id,pev_angles,new_angles);
  
set_pev(id,pev_v_angle,new_angles);
  
set_pev(id,pev_fixangle,1);
 }

__________________
skype: pavle_ivanof
-=ThQ=-
PRIVATE SUPPORT = PAID SUPPORT
AngeIII is offline
Send a message via Skype™ to AngeIII
alonelive
Senior Member
Join Date: Jan 2011
Location: Big snow country.. :)
Old 01-06-2013 , 04:10   Re: Set user view to ...
Reply With Quote #3

Thank you!
__________________
sorry my bad english...
alonelive is offline
alonelive
Senior Member
Join Date: Jan 2011
Location: Big snow country.. :)
Old 01-07-2013 , 03:46   Re: Set user view to ...
Reply With Quote #4

PHP Code:
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /123""set_users")
    
// Add your code here...
}

public 
set_users() {

new 
Float:Origin[3];
new 
Float:viewOrigin[3];

/* place on map */
Origin[0] = 450.0;
Origin[1] = 1600.0;
Origin[2] = 440.0

/* another place */
viewOrigin[0] = -1111.0;
viewOrigin[1] = 1273.0;
viewOrigin[2] = 900.0;

new 
players[32], inum
get_players
(playersinum)

for (new 
0inum; ++i) {

            
Origin[0] = Origin[0] - 40.0             // all players to rank (to line with interval 40 units per player)
        
            
entity_set_origin(players[i], Origin// set origin of all players
            
set_user_aim_origin(players[i], viewOrigin// set view of all players to one point on map

    
            
}
}


stock set_user_aim_origin(players[i], Float:viewOrigin[3])
{
 if (
pev_valid(players[i]))
 {
  static 
Float:ent_origin[3],Float:v_length,Float:aim_vector[3],Float:new_angles[3];
  
pev(players[i],pev_origin,ent_origin);
  for (new 
a=0;a<3;a++) viewOrigin[a] -= ent_origin[a];
  
v_length vector_length(viewOrigin);
  for (new 
a=0;a<3;a++) aim_vector[a] = viewOrigin[a] / v_length;
  
vector_to_angle(aim_vector,new_angles);
  
new_angles[0] *= -1;
  if(
new_angles[1]>180.0new_angles[1] -= 360;
  if(
new_angles[1]<-180.0new_angles[1] += 360;
  if(
new_angles[1]==180.0 || new_angles[1]==-180.0new_angles[1] = -179.999999;
  
set_pev(players[i],pev_angles,new_angles);
  
set_pev(players[i],pev_v_angle,new_angles);
  
set_pev(players[i],pev_fixangle,1);
 }

Code:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Undefined symbol "i" on line 47
Error: Undefined symbol "i" on line 49
Error: Undefined symbol "i" on line 52
Error: Undefined symbol "i" on line 61
Error: Undefined symbol "i" on line 62
Error: Undefined symbol "i" on line 63

6 Errors.
Could not locate output file I:\CS\...\cstrike\addons\amxmodx\plugins\set_origin.amx (compile failed).
For one player (if i put i or id instead players[i] ) works fine. But for many players i can not set origin..
Can anyone help me with this? I need to set view origin to all players.
__________________
sorry my bad english...

Last edited by alonelive; 01-07-2013 at 03:51.
alonelive is offline
AngeIII
Senior Member
Join Date: Sep 2007
Location: Latvia
Old 01-07-2013 , 05:18   Re: Set user view to ...
Reply With Quote #5

dont change my stock.
__________________
skype: pavle_ivanof
-=ThQ=-
PRIVATE SUPPORT = PAID SUPPORT
AngeIII is offline
Send a message via Skype™ to AngeIII
alonelive
Senior Member
Join Date: Jan 2011
Location: Big snow country.. :)
Old 01-07-2013 , 06:08   Re: Set user view to ...
Reply With Quote #6

Quote:
Originally Posted by AngeIII View Post
dont change my stock.
Ok. In this case i have..
Func set_user_aim acts only on player, who called command (say /123). Other players spawns with theis default view direction. (see screen)
Attached Thumbnails
Click image for larger version

Name:	01.jpg
Views:	310
Size:	92.7 KB
ID:	114201  
__________________
sorry my bad english...

Last edited by alonelive; 01-07-2013 at 06:16.
alonelive is offline
AngeIII
Senior Member
Join Date: Sep 2007
Location: Latvia
Old 01-07-2013 , 07:14   Re: Set user view to ...
Reply With Quote #7

PHP Code:
#include <amxmodx>
#include <fakemeta>
#define PLUGIN    "set view"
#define VERSION    "1.0"
#define AUTHOR "-=ThQ=-"
public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_clcmd("say /123""set_users");
    
// Add your code here...
}

public 
set_users(id)
{
    new 
Float:Origin[3];
    new 
Float:viewOrigin[3];
    
/* place on map */
    
Origin[0] = 450.0;
    
Origin[1] = 1600.0;
    
Origin[2] = 440.0

    
/* another place */
    
viewOrigin[0] = -1111.0;
    
viewOrigin[1] = 1273.0;
    
viewOrigin[2] = 900.0;

    new 
players[32], inum;
    
get_players(playersinum);
    new 
player;
    for (new 
0inumi++)
    {
        
player=players[i];
        
Origin[0] = Origin[0] - 40.0;             // all players to rank (to line with interval 40 units per player)
        
        //entity_set_origin(player, Origin) // set origin of all players
        
set_pev(player,pev_origin,Origin);
        
set_user_aim_origin(playerviewOrigin// set view of all players to one point on map
    
}
}

stock set_user_aim_origin(idFloat:origin[3])
{
    if (
pev_valid(id))
    {
        static 
Float:ent_origin[3],Float:v_length,Float:aim_vector[3],Float:new_angles[3];
        
pev(id,pev_origin,ent_origin);
        for (new 
a=0;a<3;a++) origin[a] -= ent_origin[a];
        
v_length vector_length(origin);
        for (new 
a=0;a<3;a++) aim_vector[a] = origin[a] / v_length;
        
vector_to_angle(aim_vector,new_angles);
        
new_angles[0] *= -1;
        if(
new_angles[1]>180.0new_angles[1] -= 360;
        if(
new_angles[1]<-180.0new_angles[1] += 360;
        if(
new_angles[1]==180.0 || new_angles[1]==-180.0new_angles[1] = -179.999999;
        
set_pev(id,pev_angles,new_angles);
        
set_pev(id,pev_v_angle,new_angles);
        
set_pev(id,pev_fixangle,1);
    }

try this
__________________
skype: pavle_ivanof
-=ThQ=-
PRIVATE SUPPORT = PAID SUPPORT

Last edited by AngeIII; 01-07-2013 at 07:14.
AngeIII is offline
Send a message via Skype™ to AngeIII
alonelive
Senior Member
Join Date: Jan 2011
Location: Big snow country.. :)
Old 01-07-2013 , 07:45   Re: Set user view to ...
Reply With Quote #8

the same thing happened
__________________
sorry my bad english...
alonelive is offline
AngeIII
Senior Member
Join Date: Sep 2007
Location: Latvia
Old 01-07-2013 , 08:18   Re: Set user view to ...
Reply With Quote #9

ok change stock in my code:
PHP Code:
stock set_user_aim_origin(id, const Float:view_origin[3])
{
    if (
pev_valid(id))
    {
        new 
Float:ent_origin[3],Float:v_length,Float:aim_vector[3],Float:new_angles[3];
        new 
Float:origin[3];
        
origin[0]=view_origin[0];
        
origin[1]=view_origin[1];
        
origin[2]=view_origin[2];
        
        
pev(id,pev_origin,ent_origin);
        for (new 
a=0;a<3;a++) origin[a] -= ent_origin[a];
        
v_length vector_length(origin);
        for (new 
a=0;a<3;a++) aim_vector[a] = origin[a] / v_length;
        
vector_to_angle(aim_vector,new_angles);
        
new_angles[0] *= -1;
        if(
new_angles[1]>180.0new_angles[1] -= 360;
        if(
new_angles[1]<-180.0new_angles[1] += 360;
        if(
new_angles[1]==180.0 || new_angles[1]==-180.0new_angles[1] = -179.999999;
        
set_pev(id,pev_angles,new_angles);
        
set_pev(id,pev_v_angle,new_angles);
        
set_pev(id,pev_fixangle,1);
    }

__________________
skype: pavle_ivanof
-=ThQ=-
PRIVATE SUPPORT = PAID SUPPORT
AngeIII is offline
Send a message via Skype™ to AngeIII
alonelive
Senior Member
Join Date: Jan 2011
Location: Big snow country.. :)
Old 01-07-2013 , 09:17   Re: Set user view to ...
Reply With Quote #10

In this version works !!

were only bots, but this is not so important. Their direction of view is invalid, but.. to hell with them
importantly - that the main objective accomplished.
Attached Thumbnails
Click image for larger version

Name:	cs_assault0005.jpg
Views:	177
Size:	96.4 KB
ID:	114207  
__________________
sorry my bad english...

Last edited by alonelive; 01-07-2013 at 09:18.
alonelive is offline
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 13:22.


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