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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

un coup de main quand un pnj donne un objet de quête sans que le PC est l'ingrédient

Par sounéva le 8/12/2002 à 4:19:10 (#2735329)

en fait le problème se situe sur un serveur ou même sans avoir les ingrédient demander l'on peut obtenir des pnj les objets des quêtes correspondant au ingrédients.

le DM m'a dit que quand il teste son serveur en solo le bug ne se produit jamais et il pense que le tag de l'ingrédient reste coller au PJ a cause du lag, est-ce possible ?
les majuscule/minuscule des tag pose t elle un probleme ?
vaut il pas mieux utilisier les resref ?
vu que cela marche en solo d'ou peut venir le problème ?
et avez vous déjà rencontré ce genre de problèmes ?

je pose toute ces question car je n'est pas le/les scripts concerné
je fait ca juste pour rendre service.

Re: un coup de main quand un pnj donne un objet de quête sans que le PC est l'ingrédient

Par Tynril le 8/12/2002 à 4:33:12 (#2735353)

Provient du message de sounéva
le DM m'a dit que quand il teste son serveur en solo le bug ne se produit jamais et il pense que le tag de l'ingrédient reste coller au PJ a cause du lag, est-ce possible ?
Non.
les majuscule/minuscule des tag pose t elle un probleme ?
Oui. Les tags sont Case Sensitive.
vaut il pas mieux utilisier les resref ?
Du moment que l'objet est généré à partir d'un blueprint, ca ne change rien.
vu que cela marche en solo d'ou peut venir le problème ?
Dur a dire sans avoir les scripts qui testent la présence (ou la non-présence) de l'ingrédient concerné.
et avez vous déjà rencontré ce genre de problèmes ?
Non.
je pose toute ces question car je n'est pas le/les scripts concerné
je fait ca juste pour rendre service.
Il devrait passer nous voir ;)

Par sounéva le 8/12/2002 à 14:57:45 (#2737251)

merci Tynril
je lui fait part de ton invitation a passer sur le forum.

voila les sccripts

Par Claedeus le 8/12/2002 à 16:23:13 (#2737820)

Bonjour a vous ) et merci de proposer votre aide )

script qui check si le PJ a l item dans l inventaire :


//::///////////////////////////////////////////////
//:: FileName sc_150
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 05/12/02 00:53:38
//:://////////////////////////////////////////////
#include "nw_i0_tool"

int StartingConditional()
{

// Make sure the PC speaker has these items in their inventory
if(!CheckPartyForItem(GetPCSpeaker(), "peaudedevoreur"))
return FALSE;

return TRUE;



voila celui qui retire / récompense le PJ


//::///////////////////////////////////////////////
//:: FileName at_125
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 08/12/02 16:11:15
//:://////////////////////////////////////////////
void main()
{
// Donner de l'or à la personne qui parle
GiveGoldToCreature(GetPCSpeaker(), 50);

// Donner des PX à la personne qui parle
GiveXPToCreature(GetPCSpeaker(), 50);


// Enlever des objets de linventaire du joueur
object oItemToTake;
oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "peaudedevoreur");
if(GetIsObjectValid(oItemToTake) != 0)
DestroyObject(oItemToTake);


et enfin voila .. la peau de devoreur :

Nom : Peau de devoreur
tag : peaudedevoreur
resref : peaudedevoreur


et voila le bug rencontré :

quand le joueur parle pour la 1ere fois au PJ .. tout vas bien .. le PJ fait la quest une fois .. tout vas bien .. deux fois .. etc etc et au bout d un moment le PJ obtient la phrase de récompense meme quand il na pas ces peaux de devoreurs ...

...


voila )

EDIT : je precise une chose ... quand le PJ bug .. c est SEULEMENT envers le joeur qui a fait la quete 3 ou 4 fois .. et les autres joeur eux ne voyent tjs as la phrase de récompense

Par sounéva le 8/12/2002 à 16:53:00 (#2738004)

int StartingConditional()
{
if(!CheckPartyForItem(GetPCSpeaker(), "peaudedevoreur"))
return FALSE;
return TRUE;
}


a priori c'est la que ca bug
ca bug quand on a déjà au moins une fois donner l'item "peudedevoreur" au pnj donc.
méandre du script wizard.:rolleyes:
je dirait qu'on pourrait rajouter une variable pour la vérification d'objet mais n'ayant pas encore conçu un mod pour le online je ne sait pas si je suis sur la bonne voie.
je laisse la place au experts. :lit:

[edite]
peut etre aussi que des accolade {} en plus et un else sufirait a résoudre le prob ?????

[edite] euh le CheckPartyForItem ne check t il pas tous les joueur sur le module par hasard ? ce qui ferait que si un joueur a l'ingredient n'importe qui peut avoir acce a la phrase du pnj .
[edit] une quiche rest une quiche de toute facon
voici le script du jédai que la force soit avec vous

#include "nw_i0_plot"

int StartingConditional()
{
object oPC = GetPCSpeaker();
return HasItem(oPC, "peaudedevoreur");
}


ca devrait marcher

Par sounéva le 8/12/2002 à 18:54:09 (#2738700)

reste a vérifier si le joueur n'a pas déjà donner l'objet si les pros de monde persistant pouvait donner un coup de main sa serai bien.

a savoir si les variables seront toujours sur les joueurs en cas de déco/reco ou en cas de modif du mod?

de plus Claedeus :

1)- et si le joueur retue le chef dévoreur pourquoi ne pourait-il pas obtenir encore une fois la récompense ?
c'est plus une question de background qu'autre chose.

2) est il possible de faire en sorte que si le joueur a déja accompli la quête la creature ne donne plus l'ingrédient a sa mort?.
tout ceci dans l'optique d'un serveur persistant.

3) cela va engéndré un autre problème a savoir comment les joueur vont se faire de l'argent ?

Par eMRaistlin le 9/12/2002 à 0:09:04 (#2740931)

En ce qui concerne le dialogue qui se reproduit parfois, j'ai moi meme constaté des bugs dans les dialogues et les tokens qui font que il confond parfois avec les EnteringObject. C'est rare, mais ca arrive. D'autant plus si ton dialogue est bon.

En ce qui concerne le script, il etait juste, mis a part qu'il verifiait effectivement toute l'equipe, ce qui n'est pas forcement optimal.


A noter que :

[EDIT] A noter que je suis un âne

1)- et si le joueur retue le chef dévoreur pourquoi ne pourait-il pas obtenir encore une fois la récompense ?


Bonne question : c'est avant tout un choix.

2) est il possible de faire en sorte que si le joueur a déja accompli la quête la creature ne donne plus l'ingrédient a sa mort?.

Oui, mais c'est un peu tordu : genre affecter une variable au module, puis au spawn de la creature, demander que si cette variable module est verifiée, alors tu detruis l'item.
(je prefere le spawn de la creature, car comme cela, un voleur peut pickpocketer la premiere fois, et pas les suivantes. Mais le concept fonctionne aussi sur un OnDeath)

3) cela va engéndré un autre problème a savoir comment les joueur vont se faire de l'argent ?


Avec lke nouveau Hak des robes, ils peuvent faire le plus vieux metier, mais en version Do Brasil ^^:mdr: :mdr: (Desole...)

Encore un fois, c'est un choix du MD.

Par Jedaï le 9/12/2002 à 0:37:05 (#2741060)

eMRaistlin, c'est quoi cette horreur, GetItemPossessedBy() a comme paramètres l'objet sur lequel chercher ET le tag de l'objet à récupérer !:eek:
Corrige nous vite ça !


#include "nw_i0_plot"

int StartingConditional()
{
object oPC = GetPCSpeaker();
return HasItem(oPC, "peaudedevoreur");
}


Avec GetItemPossessedBy(), il aurait fallu utiliser GetIsObjectValid().

Par eMRaistlin le 9/12/2002 à 0:40:53 (#2741071)

euh... effectivement... j'edite.. merci Jedaî



(je crois que je vais retourner jouer un peu... j'ai passé trop de temps sur le toolset, la, il semblerait...)

Par Jedaï le 9/12/2002 à 0:44:31 (#2741087)

C'est sûr que je t'ai connu plus en forme:) , refais toi une santé avant noël:p (sinon c'est triste ;) )

Par coolstar le 9/12/2002 à 0:46:38 (#2741100)

:maboule:

Grand merci

Par Claedeus le 9/12/2002 à 17:05:35 (#2745066)

Ca marche inpec =) Grand merci Jedai et a tous ceux qui ont essayé =)

JOL Archives 1.0.1
@ JOL / JeuxOnLine