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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Demande d'aide sur 2 scripts...

Par Un Loup Blanc le 19/10/2002 à 22:10:07 (#2365871)

A la mort du player, j'aurais voulu que celui ci se retrouve dans une autre zone (Style Zone 3) sur un point précis (Style mort)
J'ai essayé plusieurs trucs du gen JumpToLocation etc etc mais pas moyen d'y arriver..
Si quelqu'un m'aider je le remercie :)

Second probleme :

Jai fait un peu toutes les pages du fofo et je trouve ce post :

http://forums.jeuxonline.info/showthread.php?s=&threadid=127100

Je le trouve bien et donc je le prend mais au moment d'enregistrer

A la ligne if (GetIsPC(oPlayer))
il refuse la compilation en indiquant ERREUR : INVALID DECLARATION TYPE
Si quelqu'un pouvait encore me corriger ce probleme :)

Bonne soirée :)
*en attende d'une reconnection de GameSpy*

Par sounéva le 19/10/2002 à 22:45:35 (#2366027)

object oPC = GetLastAttacker();
if (GetIsPC(oPlayer))


j'ai regarder le script et (oPlayer) n'est pas définit
éssaye if (GetIsPC(oPC))
ca devrai marcher.
vu qu'avant y déclare "object oPC=......"
et qu'il n'y a aucune déclaration de (oPlayer) dans tout le script
c'est normale que ca retourne INVALID DECLARATION TYPE
voila
dit le si ca marche comme ca on poste qu'il a une erreur sur le trhead du script.

et pis c'est vrai que gamespy n'assure pas ce soir.......

Par Azrael07 le 19/10/2002 à 22:46:52 (#2366030)


A la ligne if (GetIsPC(oPlayer))
il refuse la compilation en indiquant ERREUR : INVALID DECLARATION TYPE


vraiment très étrange ce truc, la j'avoue je trouve pas, je n'ai vraiment aucune idée d'ou ca peut venir

if (GetIsPC(oPlayer))

dites tout le monde en koi cette ligne fait une erreur de type INVALID DECLARATION TYPE ?????????????,

c vraiment chelou.

pour l'autre truc, tu met

AssignCommand(oCreature, ActionJumpToObject(oObject));

et y'a pas de raison ke ca marche pas

EDIT :

Ben non justement c pas ca, l'object est bel et bien mal définis, mais le redéfinir correctement ne change rien, on a tjrs la meme erreur. Ou je suis aveugle, ou c truc est vraiment très étrange

Par Un Loup Blanc le 19/10/2002 à 22:52:39 (#2366049)

Provient du message de sounéva
j'ai regarder le script et (oPlayer) n'est pas définit
éssaye if (GetIsPC(oPC))
ca devrai marcher.
vu qu'avant y déclare "object oPC=......"
et qu'il n'y a aucune déclaration de (oPlayer) dans tout le script
c'est normale que ca retourne INVALID DECLARATION TYPE
voila
dit le si ca marche comme ca on poste qu'il a une erreur sur le trhead du script.

et pis c'est vrai que gamespy n'assure pas ce soir.......


Donc je suis me balade pour trouver des scripts et jen ai vu un pour se téléporter et j'ai vu cette commande, apres changement ca fait la même erreur à la même ligne... :(
*test l'autre solution*

Provient du message de Azrael07
EDIT :

Ben non justement c pas ca, l'object est bel et bien mal définis, mais le redéfinir correctement ne change rien, on a tjrs la meme erreur. Ou je suis aveugle, ou c truc est vraiment très étrange

Ben tu sembles pas aveugle alors ca doit être étrange :doute:

Par eMRaistlin le 19/10/2002 à 23:31:50 (#2366192)

c'est pas etrange... y'a une accolade de trop...


saurez-vous la retrouver ?



bon, allez, un petit indice :


#include "NW_I0_GENERIC"

void main()
{
if (!GetFleeToExit())
{
if (!GetSpawnInCondition (NW_FLAG_SET_WARNINGS))
{
if (!GetIsObjectValid (GetAttemptedAttackTarget ()) && (!GetIsObjectValid (GetAttemptedSpellTarget ())))
{
if (GetBehaviorState (NW_FLAG_BEHAVIOR_SPECIAL))
{
DetermineSpecialBehavior (GetLastDamager ());
}
else if (GetIsObjectValid (GetLastDamager ()))
{
DetermineCombatRound ();
if (!GetIsFighting (OBJECT_SELF))
{
object oTarget = GetLastDamager();
if (!GetObjectSeen(oTarget) && GetArea (OBJECT_SELF) == GetArea(oTarget))
{
ActionMoveToLocation (GetLocation (oTarget), TRUE);
ActionDoCommand (DetermineCombatRound ());
}
}
}
}
else if (!GetIsObjectValid (GetAttemptedSpellTarget ()))
{
object oTarget = GetAttackTarget();
object oAttacker = GetLastHostileActor();
if (GetIsObjectValid(oAttacker) && oTarget != oAttacker && GetIsEnemy(oAttacker) &&(GetTotalDamageDealt() > (GetMaxHitPoints(OBJECT_SELF) / 4) ||(GetHitDice(oAttacker) - 2) > GetHitDice(oTarget) ) )
{
DetermineCombatRound (oAttacker);
}
}
}
}
if (GetSpawnInCondition (NW_FLAG_DAMAGED_EVENT))
{
SignalEvent (OBJECT_SELF, EventUserDefined (1006));
}
}

object oPC=GetLastAttacker(OBJECT_SELF);
if (GetIsPC(oPC))
{
SpeakString ("Allez hop, en taule !");
object oTarget = GetWaypointByTag ("wp_taule1");
int iRandom = Random(4);
if (iRandom==1)
{
object oTarget = GetWaypointByTag ("wp_taule1");
}
else if (iRandom==2)
{
object oTarget = GetWaypointByTag ("wp_taule2");
}
else if (iRandom==3)
{
object oTarget = GetWaypointByTag ("wp_taule3");
}
else
{
object oTarget = GetWaypointByTag ("wp_taule4");
}
DelayCommand(5.0, AssignCommand( oPC, JumpToObject( oTarget)));
}
}


:mdr: :mdr:

Par Azrael07 le 20/10/2002 à 0:21:36 (#2366424)

voila donc ct ca

y'en av vraiment bcp g pas compté, mais je m'attendais vraiment pas a une erreur de ce type pour une accolade manquante, mais qd on y repense c logique

ben voila, merci a toi eMRaistlin

Par Un Loup Blanc le 20/10/2002 à 0:45:47 (#2366538)

Merci beaucoup mais yavais aussi l'objet mal défini.

Heu sinon m'sieu, zavez regardé comment j'peut faire pour ka la mort d'un joueur il se retrouve téléporter dans une autre zone ?

Par eMRaistlin le 20/10/2002 à 1:27:31 (#2366751)

C'est tres simple : y'a 2 moyen d'y arrvier...


soit, tu fais un waypoint qqpart dans ton module qui s'appele :
"NW_DEATH_TEMPLE"

et tu affecte le script : "nw_o0_respawn" a ton OnPlayerRespawn du module.


Soit tu fais un jump a l'objet de ton choix... mais sur le OnPlayerRespawn... (je te conseille aussi la solution de copier/coller le nw_o0_respawn et de l'enregistrer sous un autre nom, puis de remplacer toutes les occurences de NW_DEATH_TEMPLE par le tag que tu souhhaite ^^)

Ok ? (je suis pas sur d'avoir été clair...oO)

PS :

Merci beaucoup mais yavais aussi l'objet mal défini.

Vi, je sais, mais c'etait pas ca la cause de l'erreur "bizarre" . ca, je l'ai changé histoire de pas avoir a faire un deuxieme post ^^

Par Un Loup Blanc le 20/10/2002 à 4:25:00 (#2367256)

Provient du message de eMRaistlin
C'est tres simple : y'a 2 moyen d'y arrvier...


soit, tu fais un waypoint qqpart dans ton module qui s'appele :
"NW_DEATH_TEMPLE"

Ca j'ai compris :ange:


et tu affecte le script : "nw_o0_respawn" a ton OnPlayerRespawn du module.

Ca aussi :ange:

Soit tu fais un jump a l'objet de ton choix... mais sur le OnPlayerRespawn... (je te conseille aussi la solution de copier/coller le nw_o0_respawn et de l'enregistrer sous un autre nom, puis de remplacer toutes les occurences de NW_DEATH_TEMPLE par le tag que tu souhhaite ^^)


La j'ai rien compris et d'ailleur j'vais dodo :maboule:

On verra d'main et merci pour tous :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine