La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 17:01:38


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 24/06/2006 13:19:37 Sujet du message : [Résolu] Machines à sous

Salutations,

Bon, comme j'ai reussi à résoudre le problème moi-même, autant vous passer la solution.
Merci Viduc au passage d'avoir pris le temps de réfléchir à la question. ^^



Pour réussir un petit jeu distrayant, vous avez besoin :
- 1 levier de sol
- 3 waypoints nommés "light_1", "light_2" et "light_3"


Sur le onUsed du levier de sol vous mettez ceci :

NWScript :




void main()
{
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);


object oPC = GetLastUsedBy();
object oWP1 = GetWaypointByTag("light_1");
object oWP2 = GetWaypointByTag("light_2");
object oWP3 = GetWaypointByTag("light_3");


if (GetGold(oPC)> 4)
{

int nJet1 = d3();
    switch(nJet1)
    {
        case 1:
        {
        object oLight1 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solblue", GetLocation(oWP1));
        DestroyObject(oLight1, 3.0);
        }
        break;

        case 2:
        {
        object oLight1 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solcyan", GetLocation(oWP1));
        DestroyObject(oLight1, 3.0);
        }
        break;

        case 3:
        {
        object oLight1 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solwhite", GetLocation(oWP1));
        DestroyObject(oLight1, 3.0);
        }
        break;

    }

int nJet2 = d3();

    switch(nJet2)
    {
        case 1:
        {
        object oLight2 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solblue", GetLocation(oWP2));
        DestroyObject(oLight2, 3.0);
        }
        break;

        case 2:
        {
        object oLight2 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solcyan", GetLocation(oWP2));
        DestroyObject(oLight2, 3.0);
        }
        break;

        case 3:
        {
        object oLight2 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solwhite", GetLocation(oWP2));
        DestroyObject(oLight2, 3.0);
        }
        break;

    }



int nJet3 = d3();

    switch(nJet3)
    {
        case 1:
        {
        object oLight3 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solblue", GetLocation(oWP3));
        DestroyObject(oLight3, 3.0);
        }
        break;

        case 2:
        {
        object oLight3 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solcyan", GetLocation(oWP3));
        DestroyObject(oLight3, 3.0);
        }
        break;

        case 3:
        {
        object oLight3 = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solwhite", GetLocation(oWP3));
        DestroyObject(oLight3, 3.0);
        }
        break;

    }


if (nJet1 == nJet2 && nJet2 == nJet3)
{
    SpeakString("");
    GiveGoldToCreature(oPC, 20);
}

else if (nJet1 + nJet2 == 6 || nJet2 + nJet3 == 6 || nJet3 + nJet1 == 6)
{

    SpeakString("");
    GiveGoldToCreature(oPC, 4);
}

else if ((nJet1 == 2 && nJet2 == 2) || (nJet2 == 2 && nJet3 == 2) || (nJet3 == 2 && nJet1 == 2))
{

    SpeakString("Vous ne gagnez rien, mais vous ne perdez rien...");
}

else if (nJet1 + nJet2 == 2 || nJet2 + nJet3 == 2 || nJet3 + nJet1 == 2)
{

    SpeakString("");
    TakeGoldFromCreature(1, oPC);
}

else if (nJet1 != nJet2 && nJet2 != nJet3)
{
SpeakString("Dommage ! Vous avez perdu.");
TakeGoldFromCreature(5, oPC);
}

}

else

{
SpeakString("Vous n'avez pas assez de sous pour jouer");
}

DelayCommand(3.0, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));



}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



PS : *a fait au moins 12 edit entre le message suivant et l'original*
Dernière édition par Djezebel le 24/06/2006 14:02:11; édité 4 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 24/06/2006 13:55:03 Sujet du message :

Perso moi je serais toi je décomposerais pour tester...

NWScript :


if ((nJet1 == nJet2) && (nJet1== nJet3))
{
    SpeakString("");
}

else if ((nJet1 + nJet2 == 6) || (nJet2 + nJet3 == 6) || (nJet3 + nJet1 == 6))
{

    SpeakString("Vous remportez votre mise.");
}

else if ((nJet1 == nJet2 == 2) || (nJet2 == nJet3 == 2) || (nJet3 == nJet1 == 2))
{

    SpeakString("Vous remportez votre mise.");
}

else if ((nJet1 + nJet2 == 2) || (nJet2 + nJet3 == 2) || (nJet3 + nJet1 == 2))
{

    SpeakString("Vous remportez votre mise.");
}

else if ((nJet1 != nJet2) && (nJet1 != nJet3) && (nJet2 != nJet3))
{
SpeakString("Dommage ! Vous avez perdu.");
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Je sais pas si ça marchera mieu mais ça me parait plus clair...

Viduc
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 24/06/2006 14:03:38 Sujet du message :

Merci Viduc, ça marche à présent.

Effectivement, j'avais oublié de décomposé, et surtout j'avais mis à un moment :

if (nJet1 + nJet2 == 4) etc...

or le 4 peut être fait soit par 2 + 2 ... mais aussi par 3 + 1 ce qui causait pas mal de problèmes. Smile

En tout cas, c'est résolu à présent.
Amusez-vous bien !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 70.269ms