Aide pour des Scritps

Répondre
Partager Rechercher
Salut, je suis en train de créer un module (Treasure Hunters) mais hélas je ne ne m'y connais pas (encore) assez en script Aurora, donc je fais appel à vous :

Treasure Hunters étant un module inspiré de BOTD, il met en scene 2 Equipes (ici Zilart et Promathia).

[1]::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Lorsqu'un PJ arrive sur le module, il a le choix entre rejoindre l'équipe Z ou P.

J'aimerai que, lorsqu'un PJ accepte de rejoindre une des 2 equipes en cliquant sur sa porte, alors qu'il se retrouve téléporté dans la salle de l'equipe en question, il soit automatiquement affecté à un groupe de PJ.

Exemple : PJ rejoint Zilart.Il est téléporté dans la salle Z.
Comment le faire adhérer au groupe 'Zilart' ?

J'ai lu quelques forums, et j'ai cru comprendre que ces groupes étaient plutot des Factions..alors j'ai essayé ça, en toute ignorance, par logique :

Dans OnEnter de la salle Z:

Citation :
void main()
{
object oPC = GetEnteringObject();
{
SetStandardFactionReputation(int "Zilart", int 100, object oPC=OBJECT_SELF)
SetStandardFactionReputation(int"Promathia", int 0, object oPC=OBJECT_SELF)
}
Mais évidemment ca ne marche pas....j'ai fait quelques tentatives avec ChangeFaction aussi, mais rien...

Est-ce que faction = groupe ?
Comment faire rejoindre un groupe à un PJ ?

Merci d'avance.
[2]::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

J'aimerais restreindre l'utilisation de portails et de porte en fonction du Level, de l'equipe (ou de la faction) du joueur.

[3]::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Est-ce possible d'importer des magasins depuis un autre serveur — et en ai-je le droit ? =p

[4]::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Sur les OnEnter et OnExit des zones j'ai placé des scripts qui confisquent puis réajustent l'xp et l'inventaire des joueurs, mais la ligne concernant l'or ne semble pas marcher :
Citation :

#include "nw_i0_plot"
void main()
{
object oPC = GetEnteringObject();
{
// On donne de l'XP
SetXP(oPC, 6500);
// ET LA CA NE MARCHE PAS !!
TakeGoldFromCreature(GetGold(oPC), oPC, TRUE);
// On donne de l'or
GiveGoldToCreature(oPC, 5000);
// destruction de l'equipement porté
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_CHEST, oPC));
DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, 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));
object oInv = GetFirstItemInInventory(oPC);
// On vide l'inventaire
while (GetIsObjectValid(oInv))
{
DestroyObject(oInv);
oInv = GetNextItemInInventory(oPC);
}
// On crée dans l'inventaire
object oVet = CreateItemOnObject("NW_CLOTH009", oPC);
// On equipe
AssignCommand(oPC, ActionEquipItem(oVet, INVENTORY_SLOT_CHEST));

}
}
Voila, je fais remonter ce sujet en esperant cette fois obtenir quelques réposnes ^^ Merci!
Pour les factions, c'est une mauvaise piste (a priori)
Les PJ font tous parti de la faction PJ par défaut.
et je ne pense pas que tu puisse affecter une autre faction a un PJ directement.

Donc a priori il faut en passer par un objet qui "distinguera" les PJ en "groupe"/faction.

Pour restreindre l'utilisation des portails, il faut travailler sur le OnUsed, le OnOpen ou le OnAreaTransitionClick de ta porte/placeable.


Pour importer des magasins tu peux, encore faut il que le possesseur du module soit d'accord pour te passer les ressources , car il y a sûrement des objets personnalisés dedans ....

Pour l'or j'en sais rien, ya pas un SetGold ??, et s'il doit te servir a la connexion des joueurs, tu devrai regarder du coté du OnClientEnter, plutôt ....

Voila, j'espère que ces pistes t'aiderons.
Pour l'or il faut assigner une commande précise : Le joueur doit se prendre l'or à lui-même, en le détruisant (spécial, non ?) :

AssignCommand(oPC,TakeGoldFromCreature(GetGold(oPC),oPC,TRUE));
Merci, pour l'or ca marche, mais pour le reste, sympa les pistes, mais jen connais surement moins que toi en scriptage Malicene...donc je px pas trop 'travailler' la ou tu me diriges — le mieux serait que qqn puisse me donner des cript pour la restriction de level, l'inclusion ds un groupe, et pr les magasins je me débrouille ^^ !

Merci bcp
Code PHP:

void main()
{
object oPC GetPCSpeaker();
object oTarget GetWaypointByTag("Equipe des méchant");

    if (
GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD 
       
|| GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL)
       
AdjustAlignment(oPCALIGNMENT_EVIL80);

object oPJRecherche GetFirstPC();

    while (
GetIsObjectValid(oPJRecherche))
          {
          if ((
GetItemPossessedBy(oPJRecherche"MAL") != OBJECT_INVALID
             && (
oPJRecherche != oPC))
            {
            
AddToParty(oPCoPJRecherche);
            }
          
oPJRecherche GetNextPC();
         }
    
DelayCommand(2.0AssignCommand(oPCActionJumpToObject(oTarget)));
 } 
Si ca peut t aider c une partie du script qui permet au mauvais dans un dialogue d'avoir la bonne faction et de rejoindre son equipe.
__________________
Module PvP SombreLune : http://sombrelune-nwn.realbb.net/forum.htm

SombreLune 2 en Beta.
Huh! Merci ça à l'air sympa, mais il faut que tu m'expliques ce que ca fait exactement >.< apparement ca teleporte au waypoint aussi..donc il faut que je remplace mon ancien script qui est :

Citation :
void main()
{
object oUser = GetLastUsedBy();
object oWaypoint = GetWaypointByTag("wp_pmr");
AssignCommand(oUser,ActionJumpToObject(oWaypoint));
}
Jusque la ok, mais c quoi l'objet MAL que tu recherches ??
___________________
Apres reflexion,il faudrait, une fois que les alignement sont changés, un script qui met tous les vilains ds une mm equipe et tous les bons ds une autre...c'est possible ?
Citation :
Publié par lire plus haut
Donc a priori il faut en passer par un objet qui "distinguera" les PJ en "groupe"/faction.
Il faut créer un objet de faction, ou coller une variable de faction sur ta pierre d'emote.
l'objet ke je cherche est en possession des autres joueurs, c une amulette qui di ke tu appartiens a un des 2 camps, et g donc oublié de mettre ca dans le script :

Code PHP:

    CreateItemOnObject("mal"GetPCSpeaker(), 1); 

A noté que l on peut passer par la faction sans l objet, j y ajoute un objet pour y stoquer tout un tas de variables, si tu jouais sur mon module tu le saurais :-)
__________________
Module PvP SombreLune : http://sombrelune-nwn.realbb.net/forum.htm

SombreLune 2 en Beta.
Hum...Alors,je pense avoir compris ton script, mais j'hesite pour savoir ou placer la ligne qui crée l'item...

Je l'ai mise avant ca : object oPJRecherche = GetFirstPC();

Je ne voulais pas avoir recours a un i tem, mais tanpis, merci! Si je trouve ce que je cherchais vraiment je vous en fera part =p
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés