S'asseoir à deux sur un bac, c'est possible!

Répondre
Partager Rechercher
j'ai trouvé ça sur le vault j'ai pensé que ça vous intéresserait

Code PHP:

// Make a bench or coutch usable by 2 creatures simultaneously
void main()
{
    
// Set some variable for a beter understanding
    
object oPlayer GetLastUsedBy();
    
object oBench  OBJECT_SELF;

    
// Get a hold on the 2 pillows
    
object oPillow1 GetLocalObjectOBJECT_SELF"Pillow 1" );
    
object oPillow2 GetLocalObjectOBJECT_SELF"Pillow 2" );

    
// If the sitting places do not exist, create them
    
if( !GetIsObjectValidoPillow1 ) )
    {
        
// Set up some variable for understanding
        
object oArea GetAreaoBench );
        
vector locBench GetPositionoBench );
        
float fOrient  GetFacingoBench );

        
// Calculate location of the 2 pillows
        
location locPillow1 LocationoArealocBench AngleToVectorfOrient 90.0f ) / 2.0ffOrient );
        
location locPillow2 LocationoArealocBench AngleToVectorfOrient 90.0f ) / 2.0ffOrient );

        
// Create the 2 pillows
        
oPillow1 CreateObjectOBJECT_TYPE_PLACEABLE"plc_invisobj"locPillow1 );
        
oPillow2 CreateObjectOBJECT_TYPE_PLACEABLE"plc_invisobj"locPillow2 );

        
// Memorise the places
        
SetLocalObjectOBJECT_SELF"Pillow 1"oPillow1 );
        
SetLocalObjectOBJECT_SELF"Pillow 2"oPillow2 );
    }

    
// Chose the nearest pillow if not used and sit
    
if( GetDistanceBetweenoPlayeroPillow1 ) < GetDistanceBetweenoPlayeroPillow2 ) )
    {
        if( !
GetIsObjectValidGetSittingCreatureoPillow1 ) ) )
        {
            
AssignCommandoPlayerActionSitoPillow1 ) );
        }
        else
        {
            
AssignCommandoPlayerActionSitoPillow2 ) );
        }
    }
    else
    {
        if( !
GetIsObjectValidGetSittingCreatureoPillow2 ) ) )
        {
            
AssignCommandoPlayerActionSitoPillow2 ) );
        }
        else
        {
            
AssignCommandoPlayerActionSitoPillow1 ) );
        }
    }

__________________
Le CEP? mouais bof... sympa mais sans plus...

Maxime Elmotique
Hep hep, monsieur! J'ai une question!

Le banc est usable et les invisible objects statiques?

Si oui ça peut être intéressant et beaucoup plus pratique que deux objets invisibles qu'il faut cliquer, surtout que la position d'assise sera bien meilleure
En fait je ne crois pas que tu puisses créer d'objets statiques par un CreateObject (dynamiquement donc). Le truc c'est de décocher "usable", simplement.
Je vais tester et si ça marche comme il faut, je ferai la même chose pour les chaises des hakpak (avec une seule place), parce que l'objet invisible systématique c'est lourdingue pour le mapping.
Citation :
Provient du message de Gadjio
En fait je ne crois pas que tu puisses créer d'objets statiques par un CreateObject (dynamiquement donc). Le truc c'est de décocher "usable", simplement.
Il en effet impossible de créer un objet statique dynamiquement .
Par contre je comprend pas le coup du "Le truc c'est de décocher usable" tu peux expliquer stp ?
Oui c'est vrai que créer des placeables statiks dynamiquement pose des problèmes, je vois pô pourquoi j'ai pô tilter, depuis le temps

Décocher usable, ça reviendrait à faire un objet non-cliquable et non-statique, un hybride
Je crois qu'on avait déjà essayé des trucs de ce genre avec les placeables de ciel, me souviens plus trop.

Attendons les consignes d'Elmo
et copier un objet statique . . . un copyobject sur un objet présent ds le module mais statique . . . ca marche ?
sans doute que non mais je demandais pour être sure, j'ai pas nwn sous la main . . . (mais si ca marche, tu colle un obj invisible qq part, en statique, tu lui met un tag spé, tu le copie et basta, tû met tes banc en usable et pas besoin de cliquer sur les coussins . . . j'ai oublié qq chose ?)
Citation :
sans doute que non
Je suis bien d'accord

En fait, créer un static placeable dynamiquement change la façon dont il réagit... La preuve avec les placeables walkables qui ne fonctionnent pô quand on les crée dynamiquement

Donc, à mon avis, la case "statik" ne sert à rien quand l'objet est créé par script



...
... je vais essayé le truc du banc, ça me permettra de moins dire de connerie
En fait je suis pas sûr de comprendre la discussion.
Que l'objet ne soit pas statique n'est pas directement lié au fait qu'il soit cliquable ou non. Un objet statique est simplement un objet qui ne pourra pas être altéré en jeu, mais qui en contre-partie est calculé "avec" le décor du tileset, pour l'éclairage, la viewing distance, les propriétés de walk et a priori les performances requises (moins lourd à gérer qu'un objet dynamique). Tous les objets statiques sont donc non cliquables.

Ensuite, si l'objet n'est pas statique (donc dynamique), il peut être utilisable ou non (c'est une autre case à cocher). Un objet créé par script (dynamiquement) n'est pas statique, même si son blueprint de base devait l'être.

Les pillows créés ici sont des obj invisibles dynamiques non utilisables.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés