Raised This Month: $ Target: $400
 0% 

Vu 3D avec engine


  
 
 
Thread Tools Display Modes
Author Message
Aooka
Veteran Member
Join Date: Aug 2011
Location: Villeurbanne
Old 07-14-2012 , 07:45   Vu 3D avec engine
#1

Voilà j'ai fais un petit plugin hier et aujourd'hui et il ne marche pas vraiment ... Même pas du tout il fait crash le serveur où je le met et rien ne se marque dans les logs du serveurs donc : Problème.

Voici le code que j'ai écris :
Spoiler


Voilà du coup je ne vois pas trop comment faire pour résoudre ce problème... Merci bien

Edit1: Après quelques recherche j'ai trouve ceci :
Code:
precache_model( "models/rpgrocket.mdl" );
Mais je n'ai pas trouvé le model qui va avec
__________________
Pawn ? Useless

Last edited by Aooka; 07-14-2012 at 07:50.
Aooka is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 07-14-2012 , 08:21   Re: Vu 3D avec engine
#2

Il existe par défaut, ne t'en occuppe pas, il faut juste le précacher.
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
Aooka
Veteran Member
Join Date: Aug 2011
Location: Villeurbanne
Old 07-14-2012 , 08:49   Re: Vu 3D avec engine
#3

Merci bien, je vais allé essayé sa
__________________
Pawn ? Useless
Aooka is offline
Aooka
Veteran Member
Join Date: Aug 2011
Location: Villeurbanne
Old 07-14-2012 , 09:11   Re: Vu 3D avec engine
#4

Alors j'ai testé et sa marche du tonnerre. Seul point noire si puis-je dire ^^ c'est que mon joueur je le vois semi invisible et pas "normalement". Voici un screen que je vous ais fais :
Spoiler
__________________
Pawn ? Useless

Last edited by Aooka; 07-14-2012 at 09:12.
Aooka is offline
R@pid0
Senior Member
Join Date: Jan 2011
Location: France
Old 07-14-2012 , 13:18   Re: Vu 3D avec engine
#5

Je ne savais pas que sa existais c'est super sa dit donc.

Par contre le semi invisible est obligatoire ou existe t'il une technique pour voir correctement le joueur ?

Et Cela marche t'il bien avec les armes ?

Merci
__________________
R@pid0 is offline
micapat
Veteran Member
Join Date: Feb 2010
Location: Nyuu, nyuu (France).
Old 07-14-2012 , 17:40   Re: Vu 3D avec engine
#6

La semi-invisibilité est codée dans le module engine directement.

PHP Code:
int AddToFullPack(struct entity_state_s *stateint eedict_t *entedict_t *hostint hostflagsint playerunsigned char *pSet)
{
    if(
ent == host) {
        if(
FStrEq(STRING(ent->v.classname), "player")) {
            if(
plinfo[ENTINDEX(ent)].iViewType != CAMERA_NONE) {
                
ent->v.rendermode kRenderTransTexture;
                
ent->v.renderamt 100;
                
RETURN_META_VALUE(MRES_IGNORED0);
            }
        }
    }

    if(
FStrEq(STRING(ent->v.classname), "player")) {
        if(
plinfo[ENTINDEX(ent)].iViewType != CAMERA_NONE) {
            
ent->v.rendermode plinfo[ENTINDEX(ent)].iRenderMode;
            
ent->v.renderamt plinfo[ENTINDEX(ent)].fRenderAmt;
        }
    }

    
RETURN_META_VALUE(MRES_IGNORED0);

__________________

Last edited by micapat; 07-14-2012 at 17:40.
micapat is offline
bboygrun
CHOMP
Join Date: May 2010
Location: France
Old 07-14-2012 , 23:35   Re: Vu 3D avec engine
#7

Quote:
Originally Posted by R@pid0 View Post
Par contre le semi invisible est obligatoire ou existe t'il une technique pour voir correctement le joueur ?
Oui c'est possible, tient :

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

new g_iMenu g_iMenuStop;
new 
boolg_bHas3dView33 ];

public 
plugin_init( )
{
    
register_plugin"3D view cmd" "1.0" "Aooka" );
    
    
register_clcmd"say /3d" "ClientCommand_View" );
    
register_clcmd"say_team /3d" "ClientCommand_View" );
    
    
register_clcmd"say /stop3d" "ClientCommand_StopView" );
    
register_clcmd"say_team /stop3d" "ClientCommand_StopView" );
    
    
register_forwardFM_AddToFullPack"fwAddToFullPack"true );
    
    
g_iMenu menu_create"# Player in 3D view ?" "handlerView" );
    
menu_additemg_iMenu "Yes sure" );
    
menu_additemg_iMenu "No thanks" );
    
    
g_iMenuStop menu_create"# Remove 3D view ?" "handlerStopView" );
    
menu_additemg_iMenuStop "Yes i want" );
    
menu_additemg_iMenuStop "No lol" );
}

public 
plugin_precache( ) precache_model"models/rpgrocket.mdl" );

public 
client_connectid g_bHas3dViewid ] = false;

public 
client_disconnectid g_bHas3dViewid ] = false;

public 
ClientCommand_View( const id )
{
    if( 
is_user_aliveid ) && g_bHas3dViewid ] == false )
    {
        
menu_displayid g_iMenu );
    }
    
    else 
client_printid print_chat "You have already a 3D view !" );
}

public 
handlerView( const id , const g_iMenu , const item )
{
    switch( 
item )
    {
        case 
0:
        {
            
g_bHas3dViewid ] = true;
            
            
set_viewid CAMERA_3RDPERSON );
            
client_printid print_chat "You see now your player in 3D !" );
        }
        
        case 
1:
        {
            
g_bHas3dViewid ] = false;
            
            
client_printid print_chat "You do not see your player in 3D !" );
        }
    }
    return 
0;
}

public 
ClientCommand_StopView( const id )
{
    if( 
is_user_aliveid ) )
        if( 
g_bHas3dViewid ] )
            
menu_displayid g_iMenuStop );
        
        else 
client_printid print_chat "You do not have a 3D view !" );
    
    else 
client_printid print_chat "You must be alive !" );
}

public 
handlerStopView( const id , const g_iMenuStop , const item )
{
    switch( 
item )
    {
        case 
0:
        {
            
g_bHas3dViewid ] = false;
            
            
set_viewid CAMERA_NONE );
            
client_printid print_chat "You remove the 3D view !" );
        }
        case 
1:
            return 
1;
    }
    return 
0;
}

public 
fwAddToFullPack( const es, const e, const ent, const host, const host_flags, const player, const p_set )
{
    if( 
player && g_bHas3dViewent ] )
    {
        
set_esesES_RenderModekRenderNormal );
    }

__________________
bboygrun is offline
Aooka
Veteran Member
Join Date: Aug 2011
Location: Villeurbanne
Old 07-15-2012 , 07:06   Re: Vu 3D avec engine
#8

Merci bien Bboy.
Par contre juste je suis allé voir vite fait les différens forward et je suis donc tombé sur sa :
Code:
FM_AddToFullPack,		// int )	(entState, e, ent, host, iHostFlags, iPlayer, pSet)
Et je me demandais pourquoi as-tu utiliser ce forward au lieu d'un autre car la description de ce dernier est très restreinte. Il y en a plein qui se ressemble. Comment bien choisir son forward en fait ?

Bon après c'est sur y'en a c'est logique du style FM_Spawn etc mais y'en a ...
__________________
Pawn ? Useless
Aooka is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 07-15-2012 , 07:17   Re: Vu 3D avec engine
#9

Code:
/*
AddToFullPack

Return 1 if the entity state has been filled in for the ent and the entity will be propagated to the client, 0 otherwise

state is the server maintained copy of the state info that is transmitted to the client
a MOD could alter values copied into state to send the "host" a different look for a particular entity update, etc.
e and ent are the entity that is being added to the update, if 1 is returned
host is the player's edict of the player whom we are sending the update to
player is 1 if the ent/e is a player and 0 otherwise
pSet is either the PAS or PVS that we previous set up.  We can use it to ask the engine to filter the entity against the PAS or PVS.
we could also use the pas/ pvs that we set in SetupVisibility, if we wanted to.  Caching the value is valid in that case, but still only for the current frame
*/
int AddToFullPack( struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet )

Parce que c'est dans ce forward que le module engine fait croire au joueur qu'il est semi invisible, donc on intervient après le module engine et on remet les choses à leurs places.
Maintenant l'autre question est pourquoi le module engine intervient-il dans cette fonction ?
Cette fonction sert à envoyer au joueur toutes les informations concernant les entités (joueurs et autres), en altérant certaines valeur, on peut faire apparaitre une entité différemment à 2 joueurs différents, ou ne pas faire apparaître du tout certaines entités à certains joueurs.
Les informations reçues par les joueurs servent à mettre à jour tout ce qui est visuel, mais aussi à prédire les movements (collisions).
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 07-15-2012 at 07:22.
ConnorMcLeod is offline
Aooka
Veteran Member
Join Date: Aug 2011
Location: Villeurbanne
Old 07-15-2012 , 07:28   Re: Vu 3D avec engine
#10

Merci beaucoup Connor je vais lire sa !

J'ai regardé par ici http://www.amxmodx.org/funcwiki.php?go=inc&id=31 et aussi par là : http://www.amxmodx.org/funcwiki.php?...id=16#const_fm mais je ne trouve aucune description telle que la tienne.
J'aimerais juste savoir où as-tu trouvé une telle description ?

Merci
__________________
Pawn ? Useless

Last edited by Aooka; 07-15-2012 at 07:28.
Aooka 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 18:27.


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