Bé c'est super simple, non ? Ou alors je me plante complètement...
Enfin voilà mon idée : Un gnoll a une hallebarde de Tag "halgnol" et de ResRef "halgnol". Tu décoches la case lâchable dans l'inventaire (ou tu ne mets pas l'objet hallebarde si il ne l'utilise pas).
Puis tu décoches les deux barres devant OnDeath dans ton OnSpawn, tu crées un UserDefined comme ceci :
//"Lacher un objet a la mort : 50% de chances" //By Ange Musicien int nAppelePar = GetUserDefinedEventNumber(); void main() { switch(nAppelePar) { case 1007 : // Appele par OnDeath int nHasard = d100(1); // chances pour qu'il lache l'objet if(nHasard>>50) // conditions de lachage de l'objet { location lSelf = GetLocation(OBJECT_SELF); CreateObject(OBJECT_TYPE_ITEM,"halgnol",lSelf,FALSE); } else { } break; } }
Ca c'est la première possibilité. Si ça ne marche pas (peu probable), il te reste toujours celle-là :
//"Lacher un objet a la mort : 50% de chances" //By Ange Musicien int nAppelePar = GetUserDefinedEventNumber(); void main() { switch(nAppelePar) { case 1007 : // Appele par OnDeath int nHasard = d100(1); // chances pour qu'il lache l'objet if(nHasard>>50) // conditions de lachage de l'objet { object oItem = GetNearestObjectByTag("halgnol"); ActionPutDownItem(oItem); // le probleme est la : ActionPutDownItem va probablement demander au gnoll de la poser } else { } break; } }
Mais ça risque de ne pas faire très vrai. Mais c'est vraiment la bouée de secours, parce qu'en théorie le premier marche très bien. Voili voilou... Tu n'as plus qu'à remplacer les 50% et le ResRef par tes conditions.
EDIT// bon OK, je sais que je suis lent, mais là je n'avais pas lu ta réponse. Tnat pis, au moins elle n'aura pas à taper son script Bwahaha... A chaque fois que j'veux aider, c'est pareil.
|