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 28/11/2024 19:54:20
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 |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Bonjour bonjour (ou bonsoir =))
Voila, j'ai un sérieux problème avec le Hearbeat du module... Normalement, mon serveur présente des rounds. En fin de round, tous les joueurs sont pétrifiés 6 secondes, et sont télepoter 1 seconde après à leur camp. Dans ce système, ils recoivent aussi de l'xp. Bon, mon problème c'est qu'il ne se téleporte pas ! Et le pire, c'est que c'est un script importer de mon ancienne arène, qui marchait parfaitement. Voici le script en question: Pour les joueurs bien: NWScript :
void GoPlayerGood(int iGain) { object oPC = GetFirstPC(); while(GetIsPC(oPC) == TRUE && GetIsDM(oPC) == FALSE) { int iTeam = GetLocalInt(oPC, "Team"); SpeakString(Couleur()+"[TEST: "+GetName(oPC)+"] est dans l'equipe "+IntToString(iTeam), TALKVOLUME_SHOUT); if(iTeam == 1) { if(GetTag(GetArea(oPC)) != "BienChateau") { RemoveAllEffect(oPC); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectPetrify(), oPC, 6.0)); } if(GetLocalString(GetModule(), "Name_M_Point") == GetName(oPC)) { DelayCommand(10.0, SendMessageToPC(oPC,Couleur(7,14,13)+"Vous etes le Survivor de la partie. Vous recevez 5% du score de votre equipe.")); DelayCommand(10.0, GiveXPGP(oPC, 5*iGain/100)); } if(GetLocalString(GetModule(), "Name_M_Kill") == GetName(oPC)) { DelayCommand(10.0, SendMessageToPC(oPC, Couleur(7,14,13)+"Vous etes le Tueur de la partie. Vous recevez 5% du score de votre equipe.")); DelayCommand(10.0, GiveXPGP(oPC, 5*iGain/100)); } if(GetLocalString(GetModule(), "Name_M_XP") == GetName(oPC)) { DelayCommand(10.0, SendMessageToPC(oPC, Couleur(7,14,13)+"Vous etes le joueur qui a recut le plus d'xp de la partie. Vous recevez 5% du score de votre equipe.")); DelayCommand(10.0, GiveXPGP(oPC, 5*iGain/100)); } DelayCommand(10.0, GiveXPGP(oPC, iGain)); SpeakString(Couleur()+"Compte!", TALKVOLUME_SHOUT); DelayCommand(7.5, AssignCommand(oPC, JumpToLocation(GetLocation(GetWaypointByTag(BDS_WP_BIEN))))); } oPC = GetNextPC(); } } Pour les joueurs mal NWScript :
void GoPlayerEvil(int iGain) { object oPC = GetFirstPC(); while(GetIsPC(oPC) == TRUE && GetIsDM(oPC) == FALSE) { int iTeam = GetLocalInt(oPC, "Team"); SpeakString(Couleur()+"[TEST: "+GetName(oPC)+"] est dans l'equipe "+IntToString(iTeam), TALKVOLUME_SHOUT); if(iTeam == 2) { if(GetTag(GetArea(oPC)) != "MalChateau") { RemoveAllEffect(oPC); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectPetrify(), oPC, 6.0)); } if(GetLocalString(GetModule(), "Name_M_Point") == GetName(oPC)) { DelayCommand(10.0, SendMessageToPC(oPC,Couleur(7,14,13)+"Vous etes le Survivor de la partie. Vous recevez 5% du score de votre equipe.")); DelayCommand(10.0, GiveXPGP(oPC, 5*iGain/100)); } if(GetLocalString(GetModule(), "Name_M_Kill") == GetName(oPC)) { DelayCommand(10.0, SendMessageToPC(oPC, Couleur(7,14,13)+"Vous etes le Tueur de la partie. Vous recevez 5% du score de votre equipe.")); DelayCommand(10.0, GiveXPGP(oPC, 5*iGain/100)); } if(GetLocalString(GetModule(), "Name_M_XP") == GetName(oPC)) { DelayCommand(10.0, SendMessageToPC(oPC, Couleur(7,14,13)+"Vous etes le joueur qui a recut le plus d'xp de la partie. Vous recevez 5% du score de votre equipe.")); DelayCommand(10.0, GiveXPGP(oPC, 5*iGain/100)); } DelayCommand(10.0, GiveXPGP(oPC, iGain)); SpeakString(Couleur()+"Compte!", TALKVOLUME_SHOUT); DelayCommand(7.5, AssignCommand(oPC, JumpToLocation(GetLocation(GetWaypointByTag(BDS_WP_MAL))))); } oPC = GetNextPC(); } } Les joueurs mal sont representer par GetLocalInt(oPC, "Team") == 2 et les joueurs bien GetLocalInt(oPC, "Team") == 1. BDS_WP_BIEN = "WP_S_Bien" BDS_WP_MAL = "WP_S_Mal" J'ai mis, comme vous avez pu le remarqué, un message, pour bien tester le fonctionnement du système. Voici ce qui s'affiche: Citation : [TEST: Sbizz] est dans l'équipe 2
Déjà premier truc louche, il repete 2 fois le message pour la team. Le message "Compte!" signifie qu'il a bien été compté, et qu'il devrait alors se teleporter ! Mais non il veut pas...
[TEST: Sbizz] est dans l'équipe 2 Compte ! Avez vous des solutions à mon problème? Franchement, j'ai refait une dizaine de fois ce script, mais rien à faire... Merci d'avance. BK EDIT: enfaite les 2 messages, c'pasque c'est placer avant le if(GetLocalInt(oPC, "Team") == x). Et avant de me dire "t'es sur que c'est le bon tag?" oui, car je l'utilise pour qu'ils se teleportent dans leur camp, quand ils le choisissent. _________________ [http] Dernière édition par Black Knight le 02/05/2007 17:14:39; édité 2 fois
|
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Pris la main dans le sac Black Knight ! *sort sa badine en osier cloûté*
Essaye de mettre un titre explicite à ton sujet stp, merci _________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Ça ne viendrait pas du fait que les joueurs "bougent" lors de la seconde d'ecart entre la fin de la pétrificaiton et la téléportation ?
En fait si ils bougent à mainte reprise ils empèchent l'action (téléportation via AssignCommand) de s'assigner dans la queue d'action en effectuant une action (marche via clique ^^). Si c'est le cas il doit y avoir moyen de contourné le problème avec la réglages du temps, des fonctions alternative à l'effet petrify qui permettrait au joueur de se téléporter meme immobilisé, etc Comme ça j'ai pas d'autres idées de la cource du problème. _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Nop c'pas ça. Moi même ce bug m'arrive, et je ne bouge pas. Je precise que ça ne le fait pas à tous les joueurs ! Je crois que ça compte que 1 joueur.
J'vais voir pour faire avec JumpToObject ... peut etre que ça marche qui sait ^^ Mais si vous avez des soluces... _________________ [http] |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
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