Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Aide: Activateur/desactivateur pvp et pvm

Par durite le 25/10/2002 à 14:55:10 (#2405001)

Bonjour a vous :p

Vala , je cherche une personne capable de créer un script permettant que en cliquant sur un objet (ex: portail) , le joueur ayant cliké ait toute forme d attaque desactivée ( pvp et pvm)

et biensur le script inverse qui lui rendra son pvp et son pvm en cliquant sur un autre Objet :p

Merci d'avance :)

Par LeProctophantasmiste le 25/10/2002 à 15:38:46 (#2405413)

A vue de nez je sens que je ne vais pas savoir le faire. Mais au cas où : c'est quoi pvp et pvm :D ? player versus player? et?

Par durite le 25/10/2002 à 16:24:34 (#2405832)

Pvp: Player versus player , Pvm : Player versus monstres

:)

Par eMRaistlin le 25/10/2002 à 16:47:54 (#2406024)

Je ne connaissent rien qui puisse modifier ce genre de chose, a part en gerant les Reputation.

Je ne crois d'ailleurs pas que cela marche pour les PC contre les PC, mais ce serait a tester.

Pour info, je ferait un post demain sur la gestion des reputations, suite a une demande expresse, même si c'est encore un domaine qui me surprend regulierement.

Par durite le 25/10/2002 à 17:12:47 (#2406255)

Bon je vous explique , j ai créer une arene possedant une zone visiteurs , de manière a ce que les gens voient les combats j ai mis des grilles , le probleme c est que les gens archers tirent les streums depuis l otre coté de la grille....

alors me fodrai un script , soit qui desactive la possibilité de tuer les monstres aux gens qui entrent dans la zone touriste , soit quelque chose qui bloquerai comme un mur invisible tt les projectiles , ou bien peut etre un script qui tuerai sur le coup la personne qui declencherai une attaque depuis le coté visiteurs de l arène...

sinon ca fait de l xp facile et ca enleve de l interet.

si vous avez une solution pour ces idées de script ou bien une autre idée ayant le meme resultat j en serait heureux.

Par LeProctophantasmiste le 25/10/2002 à 17:14:54 (#2406270)

Pas mieux, désolé, je ne crois pas non plus que ce soit possible .


Pour info, je ferait un post demain sur la gestion des reputations, suite a une demande expresse, même si c'est encore un domaine qui me surprend regulierement.

courageux :D , et très utile.

Par LeProctophantasmiste le 25/10/2002 à 17:34:01 (#2406460)

J'ai tardé à envoyer mon message, et voilà il est obsolète... Bon alors ça en fait c'est possible (à moitié, pour le PvP sélectif je ne vois pas, mais tu peux peut être rendre toute la zone no pvp non?), mais pas facile. A mon avis il faut prendre le problème à l'envers: tu mets un LocalInt sur les joueurs qui entrent dans l'arêne (trigger? Conversation qui leur permet d'entrer? cf campagne officielle).

Ensuite tu fais un OnDomaged spécial pour les monstres qui sont dans l'arène.

quelque chose dans ce goût là:

Commençons par la fin.
A la fin du script tu enregistre les dégâts totaux qu'ils ont pris (pourquoi les dégâts questions de cohérence tu va voir, remarque en utilisant l'OnSpawn tu pourrait enregistrer les points de vie). CurrentHp - MaxHp, mais peut-être pas sous cette forme, il faut voir comment le script tourne .
Dans le corps du script tu vérifies si le LastDamager est flaggé comme étant dans l'arène. S'il l'est tu ne fais rien. Sinon tu rends au monstre les points de dégât qu'il vient de se manger (EffectHeal). Tu peux le faire (il le peut!), car tu as enregistrer les dégâts qu'il avait subits auparavant (c'est ici qu'intervient la cohérence: la première fois que l'OnDamaged va être lancé tu va récupérer 0 car la variable n'a pas été définie, soit les dégâts qu'il a pris jusque là).
Si tu n'y arrives pas, demandes de l'aide, pour l'instant je n'ai pas le temps de faire les tests, et si je te le donnais comme ça, il y aurait de très grandes chances qu'il ne compile pas, donc ne parlons même pas du fait qu'il fonctionne ;) . Mais plus tard pas de problème.

EDIT: j'ai tout de même pris le temps de corriger quelques fautes :o

Par eMRaistlin le 25/10/2002 à 17:49:17 (#2406611)

Ceci ne regle que quelques pb :

- Les mages qui feraient powerWord Kill.

- Les monstres qui meurent du coup, sans avoir le temps de se soigner.

- Les monstres qui essayent d'attaquer l'archer, car son level est plus haut que celui du gars dans l'arène.


honnetement, je le gererai pas du tout comme ca :


Ce que je te conseille, c'est de faire une zone non-PVP, puis tu fais un script sur le OnEnter qui va ajuster les reputations de tout le monde a Friendly (limite amoureux, même ^^), histoire qu'il ne se frappent pas.

Puis, tu cree ton arena, et tu fais un trigger a l'entrée de l'arene qui Ajuste le Pc par rapport au monstre, et juste le Pc qui est entré dans l'arene...

Ca me semble la facon la plus simple de gerer ca.

Par durite le 25/10/2002 à 18:54:24 (#2407258)

Quelques précisions... en fait pour le pvp ce n est pas trop grave car si les joueurs décident de s entretuer c est leur probleme , le plus gros probleme est que la partie touriste et la partie Combat de cette arene sont contenus dans la meme zone (la partie arene est entourée de grilles et la partie visiteurs est de l autre coté de ces grilles tout autour de la piste de combat...

dans une cage en forme de croix se trouve un pnj qui permet sur demande d invoquer des monstres ...pour rentrer dans la cage on prends un portail , on est teleporter 5 metres plus loins , on parle au pnj ki invoke alors un monstre , on reprends le portail pour aller dans l arrene (nouveau saut de 5 metres) et on va tuer le monstre qui a été invoquer...

Probleme...certaines personnes pour eviter de se faire tuer par les monstres invoqués , vont voir le pnj , font invoquer des monstres et pour pas crever , leurs tirent dessus depuis l otre coté de la grille...ca qui fait qu il prenne aucun risque et font leur xp les doigts dans le nez...

donc que faire ....les rendre amis avec les monstres ? je pense pas etant donner que un click droit et c est bon on peut agresser le monstre meme si il est en position ami....Mur invisible ? comme l a dit une personne precedement , les murs ne bloqueraient pas certains sorts, et pis meme je vois pas comment créer de grand mur invisible qui arrete les fleches et sorts...La solution serait peut etre un script affecté au portail qui mene au pnj ayant pour effet de provoquer la mort du PC a chaque attaque qu il produira , et un script affecté au portail de retour dans l arene qui permettrai de desactiver la mort automatique a chaque ataque...

resultat les gens seraient obliger de tirer les monstres en etant dans l arene au risque de perdre un peu d xp plutot que de mourir en boucle a force de tenter de tirer depuis la zone du pnj...

en definitive me fodrai u truc qui les tue a chaque attaque , et un autre pour le desactiver... :/

je le repete il y a 1 seul et unique zone pour la partie arene et la partie public...

Par coolstar le 25/10/2002 à 20:10:10 (#2407968)

Hi!


Perso (si je ne tiens pas compte de l'aspect même des scripts que je laisse pour l'instant au plus pros d'entre-nous... :ange: ), perso donc... je raisonne chacun des ces types de prob comme un Master Non-Virtuel (en situation RPG-Papier donc !)... :D


En l'occurence, pour ce qui est du Joueur récalcitrant, tu pourrais déjà résoudre le prob de 3 façons :

1) Tu le téléportes dans l'arène aussitôt qu'il a sollicité le combat (genre il s'y est rendu de son plein gré, ou même, le PNJ l'y a téléporté...)

2) Le Joueur ne voit apparaît la bestiole qu'à l'instant où il pénètre dans l'Arène après avoir fait sa demande...

3) Le Joueur doit se rendre dans l'Arène pour déclencher la sollicitation (comme si en fait il hélait le PNJ...)

D'autre part... pour ceux qui chercheraient à attaquer tout de même la bestiole à distance (tandis que l'autre Joueur se frite avec elle...), la solution la plus évidente et rôlistiquement la plus cohérente c'est de voir les Gardes de l'Arène surgir pour s'occuper des importuns qui ne respectent pas les règles (genre, ils avaient été avertis...) :hardos:


Voilà, voilà... ;)

...

Par eMRaistlin le 25/10/2002 à 20:16:46 (#2408037)

donc que faire ....les rendre amis avec les monstres ? je pense pas etant donner que un click droit et c est bon on peut agresser le monstre meme si il est en position ami....


Euh... nonon... tu t'avance un peu, la ? =P

je t'ai dis : Tu met la zone (paske tu peux le gerer d'area en area.) en NO-PVP.

Et apres seulement, tu rendra le gars qui passe sur un trigger (c'est comme les pieges, mais indetectable) hostile au monstre et vice-versa. Comme ca, ceux en dehors de l'arene sont bluesés...

Quand tu pose une question, avant de dire non, lis les reponses... =P *




*no offense taken, mais bon, fais gaffe quand meme...

Par coolstar le 25/10/2002 à 20:28:25 (#2408149)

T'es sûr de ce que tu dis-là eMRaistlin ? :D


Nan parce que là durite il semble parler d'un prob Joueur contre PC (les Monstres de l'Arène...) et a priori le NO-PVP n'empêche pas de tuer les Monstres/PC ? si ?? :confus:


Tiens-moi au courant... ;)

...

Par LeProctophantasmiste le 25/10/2002 à 20:42:30 (#2408276)


- Les mages qui feraient powerWord Kill.

- Les monstres qui meurent du coup, sans avoir le temps de se soigner.

- Les monstres qui essayent d'attaquer l'archer, car son level est plus haut que celui du gars dans l'arène.


Mea Culpa (ca devait être la fatigue :D), en fait pour le 2 il est possible que ça marche (j'en était convaincu, mais après tout j'en sais rien) le script étant lancé immédiatement, et l'EffectHeal aussi, quand les dégâts sont subits, le monstre n'aurait pas "le temps" de mourir.

Je n'avais pas tout compris à la suggestion de eMRaistlin, en fait c'est simple et efficace: dans une zonz no PvP on ne peut pas attaquer une créature amicale, un message s'affiche disant que l'action a échouée.
Ca laisse de côté la possibilité d'un joueur lançant des sorts pour aider ceux qui sont dans l'arène... Je veux dire sur les joueurs, pas sur le monstre (étant donné qu'aucune action hostile ne sera autorisée). Comme ça je ne vois aucun sort d'aide qui puisse atteindre les joueurs dans l'arène depuis l'extèrieur . S'il y en a, je ne vois pas ce qui peut être fait pour le contrôler de toute façon.
En y pensant, il y a aussi la possibilité d'utiliser des sorts à effet de zône...


D'autre part... pour ceux qui chercheraient à attaquer tout de même la bestiole à distance (tandis que l'autre Joueur se frite avec elle...), la solution la plus évidente et rôlistiquement la plus cohérente c'est de voir les Gardes de l'Arène surgir pour s'occuper des importuns qui ne respectent pas les règles (genre, ils avaient été avertis...)


Je suis assez d'accord, cela semble la solution la plus "naturelle", les spectateurs (très) en colère pourraient peut-être s'en mêler. Le problème c'est de la mettre en oeuvre. Il y a peut-être un moyen, reprenant l'esprit de la solution de eMRastlin . Initiallement les monstres sont neutres (au moins, sinon amicaux)vis-à-vis des joueurs, quand ils rentrent dans l'arène ces derniers sont flaggés (SetLocalInt(oPC,"InArena",1)), et les monstres leurs deviennent hostiles. Sur le EndCombatRound et le OnDeath tu vérifies qu'aucun PC n'est à la fois non flaggé, et hostile pour les monstres, laissant ainsi le moteur de NWN marquer les contrevenants. Ca devrait marcher pour les sorts à effet de zône aussi.

Par durite le 25/10/2002 à 20:45:47 (#2408298)

euh sauf erreur de ma part , ce qui est tres possible , meme si le monstre est en bleu , si je clike droit dessus et que je dis attaquer , ben je le tape le monstre ...alors dans ce cas ca m arrange pas...enfin ptet que je me trompe

Par eMRaistlin le 25/10/2002 à 21:26:50 (#2408549)

enfin ptet que je me trompe


Oui, c'est sur même ! :mdr: :mdr: :mdr: :mdr: :mdr:

JOL Archives 1.0.1
@ JOL / JeuxOnLine