Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 14/02/2016 dans toutes les zones

  1. Salut ! Je réaliserai donc des tutoriels quand je m'ennuie, que ceux-ci n'existent pas et que vous en avez besoin ! :) Un sujet que pas mal de skripter aimerait connaître mais qui n'est pas beaucoup utilisé, les bases de données. Oui il existe 3-4 tutos sur cela mais ce n'est pas les mêmes BDD dont je vais vous parler, eux vous parlent de l'utilisation de prefixes dans vos variables pour qu'elles soient communes pour vos différents serveurs, cette techniques étant déjà dans différents tutoriels je vais vous parler d'une technique ancestrale permettant de vraiment toucher aux BDD, de réaliser de requêtes et de stocker ce que l'on veut, il est par exemple possible d'échanger un site web, stocker les logs de vos plugins de grief etc. Pour réaliser cela il vous suffira de posséder une base de donnée, de Skript et de l'addon SkQuery. Je vous conseille d'apprendre à utiliser les bases de la syntaxe MySQL et de connaître les différents termes tale, colonne et ligne -> C'est pas mal ici <- sachant que le SQL c'est l'anglais assez simple :) Si vous ne possédez pas de base de donnée regardez ici c'est gratuit ;) -> http://freemysqlhosting.net/ Je vais d'abord vous présenter les différentes lignes de code qui servent à réaliser cette liaison serveur - BDD. Le début, la partie options, ici vous insérez au début de votre script les informations permettant la liaison au serveur MySQL, sous cette forme: script options: $ init com.mysql.jdbc.Driver $ db url jdbc:mysql://localhost:3306/NomDeMaBDD $ db username IdentifiantDeMaBDD $ db password MotDePasseDeMaBDD Deuxième ligne de code, elle permet de récupérer dans une variable unique le premier résultat d'une requête: set {_variable} to the first element out of objects in column "colonne" from result of query "SELECT colonne FROM table WHERE colonne1 = '%player%'" and close La suivante permettant de stocker dans une variable liste toutes les données correspondantes à la requête: add objects in column "colonne" from result of query "SELECT colonne FROM table LIMIT 1,45" and close to {_variable::*} Et enfin une dernière ligne qui permet de ne faire que réaliser une requête, elle ne permet pas de récupérer des données: update "INSERT INTO table (colonne1,colonne2, colonne3) VALUES ('%player%', '%uuid of player%', '%{rank::%player%}%')" Deux trois syntaxes pratiques pour le bases: "SELECT colonne FROM table WHERE colonne1 = '%player%' LIMIT 34,45" -> sélectionner toutes les données de la colonne 'colonne' où la valeur de la colonne 'colonne1' est '%player%' entre la 34e et la 79e ligne dans la table 'table' "INSERT INTO table (colonne1,colonne2, colonne3) VALUES ('%player%', '%uuid of player%', '%{rank::%player%}%')" -> insérer dans la table 'table' avec les valeurs '%player%', '%uuid of player%', '%{rank::%player%}%' dans les colonnes 'colonne1', 'colonne2' et 'colonne3' "CREATE TABLE IF NOT EXISTS table (id int(11) NOT NULL AUTO_INCREMENT, pseudo_vendeur varchar(32) NOT NULL) ;" -> créer la table 'table' avec une colonne 'id' qui sera un nombre non nulle et pseudo_vendeur non nul une suite de caractères limités à 32 N'hésitez pas à me remercier, me critiquer et me conseiller ! ;)
    4 points
  2. voila voili voulou ! on chat: if {chuchotement.%player%} is true: Cancel event loop all players: if loop-player in radius 30: send "%player% : %message%" to loop-player command /chuchotement <text>: usage: &6&lFais /chuchotement oui pour l'activée trigger: if arg 1 is "Oui": set {chuchotement.%player%} to true Send "&o&aTu as activée le mode chuchotement !" if arg 1 is "non": set {chuchotement.%player%} to false send "&o&ctu as desactivée le mode chuchotement !"
    2 points
  3. A oui ! Bien vu ! Alors on peut faire une variable genre comme ça : on any movement: if player's balance is egual to 100: if {msg.recu} is false: send "&7Bravo ! Tu as atteins &e100 $&7 ! " set {msg.recu} to true else: stop Sugi/Iziix Tu peux mettre un like si c'est utile/correcte ;)
    2 points
  4. Faut demander à @good660
    2 points
  5. Psman submitted a new resource: [plain]RunForWin | Mini jeu | SANS Bungeecord ![/plain] - [plain]mini jeu runforwin fun divers mini games[/plain] Read more about this resource...
    1 point
  6. Tu aurais sûrement déjà eu une réponse si tu aurais posté ton code... Comment veux tu qu'on réussisse à régler un problème si nous manquons d'informations qui sont pertinentes... Je pourrais tout aussi bien créer un post et dire "Hey mon code ne marche pas! Quand je tp un joueur il me marque internal error! qqun sait comment régler ce problème?"... Non sa ne marche pas nous avons besoin de voir ton code car le problème peut venir du fait que tu ais mal écrit qqchose ou que tu ais utilisé la fonction de la mauvaise manière. Donc stp au nom de toute les personnes qui tentent du mieux qu'ils le peuvent de t'aider pourrais tu poster ton code pour que nous puissions t'aider à résoudre ton problème rapidement Amicalement, Félix
    1 point
  7. Hmmm pas bête la bête, faut voir faut voir, sa doit pouvoir se faire, mais effectivement je pense que seul un serveur où l'anarchie domine pourrait accepter d'avoir ses messages dans le désordres. Ce que je propose: En bref, voir ce qu'il en pense
    1 point
  8. Et il faut changer la variable pour que chaque joueur puisse recevoir le message on any move: if player's balance is greater than 99: if {msg::%player%::recu} is not set: send "&7Bravo ! Tu as atteins &e100 $&7 ! " set {msg::%player%::recu} to true
    1 point
  9. Pas de quoi :), hesite pas a like mon message :)
    1 point
  10. Voila, j'ai pas testé par contre on death of player: if "%{job.maire}%" is "%victim%": delete {job.maire} broadcast "le maire est mort !" on logout: if "%{job.maire}%" is "%player%": delete {job.maire} broadcast "le maire c'est deco !" Donne moi le résultat :D
    1 point
  11. Essaye ca: Si le zombie n'est pas sur un hopper, ça drop une pépite au nom du joueur qui l'a tué, seul ce joueur pourra la récupérer. Pour les pépites classique, genre qui tombent a la mort d'un zombie pigmen, tout le monde peut les recup Si le zombie est sur un hopper, la petite est directement give au joueur ( dans sa variable, pas dans l'inventaire ) Voila, donne moi ton avis on death of zombie: if attacker is a player: if block below block at victim isn't hoppers: clear drops drop 1 of gold nugget named "&ePépite %attacker%" at victim's location stop add 1 to {lingots.%attacker%} send "Vous avez récupéré une pépite , vous avez %{lingots.%attacker%}% pépite(s) d'or dans votre coffre" to player on pickup of gold nugget: if name of event-item is not set: stop if name of event-item don't contain "%player%": cancel event stop remove 1 gold nugget named "&ePépite %player%" from player add 1 to {lingots.%player%} send "Vous avez récupéré une pépite , vous avez %{lingots.%player%}% pépite(s) d'or dans votre coffre" to player
    1 point
  12. Bonjour, je changerai "if player's balance is egual to 100:" par "if player's balance is greater than 99:" au cas ou le joueur passe de 99 a 101 d'un coup :) on any move: if player's balance is greater than 99: if {msg.recu} is not set: send "&7Bravo ! Tu as atteins &e100 $&7 ! " set {msg.recu} to true
    1 point
  13. As ce que je vois c'est des variables qui posés problèmes, A tu dans un de t'es skript on join ?
    1 point
  14. Salut essaye ça : command /job-maire: trigger: if {job.maire} is not set: send "tu es maire" to player set {job.maire} to player if {job.maire} is set: send "Il y a deja un maire, c'est %{job.maire}% !"
    1 point
  15. Salut, Merci Imperial_Crise :) Nop Izychiel, je viens de découvrir ton skript et franchement GG, je compte bien m'en inspirer pour mes prochain :p (Surtout sur les fonctions, je ne maîtrise pas du tout pour le moment ) Perso sur mon serveur les variables son stockées dans des fichiers SQLite. J'ai eu pas mal de problèmes de temps d’accès lorsque j'utilisai Mysql ( Classique, table Variables21 ) mais plus aucun depuis que je passe par des fichiers SQLite. Mais avec la limitation du nombre d'objet, je ne dépasse jamais les 3 pages ( avec 5 ligne par page ). Je vois que tu stock sur une BDD, j'ai essayé mais j'ai rencontré des problème a enregistrer en blob et a ensuite décompresser les objets... Je vais étudier ta méthode de plus prés pour essayer de trouver réponse a mon problème :D Merci pour vos réponses Bonne journée
    1 point
  16. on death of zombie: if attacker is a player: clear drops drop 1 iron gold on pickup of iron gold: remove 1 iron gold from player add 1 to {lingots.%player%} send "Vous avez récupérer un lingot , vous avez %{lingots.%player%}% lingots d'or dans votre coffre" tiens !!
    1 point
  17. Daccord merci, je ne suis pas fort en skript, ou faut t-il le placer, je suis en 1.7 le UUID est en 1.8 non? Je t'ai envoyé le skript en conversation! EDIT : Espace par tab = ? Désolée je "dééébute"! La quand j'essaie je ne suis pas mute :(
    1 point
  18. euh il faut que utilise une boucle et après que tu mettes ta fonction avec des paramètres précis afin quel tourne en continu autour du joueurs
    1 point
  19. Salut, pourrais-tu donner plus de précision, telle que si les zombies/squelettes doivent être dans une région ou un monde (En précisant le nom dans les deux cas)
    1 point
  20. 1 point
  21. Tu décris pas énormément ton code, et puis c'est pas une barre mais seulement un pourcentage :) Faut aussi préciser que c'est seulement en 1.8 et pourquoi pas une image pour montrer ;) Mais tout de même merci pour le partage !
    1 point
×
×
  • 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.