JeuxOnLineForumsPlusConnectés : 678 (sites) | 1341 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Supprimer plusieurs objets identiques de l'inventaire RSS
   
Répondre
Partager Outils Rechercher
Avatar de Cassin
Cassin
Roi
 
Avatar de Cassin
 
OK, ça marche, merci !

Je crois que j'ai presque tout compris au sujet des boucles , on verra ça ultérieurement...


__________________
"Pour l'Honneur de Dame Pounard et la sauvegarde la Couveuse Impériale, je me battrais jusqu'à mon dernier Couac !"

Mon site de modules pour NwN, de portraits pour BG et de fanfictions
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Je pense que tu ne détruis que 49 oeufs Reyan :
Code PHP:
....
int i 0//on a pas encore détruit d'oeuf

while((GetIsObjectValid(oOeuf)) && (50))

{

    if(
GetTag(oOeuf) == "OeufdePouletCannibale")

    {

        
DestroyObject(oOeuf);

        
i++;// quand i vaut 1 après ça, on a détruit 1 oeuf, 50, 50  oeufs, et on s'arrête.

    
}
.... 
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
Citation:
bon, par contrepour avoir le nb exact que tu veu, fais des tests, chuis jamais sure, à un ou deux oeuf près ...
j'avais prevenu je me plante tt le tps a un ou deux objets près
donc je fais des tests ^_^ (non mais !)
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
A ce propos, puisqu'on parle de DestroyObject, je ne saurai trop encourager tout le monde a faire ceci :

Code PHP:
void VDestroyObject(object oObject)
{
if (
GetIsObjectValid(oObject))
    {
    
DestroyObject(oObject);
    }
//else WriteTimestampedLogEntry("DEBUG : This Object was Destroyed before the DestroyObject Command :"+GeName(oObject));

Parcequ'avec les DelayCommand, ca peut créer parfois des bugs, et surtout des downs sur un serveur.
(c'est rare, mais bon, dans le doute, j'utilise ca pour etre tranquille ^^)
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Bon pour en revenir à la différence entre :
GetTag(oItem) == "bidule"
et
oItem == GetObjectByTag( "bidule" )
Elle est en réalité fondamentale ! Et si le second ne marchait pas, c'est qu'il y a d'excellentes raisons pour ça :
Je ne sais pas si vous avez remarqué, mais GetObjectByTag() possède deux paramètres, et ils ne sont pas là pour faire joli : si l'on ne change pas le numéro du 2ème paramètre, on obtient toujours le même objet, c'est ainsi que le script initial de Cassin rapportait 10 fois le même objet, qui pouvait d'ailleurs se trouver n'importe où dans le module .

Maintenant, regardons notre égalité entre objets :
oItem == GetObjectByTag( "bidule" )
On remarque que l'objet auquel on va comparer oItem sera toujours le même, et c'est là que se pose le problème : quand on compare deux objets, même s'ils sont strictement identiques, on obtiendra FALSE, pourquoi ? Parce qu'il ne s'agit pas du même objet pour le jeu ! Ils se trouvent à des endroits différents ! (du point de vue technique, ce sont les pointeurs vers les objets qui sont comparés et comme chaque adresse mémoire est unique...).
Autrement dit, dans une boucle telle que celle là, si on a de la chance, un seul oItem correspondra à la comparaison et si on en a pas (si GetObjectByTag() a ramené l'item qui se trouve de l'autre côté du module....), aucun oItem ne correspondra...

Il faut donc toujours utiliser la première forme dans de telles boucles et en général, la comparaison d'objet étant réservé à de très rare cas.
Lien direct vers le message - Vieux
Avatar de Cassin
Cassin
Roi
 
Avatar de Cassin
 
OK, merci, je note
__________________
"Pour l'Honneur de Dame Pounard et la sauvegarde la Couveuse Impériale, je me battrais jusqu'à mon dernier Couac !"

Mon site de modules pour NwN, de portraits pour BG et de fanfictions
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Supprimer plusieurs objets identiques de l'inventaire
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 15h31.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite