Aller au contenu
Invité

Exist in

Messages recommandés

Invité

Oui rebonjour :)

 

Donc j'ai besoin d'aide , j'ai un skript qui permet de regen une zone

mais , il y a un bug , quand on casse un block , que l'on repose un autre block sur le block cassez

et que l'on fait sa plusieurs fois sa bug , donc voila mon skript :

 

command /regen [<text>]:
   permission: {@perm}
   permission message: {@perm_msg}
   trigger:
       if arg 1 is "skywars1":
           loop {skywars1.placed.blocks::*}:
               set {_loc} to loop-value
               set block at {_loc} to air
               wait 3 tick
           loop {skywars1.broken.blocks::*}:
               set {_loc} to loop-value
               set block at {_loc} to {skywars1.broken.type::%loop-index%}
               wait 3 tick

on break:
   if "%region at player%" contains "{@RegionOne}":
       add location of block to {skywars1.broken.blocks::*}
       add type of block to {skywars1.broken.type::*}

on place:
   if "%region at player%" contains "{@RegionOne}":
       remove location of block from {skywars1.placed.blocks::*}
       wait 1 tick
       add location of block to {skywars1.placed.blocks::*}

 

Donc la seule solution que j'ai trouver c'est de verifier si ,

quand on casse avant de add la location , on verifie si elle est deja dans la variable ^^

 

Mais je ne sait pas comment on fais , en tout cas merci d'avance a tous seut qui vont m'aider ^^

<3

Partager ce message


Lien à poster
Partager sur d’autres sites

Qu'est-ce que tu veux dire par "ça bug" ?

 

Et si tu veux savoir si la position (la location en français, c'est le fait de louer uhuh) est déjà enregistrée, tu fouilles dans ta liste et tu annules si ça y est déjà :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Le problème, c'est que si tu fouilles toute la liste à chaque fois, tu risques de solliciter beaucoup plus ton serveur, puisque ça le fait au moindre bloc cassé dans ta zone et que plus la partie avance, plus il y aura de positions à vérifier à chaque fois.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Qu'est-ce que tu veux dire par "ça bug" ?

 

Et si tu veux savoir si la position (la location en français, c'est le fait de louer uhuh) est déjà enregistrée, tu fouilles dans ta liste et tu annules si ça y est déjà :

loop {skywars1.broken.blocks::*}
   set {_Pos} to loop-value
   if {_Pos} is block-event:
       stop
la suite...

 

Le problème, c'est que si tu fouilles toute la liste à chaque fois, tu risques de solliciter beaucoup plus ton serveur, puisque ça le fait au moindre bloc cassé dans ta zone et que plus la partie avance, plus il y aura de positions à vérifier à chaque fois.

Oui , mais j'ai que cette solution , je pense :c,

Et pour le bug c'est en gros , si on casse le block , ensuite on replace , (et faire sa plusieurs fois ^^)

Et que je regen la zone le block reste , c'est pour sa que je veut eviter de le placer 2 fois dans la liste :c

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est ce que l'on appelle une saturation de mémoire. Quand tu casses un bloc et que tu en reposes un assez rapidement, Skript n'a pas le temps de faire tous les calculs d'un coup, ce qui n'enregistrera pas les données du bloc.

 

Si tu veux un Skript de régénération de monde très complet (il régénère absolument tout), prends le mien ci-dessous, mais il a quelques inconvénients :

 

> La régénération d'un monde prend 20 secondes.

> Impossible de se rendre sur le monde en question lors de la régénération.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
C'est ce que l'on appelle une saturation de mémoire. Quand tu casses un bloc et que tu en reposes un assez rapidement, Skript n'a pas le temps de faire tous les calculs d'un coup, ce qui n'enregistrera pas les données du bloc.

 

Si tu veux un Skript de régénération de monde très complet (il régénère absolument tout), prends le mien ci-dessous, mais il a quelques inconvénients :

 

> La régénération d'un monde prend 20 secondes.

> Impossible de se rendre sur le monde en question lors de la régénération.

Le problème c'est que moi mes zones de "jeux" sont tous dans le meme monde ^^

Partager ce message


Lien à poster
Partager sur d’autres sites
Bah tu n'as plus qu'à régénérer ce monde^^ !

 

Deux possibilités :

- Deux parties se jouent en même temps.

- La première se termine.

- La carte est régénérée.

- La deuxième partie ne peut pas être terminée.

 

- Deux parties se jouent en même temps.

- La première se termine.

- Ceux qui jouaient veulent refaire une partie.

- Ils attendent que la deuxième soit terminée.

- La seconde partie s'éternise.

- Les joueurs de la première partie en ont marre.

Partager ce message


Lien à poster
Partager sur d’autres sites
Deux possibilités :

- Deux parties se jouent en même temps.

- La première se termine.

- La carte est régénérée.

- La deuxième partie ne peut pas être terminée.

 

- Deux parties se jouent en même temps.

- La première se termine.

- Ceux qui jouaient veulent refaire une partie.

- Ils attendent que la deuxième soit terminée.

- La seconde partie s'éternise.

- Les joueurs de la première partie en ont marre.

...

 

Les mêmes jeux ne se trouvent pas sur le même monde...

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Bah tu n'as plus qu'à régénérer ce monde^^ !

Je te l'ai dit ^^ , il ne me faut pas de skript qui regen le monde , car toutes les zones d'un jeux , sont dans le meme monde^^

Genre skywars : il y a 5Hub(ZoneDeJeux) dans le meme monde,

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
...

 

Les mêmes jeux ne se trouvent pas sur le même monde...

bah si ^^ , il y a un monde pour chaque jeux oui. mais genre dans le monde skywars il y a , 5 partie de jeux ,

qui sont dans le meme monde ! , donc dans le monde skywars il y a un : 1Hub et 5Partie

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
...

 

Les mêmes jeux ne se trouvent pas sur le même monde...

j'ai pris une desision , (M'en fous de l'hortographe xD)

Je vais prendre ton skript @PsYZiiK

 

Juste une question , ton skript fera lag le serveur ?

méchi =)

 

Merci a tous =)

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Non il ne cause aucun Lags^^ et pour les régénérations des zones tu peux très bien utiliser WorldGuard si tu l'as^^ !

Préfère utiliser ton skript en tous cas merci ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

×
×
  • 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.