La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 14:05:10
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
C'est encore moi, désolé mais je patauge. Je cherche depuis une heure sur le forum sans trouver exactement ce que je souhaiterai.
Voici ce que j'aimerais avoir. En fait je fais un module où j'aimerais incorporer un système complexe du PVP. J'ai plusieurs factions sur le module : Des bons, des mauvais, des drows, des duergars, des drows renégats etc... et j'en passe. Ce que j'aimerais, c'est que le joueur, selon son appartenance à sa faction, soit hostile envers telle ou telle faction, ou amical avec une autre. Exemple : un PJ jouant un bon serait hostile envers les drows, les duergars et les mauvais, mais amical envers nains, drows rebelles etc... En fait que la faction reconnaisse le PJ comme étant amical. Je pense que le plus simple serait de donner un objet au PJ lorsqu'il choisira sa faction, et que les divers peuples puissent d'une part voir l'objet en question dans l'inventaire du joueur, et d'autre part devenir amical ou hostile selon l'objet. Je crois que cela est fait sur certains modules, mais je me souviens plus lesquels. L'intéret ? Ben en fait les PJ ne se contenteront pas de faire du PVP, mais pourront aussi monter des raids contre les citées et ses habitants En prenant l'exemple de l'objet dans l'inventaire, quelqu'un aurait un script à me proposer s'il vous plait ? Question subsidiaire : l'objet en question pourrait-il être une "peau" ? Ca éviterait d'encombrer l'inventaire... Aucune de mes connaissances alentoure n'a d'idée sur le sujet. C'est peut-être culotté de demander si l'on pouvait me fournir le script mais je suis hélas complêtement perdu. remerciements d'avance cordialement _________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Il y a un script pour 2 factions opposées ici :
[http] _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
Je te remercie pour ton intervention. Je suis allé voir le script, mais au risque de passer pour un boulet (ca arrive^^) je ne comprends pas comment il marche, ni ce qu'il fait au juste. Je cherche juste un truc qui ferait qu'une créature serait hostile envers un PNJ, ou amical envers un autre (en allant chercher un item de type "peau" par exemple dans l'inventaire). Ce ne serait pas plus simple ainsi ? C'est juste une question, je n'y connais rien là.
_________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Dreams a écrit : Je cherche juste un truc qui ferait qu'une créature serait hostile envers un PNJ, ou amical envers un autre Une créature? T'es sur?
Dans ce cas c'est plus du PvP (Player Versur Player -> Joueur contre joueur), mais du PvM (Player Versus Monster -> je te laisse faire la traduction! lol!) C'est donc dans les script de tes creature qu'il faut jouer, en particulier le OnPerception, se déclanchant des qu'il voit quelquechose. Voici l'algo que j'entrevois : si le truc qu'on voit est un joueur, --> si le joueur à l'objet "mechant" -> attaque -------> sinon -> rien voilà le script suivant cet algo : NWScript :
// OnPerception du monstre void main() { object oPJ = GetLastPerceived(); object oMechant = GetItemPossessedBy(oPJ, "Tag de l'objet du mechant"); if (GetIsPC(oPJ)==TRUE) { if (GetIsObjectValid(oMechant)==TRUE) { ActionAttack(oPJ); } else return; } } Heu... Bah voila... _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
S@ntoS Seigneur Messages: 169 Localisation: J'aimerais bien le savoir. |
Salut,
J'allai également proposer le même genre de solution avec la fonction « ActionAttack ». On peut même se passer d'objets et affecter une variable différente à chacune des factions. D'autres part, je ne comprends pas bien le but de la manœuvre. Le système de faction intégré de NWN ne permet-il pas justement d'obtenir des rivalités ou affinités entre groupes de PJ et PNJ ? Autre chose encore, est-ce pour jouer un module solo, multi, on-line ??? Je ne comprends pas bien... @+.f€r. _________________ L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Le RP, cé vrémant tro z'injuste ! |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
Merci à toi Kiki c'est super, juste petite question, l'objet du mechant peut-il etre une peau invisible dans l'inventaire ? Et autre chose, je sais je suis très embêtant, imaginons qu'il y aie plusieurs objets de méchants ? Genre les paladins doivent reconnaitre et les drows, et les duergars, et les mauvais etc... Comment puis-je intégrer plusieurs conditions sur plusieurs TAG dans ton script ? Je sais je suis pas très doué et m'en excuse
Pour répondre à Santos, il s'agit d'un module on-line en ce moment mais en béta et est amélioré quotidiènement. C'est un monde persistant rp, et le but de la manoeuvre est que la faction drow (qui sera un exemple) RECONNAISSE un joueur n'étant pas des leurs et l'attaque à vue. S'ils le reconnaissent comme étant l'un des leurs ils n'attaquent donc pas. Ca permettra aux PJ drow d'avoir une citée ou eux seuls, et accessoirement les duergars, pourront acceder, autre humains, elfe, nain et demi-orcs étant attaqués à vue. J'essaie de déployer un systeme où les joueurs pourront organiser des raids de temps en temps contre une citée, pendant que d'autres joueurs les défendent. Voilà pour la chtite histoire ^^ _________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
En fait voici comment je vais procéder pour alléger le script. Je voudrais que si le PJ n'a pas l'objet méchant dans son inventaire, alors le drow l'attaque. Ainsi dans ton script, en changeant le "TRUE" par "FALSE", est-ce que le fait de ne pas avoir l'objet entrainera l'attaque ?
Sinon que dois-je changer ? Merci encore. _________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Dreams a écrit : Pour répondre à Santos, il s'agit d'un module on-line (...) où la faction drow (qui sera un exemple) RECONNAISSE un joueur n'étant pas des leurs et l'attaque à vue. Attend, attend, on parle de pvp (joueur contre joueur)
ou de pvm (joueur contre monstre), là? Je suis un peu largué là... _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
non non du PVM, je me suis tres mal exprimé excuses moi . Les PNJ drows devront reconnaitre un joueur comme étant l'un des leurs, sinon ils attaquent, voici en simplifiant. Ainsi les PJ drows pourront aller dans leur cité sans crainte, tandis que les autres joueurs seront attaqués ^^
_________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Dreams a écrit : non non du PVM, je me suis tres mal exprimé excuses moi . Les PNJ drows devront reconnaitre un joueur comme étant l'un des leurs, sinon ils attaquent, voici en simplifiant. Ainsi les PJ drows pourront aller dans leur cité sans crainte, tandis que les autres joueurs seront attaqués ^^ Oki, comment distingue tu les factions des PNJ?
Ont ils aussi l'objet en question? (peau ou autre, peu importe) _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
Comment je distingue mes factions des PJ ?? Ben heu j'avoue ne pas avoir réfléchi à cela en fait... En fait les factions et les PJ n'ont rien du tout en commun à vrai dire. Les factions sont justes editées pour etre alliées ou ennemies entre elles, à part cela les joueurs je ne les ai pas gérés de la meme facon.
Cela a une importance ? De quoi as-tu besoin reelement ? _________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
Sinon, lorsque tu mets des peaux à tes PJs lorsqu'ils entrent dans ton module, en même temps, tu leur attribue un localstring, par exemple en mettant ca dans ton script :
NWScript :
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. Ensuite, sur tes monstres (ici on va prendre les drow) : NWScript : // OnPerception du monstre void main() { object oPJ = GetLastPerceived(); string sRace = GetLocalSring(oPJ, "race"); if (GetIsPC(oPJ)==TRUE) { if (sRace != "drow") { ActionAttack(oPJ); } else return; } } _________________ ... |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
Merci à toi pour ce script
Sinon d'une race à l'autre je change juste "drow" pas race ? cordialement _________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
daeron Voyageur Messages: 4 |
|
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
Dreams a écrit : Sinon d'une race à l'autre je change juste "drow" pas race ? Oui, tu remplaces "drow" par le nom de ton autre race._________________ ... |
Revenir en haut | |
Dreams Ecuyer Messages: 41 Localisation: val de marne |
Merci beaucoup pour votre aide ! Mais je sais pas si je comprends mal, ton script fera qu'un drow reconnaitra un autre drow ? Ou alors fait-il autre chose ?
Ah et quand je le place dans les script, il ne se compile pas et j'ai l'erraur --> variable parsing list _________________ La raison de la réussite des gens du mal est l'inaction des gens du bien |
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
avec le script que tu as posté dans un autre post :
NWScript :
void main() { object oPC = GetLastSpeaker(); object oItem = GetFirstItemInInventory( oPC ); while( oItem != OBJECT_INVALID ) { DestroyObject( oItem ); oItem = GetNextItemInInventory( oPC ); } DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); // equipe les nouveaux objets // vetement object oVet = CreateItemOnObject ("resresf du vetement", oPC, 1); AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST)); // peau object oPeau = CreateItemOnObject ("resref de la peau", oPC, 1); AssignCommand(oPC, ActionEquipItem(oPeau, INVENTORY_SLOT_CARMOUR)); //essaye si possible de mettre en resref, sinon ca risque de compliquer beaucoup les choses SetLocalString( oPC, "race", "resref_de_la_peau" ); } L'autre script doit être mis dans le OnPerception de chacun de tes pnj, en modifiant a chaque fois "drow" par la race du pnj. Il fait en sorte que le pnj qui voit un pj ne soyant pas de sa race l'attaque. _________________ ... |
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
avec le script que tu as posté dans un autre post :
NWScript :
void main() { object oPC = GetLastSpeaker(); object oItem = GetFirstItemInInventory( oPC ); while( oItem != OBJECT_INVALID ) { DestroyObject( oItem ); oItem = GetNextItemInInventory( oPC ); } DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); // equipe les nouveaux objets // vetement object oVet = CreateItemOnObject ("resresf du vetement", oPC, 1); AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST)); // peau object oPeau = CreateItemOnObject ("resref de la peau", oPC, 1); AssignCommand(oPC, ActionEquipItem(oPeau, INVENTORY_SLOT_CARMOUR)); //essaye si possible de mettre en resref le nom de la race correspondante, sinon ca risque de compliquer beaucoup les choses SetLocalString( oPC, "race", "resref_de_la_peau" ); } L'autre script doit être mis dans le OnPerception de chacun de tes pnj, en modifiant a chaque fois "drow" par la race du pnj. Il fait en sorte que le pnj qui voit un pj ne soyant pas de sa race l'attaque. Edit : oups, désolé pour le double post, il n'est pas voulu, si un modo pouvait effacer le premier, ce serait sympa _________________ ... |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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