View Single Post
Author Message
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 09-28-2013 , 15:42   Sistema de grupos para pug/yap u otro
#1

Bueno he visto varios temas pidiendo lo mismo y comentarios pidiendo lo mismo y se me dio la gana de hacer uno y aportarlo, no encontre bugs pero tampoco pude probar bien la parte de .accept o .add, tenia pensado postearlo en la seccion ingles pero bueno, seguramente lo hare despues, el plugin lo hice hace mucho para uno de venezuela y me dio permiso de subirlo.

aca lo tienen disfrutenlo:

Code:
#include <amxmodx> #include <amxmisc>  /*.group <nombre> - Crear un grupo con el tag especificado .add <nombre> - Invitar a el jugador con el tag especifico del grupo .accept <nombre> - Unirse a un grupo .leavegroup - Dejar el grupo que se encuentra actualmente */ #define MAX_CHR 14 // max group name lenght new g_grupo[33], g_nombre[33][33], g_groupname[33][MAX_CHR] public plugin_init(){     register_plugin("Group", "1.0", "Roccoxx")     register_clcmd("say", "hook_say") } public hook_say(id){     if(!is_user_connected(id)) return PLUGIN_HANDLED;         new say[40]     read_args(say, charsmax(say))         if(equal(say, "")) return PLUGIN_HANDLED;         remove_quotes(say[0])         if(say[0] == '.'){          if(say[1] == 'g' && say[2] == 'r' && say[3] == 'o' && say[4] == 'u' && say[5] == 'p')         {             if(g_grupo[id]){                 client_print(id, print_center, "Ya tienes un grupo")                 return PLUGIN_HANDLED;             }                         replace_all(say, charsmax(say), ".group ", "")             replace_all(say, charsmax(say), ".group", "")                         if(strlen(say) > MAX_CHR) client_print(id, print_center, "Nombre muy largo")             else if(equal(say, "")) client_print(id, print_center, "No escribiste Nada")             else{                 ChatColor(id, "!gFelicitaciones !teamCreaste el grupo: !y%s",say)                 formatex(g_groupname[id], charsmax(g_groupname), say)                 format(say, charsmax(say), "[%s] ", say)                 add(say ,charsmax(say), g_nombre[id])                 set_user_info(id, "name", say);                 client_cmd(id, "name ^"%s^"", say)                                 set_task(3.0, "tiene_grupo", id)             }             return PLUGIN_HANDLED;         }         else if(say[1] == 'a' && say[2] == 'd' && say[3] == 'd'){             if(!g_grupo[id]){                 client_print(id, print_center, "No tienes un grupo")                 return PLUGIN_HANDLED;             }                         replace_all(say, charsmax(say), ".add ", "")             replace_all(say, charsmax(say), ".add", "")                         new player = cmd_target(id, say, 8);                         if(!player) client_print(id, print_center, "Jugador no encontrado")             else if(g_grupo[player]) client_print(id, print_center, "El Jugador Ya pertenece a un Grupo")             else{                 static name[33]; get_user_name(id, name, charsmax(name))                             ChatColor(id, "!teamInvitacion enviada a !y%s",say)                 ChatColor(player, "!g%s !yquiere invitarte a su grupo!",name)             }                         return PLUGIN_HANDLED         }         else if(say[1] == 'a' && say[2] == 'c' && say[3] == 'c' && say[4] == 'e' && say[5] == 'p' && say[6] == 't'){             replace_all(say, charsmax(say), ".accept ", "")             replace_all(say, charsmax(say), ".accept", "")                         new player = cmd_target(id, say, 8);                         if(!player) client_print(id, print_center, "Jugador no encontrado")               else if(!g_grupo[player]) client_print(id, print_center, "El Jugador no tiene un Grupo")             else{                 static name[33]; get_user_name(id, name, charsmax(name))                             ChatColor(id, "!teamFelicitaciones te uniste al grupo de !y%s",say)                 ChatColor(player, "!g%s !ySe ha unido a tu grupo!",name)                                 formatex(g_groupname[id], charsmax(g_groupname), g_groupname[player])                 format(say, charsmax(say), "[%s] ", g_groupname[player])                 add(say ,charsmax(say), g_nombre[id])                 set_user_info(id, "name", say);                 client_cmd(id, "name ^"%s^"", say)                                 set_task(3.0, "tiene_grupo", id)             }                         return PLUGIN_HANDLED         }         else if(say[1] == 'l' && say[2] == 'e' && say[3] == 'a' && say[4] == 'v' && say[5] == 'e' && say[6] == 'g'         && say[7] == 'r' && say[8] == 'o' && say[9] == 'u' && say[10] == 'p'){             if(!g_grupo[id]){                 client_print(id, print_center, "No perteneces a ningun grupo")                 return PLUGIN_HANDLED;             }                         g_grupo[id] = false             return PLUGIN_HANDLED;         }     }         return PLUGIN_CONTINUE } public tiene_grupo(id){     g_grupo[id] = true     get_user_name(id, g_nombre[id], charsmax(g_nombre)) } public client_putinserver(id){     g_grupo[id] = false     get_user_name(id, g_nombre[id], charsmax(g_nombre)) } public client_infochanged(id) {     new sNewName[33]     get_user_info(id, "name", sNewName, charsmax(sNewName));     if(!equali(sNewName, g_nombre[id]) && g_grupo[id])     {         set_user_info(id, "name", g_nombre[id]);         client_cmd(id, "name ^"%s^"", g_nombre[id]);         ChatColor(id, "!team Atencion: No podes cambiarte de nombre si perteneces a un !ggrupo!!!")     }     else if(!equali(sNewName, g_nombre[id])) formatex(g_nombre[id], charsmax(g_nombre), sNewName) } stock ChatColor(const id, const input[], any:...) {     new count = 1, players[32];     static msg[191];     vformat(msg, 190, input, 3);         replace_all(msg, 190, "!g", "^4");     replace_all(msg, 190, "!y", "^1");     replace_all(msg, 190, "!team", "^3");     replace_all(msg, 190, "!team2", "^0");         if (id) players[0] = id; else get_players(players, count, "ch");     {         for (new i = 0; i < count; i++)         {             if (is_user_connected(players[i]))             {                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);                 write_byte(players[i]);                 write_string(msg);                 message_end();             }         }     } }
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"

Last edited by Roccoxx; 09-28-2013 at 15:51.
Roccoxx is offline
Send a message via MSN to Roccoxx