[Script] Perte d'xp VS Random kill & ?

Répondre
Partager Rechercher
Bonjour,
- Je suis a la recherche d'un script qui enlève de l'xp a un joueur qui en tu un autre alors qu'il ne la pas mis en hostile je sais pas si c possible. ( J'en est jamais vue j'ai pensé a ça mais je ne sais pas les faires donc ... )
- Je suis également a la recherche d'un autre script qui envoie un message sur le canal "crier" lorsque qu'un joueur tu un autre joueur.

PS. Je sais que j'ai déjà envoyé un poste a se sujet mais je relance une dernière fois au cas ou.

Sa serais vraiment sympas car je galère je ne trouve rien...
JUSTE UNE PISTE
Bon et bien je viens de commencer le scriptage donc le script suivant n'est surement pas correct (il se compile mais je ne peux pas tester car je viens de creer mon module)
Donc voici le script ca pourra peut étre mettre sur la voie certaines personnes plus haut gradées dans le scriptage
Code PHP:

void main()
{
//Recupere le nom du joueur tueur et du joueur tuer
object oTueur=GetLastKiller();
object oTuer=GetLastPlayerDying();
string sTueur=GetName(oTueur);
string sTuer=GetName(oTuer);
//Verifie si le joueur tueur et tuer sont des PJ
if(GetIsPC(oTueur))
if(
GetIsPC(oTuer))
if(
GetFactionAverageReputation(oTueur,oTuer))
//Enleve les PX au Tueur (tu peux changer cette valeur)
GiveXPToCreature(oTueur,-1000);
//Previens tout le monde que le PJ Tueur  tuer un autre PJ, le tuer
PrintString(sTueur+" vient de tuer "+sTuer);

*
Voili voilu ca doit étre plus compliquer que ca normalement mais en fait j'ai voulu essayer mais méme si le script se compile je ne pense pas que ca marche vraiment
Miyu
Code PHP:

void main()
{
//Recupere le nom du joueur tueur et du joueur tuer
object oTueur=GetLastKiller();
object oTuer=GetLastPlayerDying();
string sTueur=GetName(oTueur);
string sTuer=GetName(oTuer);
//Verifie si le joueur tueur et tuer sont des PJ
if(GetIsPC(oTueur)&&GetIsPC(oTuer)&&GetFactionAverageReputation(oTueur,oTuer))
//Enleve les PX au Tueur (tu peux changer cette valeur)
GiveXPToCreature(oTueur,-1000);
//Previens tout le monde que le PJ Tueur  tuer un autre PJ, le tuer
PrintString(sTueur+" vient de tuer "+sTuer);

Peut étre que la...
M'enfin en fait je pense a un truc tout simple alors que ca doit étre assez compliquer a scripter
Tes idées sont bonnes Miyu, mais tu as quelques petites erreurs.

Un soucis d'abord: les PJ ne font pas partis d'une faction, donc GetFactionAverageReputation ne fonctionnera pas. Et en plus tu ne regarde pas ce que te rend la fonction - pour voir si le resultat est hostile ou non.

En l'occurence ici, il faut que tu test GetIsReactionTypeHostile(oTueur,oTuer). Vu le probleme posé, il faut que le resultat rendu soit faux ^^

Deuxiême soucis, tu code mal les conditions... une condition se code generalement ainsi
Code PHP:

if(condition)
{
//ce qui se passe si la condition est vrai
}
else
{
//ce qui se passe si la condition est fausse

Si rien ne se passe quand la condition est fausse, on peut enlever le else et tout ce qui suit. Si ce qui se passe quand la condition est vrai tiens en une instruction, on peut ne pas mettre les "{}". Or tu as deux choses qui se passent quand la condition est vraie et tu n'as pas mis de "{}". (J'ai l'impresion de faire prof chiant en mettant ça mais c'est pour que tu puisses le faire bien après :/)

Un troisieme probleme possible (je n'ai jamais testé) c'est pour le GiveXPToCreature. Comme Bioware ne l'utilise pas pour enlever des XP à la mort des PJ, je supose que cette fonction ne marche peut être qu'avec des nombres positifs. Si c'est bien le cas, il faut faire un SetXP(oTueur,GetXP(oTueur)-1000) à la place.
Répondre

Connectés sur ce fil

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