• 05 Juin 2026, 14:57:33


Auteur Sujet: système d'alliance  (Lu 10371 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
système d'alliance
« le: 02 Avril 2013, 17:12:28 »
salut,
je suis à la recherche d'idée sympa pour mon serveur, je ne viens pas demandé ici un code tout fait non mais juste savoir si quelques chose et posssible et comment.

je souhaite en effet créé sur mon serveur normalement 1 VS 1 en gros chacun pour soit, un système d'alliance, c'est à dire qu'il font parti d'une même équipe (par exemple ils changent de skin, ou juste un message d'alerte) et surtout ne peuvent plus se tirer dessus (c'est possible?)
j'ai deja fait un systeme pour donner de l'argent, manque pus qu'une officialisation d'une alliance, genre"... et ... sont allié !"

je sais pas si vous avez compris ^^ je ne veux surtout pas faire un concept gang war étant donné qu'on est pas beaucoup dessus mais juste pour etre 2-3
merci une idée?

(j'ai aussi mis un systeme de mp donc pas de soucis)

EDIT : et aussi que le 1er joueur qui rejoins la team, choisit un mot de passe que devra entrer les autres joueurs pour join
« Modifié: 02 Avril 2013, 17:28:35 par natsu00 »

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : système d'alliance
« Réponse #1 le: 02 Avril 2013, 17:40:45 »
en ce qui concerne le fait d'empecher les dommage dans la même team tu peux avoir ça
http://wiki.sa-mp.com/wiki/SetPlayerTeam
tous les pplayers de la même team sont incapable de s'entretuer (sauf si il s'egorge a coup de couteau d'après la note).

pour le mot de passe il suffi que celui qui fera une commande type /createalliance nomTeam
si celle ci n'est pas déjà crée de demander un nouveau pass.

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : système d'alliance
« Réponse #2 le: 02 Avril 2013, 17:48:27 »
ok merci beaucoup par contre je n'ai pas très bien compris la deuxieme partie

"pour le mot de passe il suffi que celui qui fera une commande type /createalliance nomTeam
si celle ci n'est pas déjà crée de demander un nouveau pass."

je souhaite en effet mettre un mot de passe, mais il faut utiliser quelle commande?
et pour la commande type, je sais la faire avec une commande genre /v et ca ouvre un truc
mais avec le nom qui varie non...
quelqu'un peut m'expliquer merci  :happy:

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : système d'alliance
« Réponse #3 le: 02 Avril 2013, 17:54:24 »
Bien enfaite y'as plusieurs solutions tout dépend de divers paramètres XD.
Solution 1 : Stockage dans un tableau des noms de team si quand un mec tape /CreateTeam NomTeam (Nom de Team etant une variable tu peux la récuperé directement ou en passant par une boite de dialogue) si le nom est déjà dans le tableau alors tu dit au joueur que la team existe déjà sinon tu la crée et tu fait appraitre une 2e boite de dialogue avec une demande de mot de passe que tu stocke dans un autre tableau avec comme indice le nom de la team .
Le problème de cet solution c'est que en cas de redémarrage serveur tout est reset (pas de sauvegarde des valeurs).
c'est pas forcément idéal sauf si tes alliances ne sont pas voué a durée dans le temps.

la solution 2 qui est identique sauf que au lieu de stocker tes valeurs dans un tableau tu les stock dans un fichier texte.

Solution 3 remplacer le fichier texte par une base sql

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : système d'alliance
« Réponse #4 le: 02 Avril 2013, 18:38:57 »
bha j'aimerai avoir une liste de team dans une boite de dialogue (je sais faire) et quand le 1er choisi une des teams, ils demandent un mot de passe choisi par le createur de la team, possible?

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : système d'alliance
« Réponse #5 le: 02 Avril 2013, 18:50:57 »
Oui en passant toujours par la même méthode sauf que ton tableau qui contiendra le nom des teams sera fixe.

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : système d'alliance
« Réponse #6 le: 02 Avril 2013, 19:13:19 »
Ok comoment je faid un système de mots de passe ? Des qu'il est choisi on le rentré....?
Merci x)

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : système d'alliance
« Réponse #7 le: 02 Avril 2013, 19:20:18 »
un tableau vide ayant le meme nombre de case que celui des teams.
dans lequel si aucun pass et setter et demander au moment de rejoindre puis quand tous les joueurs ont quitté la team un reset a blanc du password.

P.S:
Je ne compte pas écrire de pawn.
Je n'ai plus forcément toutes les habitude du c pour écrire correctement.
Je suis sur le codage Web a cause du boulot (PHP MySql ,Javascript ...).
Après sur le fonctionnement d'un système les principes sont les mêmes

Et puis si tu trouve par toi-même tu en sera d'autant plus satisfait ;)


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : système d'alliance
« Réponse #8 le: 02 Avril 2013, 19:59:42 »
Ce qui dit rafffel est bon, par contre je privilégierai plus le fait d'aller lire le pass de ton alliance dans le fichier ou la BDD puis de le comparer au mot de passe entré.

Car on est limité à la déclaration de variable statique en pawn, on peut pas (du moins sans tricher) allouer de la mémoire pour une centaine de team lol.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : système d'alliance
« Réponse #9 le: 02 Avril 2013, 20:06:31 »
ok je voulais juste savoir comment on fait un mot de passe?
on le créé?
comment on le reset? c'est tout apres faire la boite de dialogue je sais faire
ecrire une commande je sais faire


je veux faire ça :

/jointeam


un tableau avec 5-6 team quand on clique sur un (je sais faire)ca demande un mot de passe, (je sais pas faire) , un message s'affiche pour tout le monde (je sais faire) et on peut plus s'entretuer entres team(maintenant je sais faire )


voila donc juste comment on fait un systeme de pass?, au pire pas besoin de compliquer juste savoir comment on le demande et on faire la variable si le mot de passe est bon alors ....

merci beaucoup je sais j'ai parfois des idées bizarres
« Modifié: 02 Avril 2013, 20:11:44 par natsu00 »

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : système d'alliance
« Réponse #10 le: 02 Avril 2013, 20:39:56 »
Tu ne sais pas faire une simple boite de dialogue qui demande un mot de passe?
car il suffit une fois que l'utilisateur a choisi une team d'aller vérifier dans le fichier ou le tableau si un mot de passe est affecté.
Si il ne l'est pas tu affiche une boite de dialogue de demande de nouveaux mot de passe.
sinon tu demande le mot de passe et tu compare avec celui affecté.
et pour le reset ben tu lui met la valeur null ou tu met une string sans caractère a la place de l'ancien mot de passe.

Et comme ssk l'as dit il est en général préférable de travailler sur fichier ou BDD pour ce genre de travail

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : système d'alliance
« Réponse #11 le: 02 Avril 2013, 20:53:09 »
Oui j'ai compris j'ai trouvert un truc mais je voudrai seulement savoir comment on fait pour ddemander un mot de passe ? Quelle fonction en script pour afficher une fenêtre de chat après avoir choisit là teams ?
Et quelle fonction pour dire
Id le mot de passe est vrai
Alors


Merci !


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : système d'alliance
« Réponse #13 le: 02 Avril 2013, 22:26:36 »
Fais un minimum de recherche et tu as tout ce que tu veux.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : système d'alliance
« Réponse #14 le: 03 Avril 2013, 07:23:23 »
Ha merci
J'ai trouce comment on faut un password avec la.fonotion onedialoguereponse je lavais pas vu sur le wiki voici la fonction[
[Spoiler] // In some command ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please enter your password:", "Login", "Cancel");

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_LOGIN) { if(!response) // If they clicked 'Cancel' or pressed esc { SendClientMessage(playerid, COLOR_RED, "You MUST login to play here. Please change your name."); Kick(playerid); } else // Pressed ENTER or clicked 'Login' button { if(CheckPassword(playerid, inputtext)) { SendClientMessage(playerid, COLOR_RED, "You are now logged in!"); } else { SendClientMessage(playerid, COLOR_RED, "LOGIN FAILED.");

// Re-show the login dialog ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please enter your password:", "Login", "Cancel"); } } return 1; // We handled a dialog, so return 1. Just like OnPlayerCommandText. }

return 0; // You MUST return 0 here! Just like OnPlayerCommandText. [Spoiler]