Les nouvelles fonction pour media

Répondre
Partager Rechercher
Le viewer 2 nous apporte des possibilités d'affichage de page web sur les faces de primitive. Le LSL nous offre déjà 3 fonctions pas encore officielles mais qui fonctionnent : llSetPrimMediaParams, llGetPrimMediaParam et llClearPrimMedia. Elles sont documentées ici :

http://wiki.secondlife.com/wiki/LlSetPrimMediaParams
http://wiki.secondlife.com/wiki/LlGetPrimMediaParams
http://wiki.secondlife.com/wiki/LlClearPrimMedia

J'ai inclus la première dans mon exemple de formulaire sur face de prim que vous pouvez trouver ici :

http://sl-creation.org/index.php?opt...ipts&Itemid=13

A tester évidemment avec le viewer 2
Bonjour,
Suite à ce post, j'ai donc essayé (après installation du viewer 2) ton script et je dois reconnaître que c'est génial ! J'ai pas eu le temps de l'étudier mais il me parait assez complexe !
Pas mal de questions me viennent à l'esprit notamment l'url, il faut un serveur apache pour faire tourner les requêtes .php (j'ai WAMP d'installé sur mon pc) ! La page actuel (celle de ton test) c'est toi qui l'as créée ? Tout le monde peut cliquer sur le prim et changer les données ? Ensuite ça doit se compliqué entre le passage de donnée entre script (je rentre une donnée mon script fait-ci) ?
Je vais essayer d'étudier ceci à tête reposée, puis continuer à apprendre le LSL sans trop m'embrouiller !
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer
http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gifKentoc'h mervel eget bezañ saotret http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gif
Citation :
Publié par Polo Slok
Pas mal de questions me viennent à l'esprit notamment l'url, il faut un serveur apache pour faire tourner les requêtes .php (j'ai WAMP d'installé sur mon pc) ! La page actuel (celle de ton test) c'est toi qui l'as créée ? Tout le monde peut cliquer sur le prim et changer les données ? Ensuite ça doit se compliqué entre le passage de donnée entre script (je rentre une donnée mon script fait-ci) ?
Je vais essayer d'étudier ceci à tête reposée, puis continuer à apprendre le LSL sans trop m'embrouiller !
Il faut effectivement un serveur pour créer le formulaire, que ce soit Apache ou autre. Faire ça sur son PC perso ne peut servir qu'à des tests, pas en production. La page de test que j'ai proposée je la créée sur mon serveur à partir d'un script en PHP et je mémorise l'URL dans un fichier texte dont le nom est l'UUID de la primitive. Il n'est pas très judicieux d'utiliser une base de données pour une opération basique comme celle-là, si tu veux voir le code pas de problème. Après c'est juste de la bidouille LSL pour recevoir et gérer tout ça.

Cette nouvelle possibilité va demander aux scripteurs des compétences en HTML, CSS, PHP, MySQL et autres fantaisies pour profiter au maximum de ce nouvel interfaçage.

Mais sans utiliser de serveur externe on a déjà des possibilités intéressantes avec le serveur intégré à la primitive. Par exemple avec ce style de code à mettre dans une simple boîte :

Code PHP:

string sTexte1 "Coucou, c'est une grande première dans SL";
string sTexte2 "On va enfin pouvoir créer des interfaces sympathiques !";

default
{
    
state_entry()
    {
        
string s "<html><body bgcolor=yellow><table height=1008px width=100% cellspacing=20>
            <tbody>
            <tr>
            <td align=center valign=middle>
            <h1><font color=blue>" 
sTexte1 "</font></h1>
            </td>
            </tr>
            <tr>
            <td align=center valign=middle>
            <h1><font color=blue>" 
sTexte2 "</font></h1>
            </td>
            </tr>
            </table>
            </body>
            </html>"
;

        
llClearPrimMedia(0);
        
llSetPrimMediaParams(0,[
            
PRIM_MEDIA_CONTROLSPRIM_MEDIA_CONTROLS_MINI,
            
PRIM_MEDIA_AUTO_PLAY,TRUE,
            
PRIM_MEDIA_CURRENT_URL"data:text/html;charset=utf-8,<!DOCTYPE html>" s,
            
PRIM_MEDIA_AUTO_SCALETRUE
                
]);
    }

Le problème c'est qu'on en revient un peu à un style d'écriture du HTML peu orthodoxe qui rappelle les débuts de ce langage et quand on est habitué aux styles CSS c'est un peu difficile.
J'ai testé ton script, c'est sympathique par contre va falloir que je ressorte mes bouquins car le html c'est loin surtout que j'étais habitué au calque de style css et que la on écrit ça à l'ancienne !

On économise des textures pour faire des panneaux par contre on est limité niveau couleur !

https://forums.jeuxonline.info/%3Ca%20href=%22http://img191.imageshack.us/i/boitestyle001.jpg/%22%20target=%22_blank%22%3E%3Cimg%20src=%22http://img191.imageshack.us/img191/7589/boitestyle001.th.jpg%22%20border=%220%22%20alt=%22Free%20Image%20Hosting%20at%20www.ImageShack.us%22%20/%3E%3C/a%3E%3Cbr%20/%3E%3Cbr%20/%3E%3Ca%20href=%22http://img604.imageshack.us/content.php?page=blogpost&amp;files=img191/7589/boitestyle001.jpg%22%20title=%22QuickPost%22%3E%3Cimg%20src=%22http://imageshack.us/img/butansn.png%22%20alt=%22QuickPost%22%20border=%220%22%3E%3C/a%3E%20Quickpost%20this%20image%20to%20Myspace,%20Digg,%20Facebook,%20and%20others%21https://forums.jeuxonline.info/%3Ca%20href=http://img191.imageshack.us/i/boitestyle001.jpg/%20target=_blank%20rel=nofollow%3E[IMG]http://img191.imageshack.us/img191/7589/boitestyle001.jpgBoite style_001.jpg

Puis faut penser à utiliser la flèche en cercle au dessus de l'objet (viewer 2) pour que la modification s'applique sur la prim !
J'ai pas eu le temps aujourd'hui de bien étudier le fonctionnement, j'essaie à la volée comme vienne les infos !
Merci Best pour toute ces précisions !
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer
http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gifKentoc'h mervel eget bezañ saotret http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gif
Citation :
Publié par Polo Slok
On économise des textures pour faire des panneaux par contre on est limité niveau couleur !
Pourquoi limité ? Tu peux utiliser la syntaxe classique #.... ou même color=rgb(r,v,b) qui est plus explicite.
Citation :
Publié par Polo Slok
J'ai testé ton script, c'est sympathique par contre va falloir que je ressorte mes bouquins car le html c'est loin surtout que j'étais habitué au calque de style css et que la on écrit ça à l'ancienne !
Comme tu avais l'air chagriné de perdre tes styles CSS j'ai fait quelques essais et je me suis rendu compte qu'en prenant quelques précautions on s'en sort pas si mal que ça :

Code PHP:

string sTexte1 "Cette fois j'ai utilisé des styles";
string sTexte2 "On se rend compte que ça marche aussi !";

default
{
    
state_entry()
    {
        
string s "<html>
<head>
<style type=text/css>
td {
    text-align:center;
}
body {
    background-color:#CC0;
    color:#33F;
    font-size:50px;
}
</style>
</head>

<body>
<table width=100% height=1008px cellspacing=20>
  <tr>
    <td>" 
sTexte1 "</td>
  </tr>
  <tr>
    <td>" 
sTexte2 "</td>
  </tr>
</table>
</body>
</html>"
;

        
llClearPrimMedia(0);
        
llSetPrimMediaParams(0,[
            
PRIM_MEDIA_CONTROLSPRIM_MEDIA_CONTROLS_MINI,
            
PRIM_MEDIA_AUTO_PLAY,TRUE,
            
PRIM_MEDIA_CURRENT_URL"data:text/html;charset=utf-8,<!DOCTYPE html>" s,
            
PRIM_MEDIA_AUTO_SCALETRUE
                
]);
    }

Il faut juste "oublier" les guillemets (ou les échapper avec \ ) et éviter les espaces, sinon ça se passe bien. Par contre on pourra pas attacher une feuille de style mais à quoi ça servirait dans ce cas ? Changer l'aspect de plusieurs faces en même temps ?

Et aussi ne pas oublier qu'on est limité à 1024 caractères dans l'url...

Ceci dit les vendeurs de panneaux ont intérêt à se mettre à jour
Citation :
Publié par bestmomo
Pourquoi limité ? Tu peux utiliser la syntaxe classique #.... ou même color=rgb(r,v,b) qui est plus explicite.
Quand je dis qu'il faut que je ressorte mes bouquins ... ça me parle mieux avec le style css (on s'adaptera au petite modification, faudra juste y penser quand on passera de SL à hors SL et vice/versa) !
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer
http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gifKentoc'h mervel eget bezañ saotret http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gif
J'ai continué mes petits test et après réflexion on peut créer un formulaire sans passer par un serveur externe, tout simplement en s'appuyant sur celui de la primitive. Pour voir ça un petit script :

Code PHP:


float DELAI_REQUEST_URL 
60.0;

default
{
    
state_entry() {llRequestURL();}

    
http_request(key idstring methodestring corps)
    {
        if (
methode == URL_REQUEST_GRANTED)    {
            
string s "<html>
                <body>
                <form action=" 
corps " method=post>
                <p>
                <label>texte :
                <input name=test type=text/>
                </label>
                </p>
                <p>
                <input type=submit value=Envoyer />
                </p>
                </form>
                </body>
                </html>"
;
            
llClearPrimMedia(0);
            
llSetPrimMediaParams(0,[
                
PRIM_MEDIA_CONTROLSPRIM_MEDIA_CONTROLS_MINI,
                
PRIM_MEDIA_AUTO_PLAY,TRUE,
                
PRIM_MEDIA_CURRENT_URL"data:text/html;charset=utf-8,<!DOCTYPE html>" s,
                
PRIM_MEDIA_AUTO_SCALETRUE
                    
]);
        }
        else if (
methode == URL_REQUEST_DENIED) {
            
llOwnerSay("Pas d'URL ! Je redemande dans " + (string)DELAI_REQUEST_URL " secondes");
            
llSleep(DELAI_REQUEST_URL);
            
llRequestURL();
        }
        else {
            list 
=llParseString2List(corps, ["="], []);
            
llHTTPResponse(id200"Vous avez saisi " llUnescapeURL(llList2String(l1)));
        }
    }

    
on_rez(integer i) {llRequestURL();}

    
changed(integer change)    {
        if(
change & (CHANGED_REGION CHANGED_TELEPORT CHANGED_REGION_START))
            
llRequestURL();
    }

Il suffit de le mettre dans une boîte et le formulaire apparaît sur la face 0. On peut alors entrer du texte dans la zone de saisie et cliquer sur le bouton "Envoyer". Ensuite on affiche le résultat sur la même face. cette fois plus de raison de se priver de cette possibilité de saisie esthétique !!!

Mon seul petit souci est que la fonction llUnescapeURL ne reconnait pas le caractère + comme un espace. Ca me fait un peu bizarre de faire un traitement spécial pour gérer ces + parasites, peut-être un truc qui m'échappe...
Bonsoir,
Génial on va enfin avoir des formulaires esthétiques au lieu des "/5 bonjour" ! Reste à savoir si on peut avoir des petits ronds a la place du texte pour masquer ce qu'on écrit et puis supprimer ce problème de + qui apparaît à chaque espaces, je laisse ça au pro, je vais déjà essayer de comprendre ce programme !
Merci Best de partager tes connaissances !
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer
http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gifKentoc'h mervel eget bezañ saotret http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gif
Citation :
Publié par Polo Slok
Bonsoir,
Reste à savoir si on peut avoir des petits ronds a la place du texte pour masquer ce qu'on écrit
Faut vraiment que tu revoies tes classiques sur le HTML, utilise un champ de saisie pour mot de passe avec l'attribut type=password.
Tu vas rire mais c'est depuis que je me suis mis au LSL que je bug , faut dire que je ne suis pas du métier et que j'apprends sur le tas comme on dit ! J'ai appris et pratiqué le html et css et là je ne le pratique plus depuis presque 6 mois et j'étais en train d'apprendre le php (php 5 4éme édition un sacré pavé) j'ai laissé tombé pour le LSL ! Je vais m'y remettre vu que c'est lié mais il vas pas falloir que je me mélange les pattes ( surtout que je voulais apprendre le C mais ça on verra bcp plus tard )
Grâce à tes connaissances j'arrive à apprendre, merci !
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer
http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gifKentoc'h mervel eget bezañ saotret http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gif
Tiens ? Il existe encore des gens qui ne connaissent pas le siteduzero ? Pourtant, c'est le meilleur site d'apprentissage (ou ré-apprentissage) pour le HTML... et le PHP... et le MySQL... et le Java... et Linux... enfin bon, la liste est trop longue.

www.siteduzero.com
Citation :
Publié par Nexus763
Tiens ? Il existe encore des gens qui ne connaissent pas le siteduzero ? Pourtant, c'est le meilleur site d'apprentissage (ou ré-apprentissage) pour le HTML... et le PHP... et le MySQL... et le Java... et Linux... enfin bon, la liste est trop longue.

www.siteduzero.com
Bonjour,
Je connais très bien ce site et ce depuis un bout de temps je m'y suis même inscrit il y a un an. Très bon site, idéal pour apprendre.
__________________
Le fait que le monde soit peuplé de crétins permet à chacun de nous de ne pas se faire remarquer
http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gifKentoc'h mervel eget bezañ saotret http://yelims2.free.fr/Drapeaux/DrapeauBretagne.gif
Répondre

Connectés sur ce fil

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