JeuxOnLineForumsPlusConnectés : 740 (sites) | 1394 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > BIND, le PJ réapparaît près du relais qu'il a choisis. RSS
   
Répondre
Partager Outils Rechercher
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 

BIND, le PJ réapparaît près du relais qu'il a choisis.

J'ai vu sur un serveur persistant (Mersifall) une sorte de tombe se trouvant au centre de la ville. Il y en a à chaque ville en fait, faisant office de relais ; je m'explique : Si vous engagez la conversation avec cette pierre, elle vous proposera de vous "lier" avec, vous permettant ainsi, après votre mort, de réapparaître tout prêt. Vous avez donc le choix de réapparaître où vous voulez en somme. Je crois que cette tombe s'appelle "Bind". Vous savez où je pourrais trouver ça ?
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Citation:
Vous savez où je pourrais trouver ça ?
Ouaip, dans Dark Age of Camelot


Plus sérieusement, je dirais que ce bidule doit être facilement scriptable. Non pô que ce script est introuvable, c'est juste que le faire doit être intéressant et pô trop prise de tête pour une personne ayant fait tous les tutorios de not'forum

1- Le PJ clique sur la pierre de bind. Dans le OnUsed, on stocke une variable location grâce à SetLocalLocation.

2- Dans le OnDeath du module, on récupére la valeur stocké sur le PJ et on lui fait faire un JumpToLocation.

À noter qu'on peut même ajouter le système de récupération des pt d'xp grâce à sa tombe. P'tet un peu plus compliqué à faire car il faut utiliser des tokens custom pour le nom du plaçable
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Non je ne sais pas ou tu peux le trouver mais ça n'est pas compliqué.
Si c'est pour un monde persistant, le problème c'est que je ne sais pas quel sont tes fonctions pour gérer les variables persistantes ...
En ignorant ce facteur donc, au moment ou le PJ se lie à la pierre:
SetLocalLocation(oPC, "Respawn_loc", GetLocation(OBJECT_SELF));
Je t'avais prévenu , j'ignore délibérément le problème

Et dans le script de respawn tu fais:
location lRespawnLoc = ?? GetLocalLocation(oPC, "Respawn_Loc");
AsssignCommand(oPC, JumpToLocation(lRespawnLoc));
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Re: BIND, le PJ réapparaît près du relais qu'il a choisis.
Citation:
Provient du message de Mel Ethybem
J'ai vu sur un serveur persistant (Mersifall)
Si il sont sympas, pas trop avares sur les scripts et un forum, tu peux leur demander gentillment qu'il te file ça non ?
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Oui,... heu... C'est peut-être des chiens !! Et puis de toute façon, le serveur est souvent désert pour ce qui est des MD, donc... merci quand même je vais tenter d'en faire une moi même je pense !
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Ya pas moyen, s'il vous plaît ! Aidez-moi !!!
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Je veux bien te le faire, mais comment veux tu que la pierre marche? Une conversation quand on clique dessus?
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Oui, je veux bien aussi :
Ce serait du genre quand tu cliques sur la pierre :

- Veux-tu te lier à moi ?
- Oui, sûrement !
- Non, merci !
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Ok,
Une autre question: si on est lié à aucune pierre il se passe quoi?
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
On respawn à une location par défaut (genre a côté de la pierre de la ville de départ du PJ)
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Urf... Pour la ville de dépard du PJ tu as une LocalLocation? Si oui quel est son nom?
Sinon, par hasard, le problème ce ne serait pas que tu appelle le JumpToLocation alors que le PJ est mort? Il me semble que ça ne marche pas, il faut le faire après l' EffectResurection().
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Ecoute, pour parler franchement, je suis une 'pine' en script... donc, je peux juste te donner le nom d'un waypoint qu'est WP_Pronaos ..... je sais si ça te suffit. Le module n'est pas très concret ; il a juste été ouvert pour faire cet exercice donc si tu veux tu peux inventé tout ce que tu veux ! Et encore merci !
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Bon, alors tu commence par aller chercher le script nw_o0_respawn (le script de Respawn).

Tu enlèves tout ce qu'il y a dans le main() (Attention seulement dans le main! pas les fonctions définies au-dessus) et tu le remplaces par ça:
Note Il n'y aura pas de pénalité de respawn, je n'ai pas le script d'origine sous les yeux...

Code PHP:
void main()
{
    
object oRespawner GetLastRespawnButtonPresser();
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
    
RemoveEffects(oRespawner);
    
// GetLocalLocation "n'a pas de valeur de retour par defaut" (lexicon)
    // (je me demande ce que cela veut dire), donc on utilise une autre variable si le PJ
    // est lie a une pierre.
    
if(GetLocalInt(oRespawner"LINKED"))
        
AssignCommand(oRespawnerJumpToLocation(GetLocalLocation(OBJECT_SELF"Respawn_Loc")));
    else
        
AssignCommand(oRespawnerJumpToObject(GetWaypointByTag("WP_Pronaos")));

Ensuite tu crées le script suivant, appelons le "link":
Code PHP:
void main()
{
    
object oPC  GetPCSpeaker();
    
SetLocalInt(oPC,"LINKED",1);
    
SetLocalLocation(oPC,"RESP_LOC",GetLocation(OBJECT_SELF));

Tu crées la conversation, et dans le ActionTaken de la réponse "oui" (l'action a effectuer... je sais plus en français) tu met le script "link".

Maintenant tu crées tes blueprints de pierres en leur assignant cette conversation (propriétés avancées).
Voilà, si tu as un problème, ou que tu ne comprends pas quelque chose dans un des scripts, n'hésites pas.
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Citation:
Provient du message de Sire Pom-pom
Bon, alors tu commence par aller chercher le script nw_o0_respawn (le script de Respawn).

Ou se trouve le script de respawn ? je vexu dire ou je dois le taper ?? (le premier script que tu m'as donné ) ??
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Deux solutions: tu ouvres l'éditeur de script, tu presses "ouvrir un fichier", tu coche "afficher toutes les ressources", tu écris nw_o0_resp, et tu vas le voir.
Tu passes par les propriétés du module->événements et tu cliques "éditer" sur le OnPlayerRespawn.

Je te conseille d'aller faire un tour du côté des tutoriaux...
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > BIND, le PJ réapparaît près du relais qu'il a choisis.
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 13h26.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite