Aller au contenu
  • 0

Spawn d'un mob custom dans une certaine region WorldEdit


Question

Posté(e)

Bonjour,

j'ai encore besoin d'aide aujourd'hui. Pendant une heure de code, j'ai essayé de faire spawn un zombie custom (nom custom + block de paille sur sa tête).

 

Je voudrais faire spawn un zombie custom comme je l'ai dit dans une région WorldEdit UNIQUEMENT.

Le zombie doit spawn dans un endroit aléatoire de la région uniquement si le joueur est à l'intérieur.

 

Voilà mon code initial:

 

on region enter:
   if %region% contains "entrainement":
       set {entrainementzone} to 1

on region exit:
   if %region% contains "entrainement":
       set {entrainementzone} to 0

wait 1 second:
   if {entrainementzone} is equal to 1:
       spawn a zombie in region "entrainement"
       set name of spawned zombie to "&6Cible d'entrainement"
       equip spawned zombie by Hay Block

 

Merci de m'avoir aidé !

Cordialement,

MrUrica

23 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour, peut-être comme ca:

 

on region enter:
   if %region at player% contains "entrainement":
       add 1 to {entrainementzone.%uuid of player%}

on region exit:
   if %region at player% contains "entrainement":
         delete {entrainementzone.%uuid of player%}

wait 1 second:
   if {entrainementzone.%uuid of player%} is set:
       spawn a zombie in region "entrainement"
       set name of spawned zombie to "&6Cible d'entrainement"
       equip spawned zombie by Hay Block

   else:
        stop

Après ça reste que des idées a chaud

ps: va falloir que je me calme je m'ennui moi X)

  • 0
Posté(e)

Visiblement cela ne marche pas. Il y a des lignes de codes comme le "spawn a zombie in region "entrainement" " où le "in region" n'existe pas...

 

Mais merci d'avoir essayé de m'aider quand même ! ^^

  • 0
Posté(e)
Visiblement cela ne marche pas. Il y a des lignes de codes comme le "spawn a zombie in region "entrainement" " où le "in region" n'existe pas...

 

Mais merci d'avoir essayé de m'aider quand même ! ^^

 

Pas de problème, un truc que je viens penser on peux s'inspirer d'un pop random dans un radius restrein? :eek:

Attend que je retrouve le truc j'etait tomber une fois dessus X)

 

Petit Edit:

Tient y a un système similaire ici suffirai juste de s'en inspirer

https://skript-mc.fr/forum/threads/random-coffre.4279/

Particulièrement ces lignes :

set {_x} to random number between -8000 and 8000
set {_y} to random number between 50 and 150
set {_z} to random number between -8000 and 8000
set {zombie} to location at {_x}, {_y}, {_z}
set entity at {zombie} to Zombie

Apres ça reste du bricolage X), reste a trouver le bon paramétrage des axes x,y et z

ce qui donnerai un:

on region enter:
   if %region at player% contains "entrainement":
       add 1 to {entrainementzone.%uuid of player%}

on region exit:
   if %region at player% contains "entrainement":
         delete {entrainementzone.%uuid of player%}

wait 1 second:
   if {entrainementzone.%uuid of player%} is set:
       set {_x} to random number between -8000 and 8000
       set {_y} to random number between 50 and 150
       set {_z} to random number between -8000 and 8000
       set entity at {zombie} to Zombie
       spawn {zombie} to location at {_x}, {_y}, {_z}
       set name of spawned entity to "&6Cible d'entrainement"
       equip spawned entity by Hay Block
   else:
        stop

 

Par contre j'ignore si cela marche, il se peux qu'il y ai des erreur notament a la ligne:

" spawn {zombie} to location at {_x}, {_y}, {_z}" mais l'idée est la :p

 

autre piste on peux aussi tout faire a partir du joueur, genre si le joueur est dans la region alors ça pop plus ou moint aléatoirement des zombie par raport a lui, peut-être une autre piste :p

  • 0
Posté(e)

J'ai fait quelques modifications afin d'enlever les erreurs mais aucun zombie ne spawn...

 

on region enter:
   if "%region%" contains "entrainement":
       add 1 to {entrainementzone.%uuid of player%}

on region leave:
   if "%region%" contains "entrainement":
       delete {entrainementzone.%uuid of player%}

every 1 second:
   loop all players:
       if {entrainementzone.%uuid of loop-player%} is set:
           set {_x} to random number between -62 and 40
           set {_y} to 100
           set {_z} to random number between -180 and -25
           spawn Zombie at {_x}, {_y} and {_z}
           set name of spawned zombie to "&6Cible d'entrainement"
           equip spawned zombie with Hay Block
       else:
           stop

  • 0
Posté(e)
on region enter:
   wait 1 tick # Obligatoire
   if "%region at player%" contain "entrainement": # Contains cause des bugs, c'est contain. De plus, contains ne veut rien dire en anglais.
       add 1 to {entrainementzone.%uuid of player%}

on region leave:
   wait 1 tick
   if "%region%" contain "entrainement":
       delete {entrainementzone.%uuid of player%}

every 1 second:
   loop all players:
       if {entrainementzone.%uuid of loop-player%} is set:
           set {_x} to random number between -62 and 40
           set {_y} to 100
           set {_z} to random number between -180 and -25
           spawn Zombie at {_x}, {_y} and {_z}
           set name of last spawned zombie to "&6Cible d'entrainement"
           equip last spawned zombie with Hay Block

  • 0
Posté(e)
on region enter:
   wait 1 tick # Obligatoire
   if "%region at player%" contain "entrainement": # Contains cause des bugs, c'est contain. De plus, contains ne veut rien dire en anglais.
       add 1 to {entrainementzone.%uuid of player%}

on region leave:
   wait 1 tick
   if "%region%" contain "entrainement":
       delete {entrainementzone.%uuid of player%}

every 1 second:
   loop all players:
       if {entrainementzone.%uuid of loop-player%} is set:
           set {_x} to random number between -62 and 40
           set {_y} to 100
           set {_z} to random number between -180 and -25
           spawn Zombie at {_x}, {_y} and {_z}
           set name of last spawned zombie to "&6Cible d'entrainement"
           equip last spawned zombie with Hay Block

 

Ton skript marche bien mais je n'ai pas de zombie qui spawn... C'est très étrange... Ma région est bien définie, la gamerule DoMobSpawning est sur true, et il fait nuit.

  • 0
Posté(e)

Hello j'avais essayer ça mais les zombies pop dans le sol et ça spam la console

on region enter:
   if "%region at player%" contain "entrainement":
       wait 5 ticks
       add 1 to {entrainementzone.%uuid of player%}
       message "&aDébut&7 de l'entrainement" to player

on region leave:
   if "%region at player%" contain "entrainement":
       wait 5 ticks
       delete {entrainementzone.%uuid of player%}
       message "&cFin &7de l'entrainement" to player

every 1 second in "Hub":
   loop all players:
       if "%region at loop-player%" contains "entrainement":
           make loop-player execute command "/Z"


command /Z:
   trigger:
       if {entrainementzone.%uuid of player%} is set:
           set {_meter} to random number between 1 and 10
           spawn 1 Zombie {_meter} meters in front of player
           set name of spawned zombie to "&6Cible d'entrainement"
           equip spawned zombie with Hay Block
       else:
           stop

j'ai l'impression que le spawn d'entité n'aime pas du tout l'aléatoire de la premier solution ><

  • 0
Posté(e)
Essaye de faire spawn un mob par toi même dans ta région et dis-moi ça si marche ou pas.

 

command /testspawn:
   trigger:
       spawn Zombie at player
       set name of last spawned zombie to "&6Cible d'entrainement"
       equip last spawned zombie with Red Wool
       send "&cZombie spawn"

 

J'ai essayé ceci, cela ne fonctionne pas. C'est un problème avec le spawn du mob du coup...

J'ai aussi changé le bloc qu'il doit porter sur la tête pour vérifier si c'était cela le problème mais cela ne vient pas de la non plus.

  • 0
Posté(e)

command /testspawn:
   trigger:
       spawn 1 Zombie at player
       set name of last spawned zombie to "&6Cible d'entrainement"
       equip last spawned zombie with Red Wool
       send "&cZombie spawn"

 

j'ai eu le soucis sans le 1 dans le spawn zombie ça spawnais rien car skript comprenais pas combient de zomb devais spawn

  • 0
Posté(e)
command /testspawn:
   trigger:
       spawn 1 Zombie at player
       set name of last spawned zombie to "&6Cible d'entrainement"
       equip last spawned zombie with Red Wool
       send "&cZombie spawn"

 

j'ai eu le soucis sans le 1 dans le spawn zombie ça spawnais rien car skript comprenais pas combient de zomb devais spawn

 

Merci beaucoup, cela marche pour la commande faite par le joueur mais cela ne marche pas quand même avec le 1 sur le spawn aléatoire...

  • 0
Posté(e)
Merci beaucoup, cela marche pour la commande faite par le joueur mais cela ne marche pas quand même avec le 1 sur le spawn aléatoire...

Le Spawn aléatoire n'as pas l'air au point ou alors on l'utilise mal, la je t'avoue que je comprend pas pourquoi ça spawn pas

 

As-tu regarder mon code au message #9? peut-être est-ce un meilleur moyen bien qu'il y ai des inconvénient:

  • ça spam la console

  • si on regarde vers le bas les mobs spawn dans le sol Xd

Il faudrai trouver un autre moyen rooh, si quelqu'un a une solution? X) car la je suis a cour désoler :/

  • 0
Posté(e)
Le Spawn aléatoire n'as pas l'air au point ou alors on l'utilise mal, la je t'avoue que je comprend pas pourquoi ça spawn pas

 

As-tu regarder mon code au message #9? peut-être est-ce un meilleur moyen bien qu'il y ai des inconvénient:

  • ça spam la console

  • si on regarde vers le bas les mobs spawn dans le sol Xd

Il faudrai trouver un autre moyen rooh, si quelqu'un a une solution? X) car la je suis a cour désoler :/

 

Merci tout de même de m'avoir aidé... Au pire, j'utiliserai un plugin mais cela m'embête quand même...

  • 0
Posté(e)
J'ai les boules, en plus je sais pas utiliser le plugin MythicMobs et il n'y a pas de tuto en français...

Si tu veux je peux te filer un coup de main pour ça ,c'est pas que je l'ai deja configurer mais j'ai toujours configurer les plugins sans documentation (oui même les plus redondant) don,c ça doit pas etre bien plus compliquer ^^

  • 0
Posté(e)
Si tu veux je peux te filer un coup de main pour ça ,c'est pas que je l'ai deja configurer mais j'ai toujours configurer les plugins sans documentation (oui même les plus redondant) don,c ça doit pas etre bien plus compliquer ^^

 

Merci c'est cool de ta part mais je pense quand meme tenter de faire le spawn random mais je vais bien finir par y arriver ^^

  • 0
Posté(e)
Merci c'est cool de ta part mais je pense quand meme tenter de faire le spawn random mais je vais bien finir par y arriver ^^

Pas de soucis, bon courage car bon c'est pas le kiff ce spawn random X)

bah si tu as besoin, je bouge pas de la X)

  • 0
Posté(e)
Pas de soucis, bon courage car bon c'est pas le kiff ce spawn random X)

bah si tu as besoin, je bouge pas de la X)

 

Ok merci beaucoup, comme je développe un plugin mmorpg, le spawn de mobs a un endroit aleatoire et automatiquement est obligatoire... Si j'y arrive, je vais pouvoir gérer l'xp, les drops, sa vie, ses dégats, etc...

 

Du coup, avant de m'attaquer au sérieux (quêtes et le vrai système MMORPG), je fais les métiers ^^

  • 0
Posté(e)
Sinon utilise l'évent on spawn et s'il est dans ta région tu le modifies sinon tu annule l'événement

 

Bonne idée je vais essayer j'éditerai le message après l'avoir testé !

 

EDIT:

on spawn of Zombie:
   if "%region%" contain "entrainement":
       set name of Zombie to "&6Cible d'entrainement"
   else:
       cancel event

 

J'ai une erreur comme quoi "%region%" n'est pas bon...

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.