Strict Standards: Non-static method AJAXChatFileSystem::getFileContents() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatTemplate.php on line 37

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81

Strict Standards: Non-static method AJAXChatEncoding::htmlEncode() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChat.php on line 2862

Strict Standards: Non-static method AJAXChatEncoding::encodeSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 53

Strict Standards: Non-static method AJAXChatEncoding::getSpecialChars() should not be called statically, assuming $this from incompatible context in /var/www/phpBB3/chat/lib/class/AJAXChatEncoding.php on line 81
www.minas-dae.com • Afficher le sujet - script de changement des boucliers

www.minas-dae.com

Les Copains D'Abord - Les Marches de Minas-Dae

Heures au format UTC + 1 heure [ Heure d’été ]

Nous sommes le 20 Avr 2019, 12:22




Poster un nouveau sujet Répondre au sujet  [ 6 messages ] 
Auteur Message
 Sujet du message: script de changement des boucliers
MessagePosté: 23 Juin 2008, 20:08 
Hors ligne
Noble de Thol
Avatar de l’utilisateur

Inscription: 13 Juil 2006, 18:37
Messages: 394
Localisation: un alcool de la sarte
je viens de voire cette nouvel parti du fofo bonne idée ,j'ai 2 ou trois script qui traine a poster ici ^^

voici un script de changement des bouclier , si ça intéresse quelqu'un :

il se compose de 2 partie une a placer dans le onSpawn du pnj qui modifira les bouclier l'autre dans le onConversation. le pnj devra avoir un dialogue pour expliquer qu'il sufi de demander (sur le canal parler) le forme et la couleur du bouclier voulu parmi un choix de 4 forme et 3 couleur possible(forme x couleur x) il faudra aussi importer ceci :http://www.sendspace.com/file/1tgsr3


les scripts :
Code:
/*
script de changement des bouclier par kric
partie a placer dans le on spawn du pnj modificateur de bouclier
*/

void main()
{
   //on le prepare a ecouter
         SetListening(OBJECT_SELF, TRUE);
   //on assign une valeur pour chaque forme possible
   SetListenPattern(OBJECT_SELF,"forme 1 couleur 1",11);
   SetListenPattern(OBJECT_SELF,"forme 1 couleur 2",12);
   SetListenPattern(OBJECT_SELF,"forme 1 couleur 3",13);
   SetListenPattern(OBJECT_SELF,"forme 2 couleur 1",21);
   SetListenPattern(OBJECT_SELF,"forme 2 couleur 2",22);
   SetListenPattern(OBJECT_SELF,"forme 2 couleur 3",23);
   SetListenPattern(OBJECT_SELF,"forme 3 couleur 1",31);
   SetListenPattern(OBJECT_SELF,"forme 3 couleur 2",32);
   SetListenPattern(OBJECT_SELF,"forme 3 couleur 3",33);
   SetListenPattern(OBJECT_SELF,"forme 4 couleur 1",41);
   SetListenPattern(OBJECT_SELF,"forme 4 couleur 2",42);
   SetListenPattern(OBJECT_SELF,"forme 4 couleur 3",43);
}


Code:
/*
script de bouclier par kric
partie a placer dans le onConversation
*/
#include "x2_inc_itemprop"
void main()
{
   object oPC = GetLastSpeaker();
   object oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC);
   string sItem = GetName(oItem);
   int ovar1 = GetListenPatternNumber();
     //si ovar est en dessou de 10 cela veut dire que le pj tente de parler au pnj ou dis
     // quelque chose qui n'a pas de raport
     if(ovar1>=10)
      {
         //si le bouclier que le pj a d'equipe est une rondache
          if(GetBaseItemType(oItem)==BASE_ITEM_SMALLSHIELD&&GetTag(oItem)!="rondache"+IntToString(ovar1))
          {
             //on lui cre une rondache avec le forme est la couleur voulu on lui met le meme nom
             // et les meme carac qu'a l'ancienne puis on detruis l'ancienne
              CreateItemOnObject("rondache"+IntToString(ovar1),oPC,1);
              object oIItem = GetItemPossessedBy(oPC,"rondache"+IntToString(ovar1));
              IPWildShapeCopyItemProperties(oItem,oIItem);
              SetName(oIItem,sItem);
              DestroyObject(oItem);
              AssignCommand(oPC,ActionEquipItem(oIItem,INVENTORY_SLOT_LEFTHAND));
          }
          //si c'est un ecu
          if(GetBaseItemType(oItem)==BASE_ITEM_LARGESHIELD&&GetTag(oItem)!="ecu"+IntToString(ovar1))
           {
               CreateItemOnObject("ecu"+IntToString(ovar1),oPC,1);
               object oIItem = GetItemPossessedBy(oPC,"ecu"+IntToString(ovar1));
               IPWildShapeCopyItemProperties(oItem,oIItem);
               SetName(oIItem,sItem);
               DestroyObject(oItem);
               AssignCommand(oPC,ActionEquipItem(oIItem,INVENTORY_SLOT_LEFTHAND));
           }
          //si c'est pavois
          if(GetBaseItemType(oItem)==BASE_ITEM_TOWERSHIELD&&GetTag(oItem)!="pavois"+IntToString(ovar1))
           {
               CreateItemOnObject("pavois"+IntToString(ovar1),oPC,1);
               object oIItem = GetItemPossessedBy(oPC,"pavois"+IntToString(ovar1));
               IPWildShapeCopyItemProperties(oItem,oIItem);
               SetName(oIItem,sItem);
               DestroyObject(oItem);
               AssignCommand(oPC,ActionEquipItem(oIItem,INVENTORY_SLOT_LEFTHAND));
           }
      }
     else
      {
          AssignCommand(OBJECT_SELF,ActionStartConversation(oPC,"conv_change_bouc"));
      }
}


edit Linéa : Pense à mettre le code entre balises code pour conserver l'indentation :)

_________________
Imagela culture c'est comme un parachute...quand on n'en a pas on s'écrase
Image

Haut
 Profil  
 
 Sujet du message:
MessagePosté: 09 Juil 2008, 11:27 
Hors ligne
Avatar de Thol
Avatar de l’utilisateur

Inscription: 17 Fév 2006, 12:49
Messages: 490
Ma version modifiée ... Peut être un peut moins pratique, mais un poil plus simple je trouve ... (Encore un petit détail à corriger néanmoins.)

Il suffit de créer un item de tag "kh_copiebouclier", et de lui assigner un pouvoir unique à distance illimité.

On utilise ensuite l'item sur un bouclier qui sert de "modèle" ... Le bouclier porté adopte l'apparence du "modèle.

{Script à placer dans le OnActivateItem}

Le problème: Il me faut caller un DelayCommand sur cette ligne, mais elle ne compile pas.

Code:
DelayCommand(0.2, ActionDoCommand(CopyObject(oModele, oLoc, oPc, sTag)));


Le script:

Code:
#include "x2_inc_itemprop"
void main()
{
// La pluspart de ces ressources sont déjà presentes dans le OnActivateItem
// du serveur ...
object oPc = GetItemActivator();
object oBouclier = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPc);
object oModele = GetItemActivatedTarget();

string oNom = GetName(oBouclier);
string sTag = GetTag(oBouclier);
string sTagmodele = GetTag(oModele);
string oItem = GetTag(GetItemActivated());

int rondache = (BASE_ITEM_SMALLSHIELD);
int ecu = (BASE_ITEM_LARGESHIELD);
int pavoi = (BASE_ITEM_TOWERSHIELD);

int sSize = GetItemStackSize(oModele);

location oLoc = GetLocation(oPc);


if(oItem == "kh_copiebouclier")
{
if(GetItemPossessor(oModele)==oPc)
// On verifie que le modele est bien dans l'inventaire
// Pour éviter d'éventuelles pertes/vol de matériel
{
if(oBouclier!=oModele)
// Ais du rajouter cette condition sans quoi le bazard plantait
// dès que l'on essayait de copier le bouclier porté ...
{
///////////////////////////////////////////////////////////
if(GetBaseItemType(oBouclier)==GetBaseItemType(oModele)==rondache)
{
CopyItem(oModele, oPc, TRUE);
ActionDoCommand(ActionUnequipItem(oBouclier));
DestroyObject(oBouclier);

IPRemoveAllItemProperties(oModele,DURATION_TYPE_PERMANENT);
DelayCommand(0.1, IPWildShapeCopyItemProperties(oBouclier,oModele));
DelayCommand(0.1, SetName(oModele,oNom));

DelayCommand(0.2, ActionDoCommand(CopyObject(oModele, oLoc, oPc, sTag)));

DelayCommand(0.2, DestroyObject(oModele));

}
///////////////////////////////////////////////////////////////////
if(GetBaseItemType(oBouclier)==GetBaseItemType(oModele)==ecu)
{
CopyItem(oModele, oPc, TRUE);
ActionDoCommand(ActionUnequipItem(oBouclier));
DestroyObject(oBouclier);

IPRemoveAllItemProperties(oModele,DURATION_TYPE_PERMANENT);
DelayCommand(0.1, IPWildShapeCopyItemProperties(oBouclier,oModele));
DelayCommand(0.1, SetName(oModele,oNom));

DelayCommand(0.2, ActionDoCommand(CopyObject(oModele, oLoc, oPc, sTag)));

DelayCommand(0.2, DestroyObject(oModele));

}
///////////////////////////////////////////////////////////////////
if(GetBaseItemType(oBouclier)==GetBaseItemType(oModele)==pavoi)
{
CopyItem(oModele, oPc, TRUE);
DestroyObject(oBouclier);

IPRemoveAllItemProperties(oModele,DURATION_TYPE_PERMANENT);
DelayCommand(0.1, IPWildShapeCopyItemProperties(oBouclier,oModele));
DelayCommand(0.1, SetName(oModele,oNom));

DelayCommand(0.2, ActionDoCommand(CopyObject(oModele, oLoc, oPc, sTag)));

DelayCommand(0.2, DestroyObject(oModele));

}
/////////////////////////////////////////////////////////////////////
else
{
FloatingTextStrRefOnCreature("Les deux boucliers doivent etre de meme nature", oPc, FALSE);
}
FloatingTextStrRefOnCreature("Je ne peux pas copier mon propre bouclier voyons ...", oPc, FALSE);
}
FloatingTextStrRefOnCreature("Le modele doit tre dans mon inventaire", oPc, FALSE);
}
}
}


Voilà voilà ... :wink:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 09 Juil 2008, 23:06 
Hors ligne
Noble de Thol
Avatar de l’utilisateur

Inscription: 13 Juil 2006, 18:37
Messages: 394
Localisation: un alcool de la sarte
le pb c'est qu'il faut pouvoir avoir un bouclier de chaque type et de chaque couleurs soit 36 boucliers...

_________________
Imagela culture c'est comme un parachute...quand on n'en a pas on s'écrase
Image

Haut
 Profil  
 
 Sujet du message:
MessagePosté: 10 Juil 2008, 10:02 
Hors ligne
Avatar de Thol
Avatar de l’utilisateur

Inscription: 17 Fév 2006, 12:49
Messages: 490
Et ... non .. :wink:
Lesdites apparences de bouclier existent déjà sur le module ... Le script çi-dessus permet de copier l'apparence d'un "modèle" sur le bouclier porté ...
Normalement, en cherchant, on peut trouver toute les apparences de bouclier ...


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 10 Juil 2008, 21:07 
Hors ligne
Noble de Thol
Avatar de l’utilisateur

Inscription: 13 Juil 2006, 18:37
Messages: 394
Localisation: un alcool de la sarte
ouai mais faut chercher ^^ alors qu'avec des boucliers fait spécialement a cette effet on a directement n'importe quel apparence sous la main

_________________
Imagela culture c'est comme un parachute...quand on n'en a pas on s'écrase
Image

Haut
 Profil  
 
 Sujet du message: Re: script de changement des boucliers
MessagePosté: 21 Fév 2010, 15:24 
Hors ligne
Avatar de Thol
Avatar de l’utilisateur

Inscription: 08 Jan 2006, 11:15
Messages: 553
Localisation: Sable et Mer
Topic inutil puisqu'on utilise pas ce script, et que l'item a été remplacer par un autre mieux adapter.

_________________
Critères du parfait barbare: costaud evidement , trop gros surrement , idiot assurement.


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 6 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Black by Daz (FI) :: Ported to phpBB3 by NeXur.
Traduction par: phpBB-fr.com