Comando solo para lider del clan
#1

Hola, Hoy vengo a pedirles que me ayuden con un sistema de clanes, ya que cualquiera puede usar el comando /Darclan. y solo que lo use el lнder del clan.
Gracias de antemano.
Aqui dejare el comando.

Quote:

if (strcmp("/darclan", cmd, true) == 0)
{
new tmp1[128], tmp2[128], jugador, usador, string2[256], nombreusador[MAX_PLAYER_NAME], nombrejugador[MAX_PLAYER_NAME], archivo[256];
tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, colorrojo, "[Error] Usa: /darclan [ID jugador] [ID Clan].");
jugador = strval(tmp1);
usador = playerid;
if (IsPlayerConnected(jugador))
{
if (strval(tmp2) < 0 || strval(tmp2) > 10) return SendClientMessage(playerid, colorrojo, "[Error]: El ID de clan debe ser de 0 a 10.");
if(strval(tmp2) == Informacion[jugador][pClan]) return SendClientMessage(playerid, colorrojo, "[Error]: El jugador ya pertenece a ese clan.");
GetPlayerName(jugador, nombrejugador, MAX_PLAYER_NAME);
GetPlayerName(usador, nombreusador, MAX_PLAYER_NAME);
format(string1, 256, ">>[Admin: %s ]<< {FFFFFF}Te ha reclutado para el clan ID: %d. dispones de /clancolor y /clanskin", nombreusador,strval(tmp2));
format(string2, 256, ">>[Admin] {FFFFFF}Has reclutado para el clan ID: %d a %s.", strval(tmp2), nombrejugador);
SendClientMessage(jugador, colorverde_claro, string1);
SendClientMessage(usador, colorverde_claro, string2);
PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
Informacion[jugador][pClan] = strval(tmp2);
format(archivo, 256, "Clanes/Usuarios/%s.ini", nombrejugador);
dini_IntSet(archivo, "Clan", strval(tmp2));
}
else return SendClientMessage(playerid, colorrojo, "[Error]: Jugador no Contectado");
return 1;
}

Reply
#2

imaginate si no conozco la variable donde se guarda el lider, pues como te ayudamos tio
Reply
#3

Son Estas:
Quote:

enum pInfo
{
pKills,
pMuertes,
pClan,
};
enum eUsuario{
uLider,
uMiembro
}

public OnPlayerConnect(playerid){
witch(dini_Exists(dbJugadores(playerid))){
case true:{//Si existe, devolverle los valores a ambas variables.
Usuario[playerid][uLider] = dini_Int(dbJugadores(playerid),"lider");//Obtener valor de lider.
Usuario[playerid][uMiembro] = dini_Int(dbJugadores(playerid),"miembro");//Obtener valor de miembro.
}
case false:{//De lo contrario, crear el archivo.
dini_Create(dbJugadores(playerid));//Crea el archivo.
Usuario[playerid][uLider] = 0;//Setea a variable a 0
Usuario[playerid][uMiembro] = 0;//Setea a variable a 0
}
}

public OnPlayerDisconnect(playerid, reason){

switch(dini_Exists(dbJugadores(playerid))){
case true:{//Si existe, devolverle los valores a ambas variables.
dini_IntSet(dbJugadores(playerid),"lider",Usuario[playerid][uLider]);//Guardar valores en el archivo(Usuario).
dini_IntSet(dbJugadores(playerid),"miembro",Usuari o[playerid][uMiembro]);//Guardar valores en el archivo(Usuario).
}
}

Reply
#4

pawn Код:
if (strcmp("/darclan", cmd, true) == 0)
{
if(!Usuario[playerid][uLider] )return SendClientMessage(playerid, colorrojo, "Debes ser lider del clan para usar este comando");

new tmp1[128], tmp2[128], jugador, usador, string2[256], nombreusador[MAX_PLAYER_NAME], nombrejugador[MAX_PLAYER_NAME], archivo[256];
tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, colorrojo, "[Error] Usa: /darclan [ID jugador] [ID Clan].");
jugador = strval(tmp1);
usador = playerid;
if (IsPlayerConnected(jugador))
{
if (strval(tmp2) < 0 || strval(tmp2) > 10) return SendClientMessage(playerid, colorrojo, "[Error]: El ID de clan debe ser de 0 a 10.");
if(strval(tmp2) == Informacion[jugador][pClan]) return SendClientMessage(playerid, colorrojo, "[Error]: El jugador ya pertenece a ese clan.");
GetPlayerName(jugador, nombrejugador, MAX_PLAYER_NAME);
GetPlayerName(usador, nombreusador, MAX_PLAYER_NAME);
format(string1, 256, ">>[Admin: %s ]<< {FFFFFF}Te ha reclutado para el clan ID: %d. dispones de /clancolor y /clanskin", nombreusador,strval(tmp2));
format(string2, 256, ">>[Admin] {FFFFFF}Has reclutado para el clan ID: %d a %s.", strval(tmp2), nombrejugador);
SendClientMessage(jugador, colorverde_claro, string1);
SendClientMessage(usador, colorverde_claro, string2);
PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
Informacion[jugador][pClan] = strval(tmp2);
format(archivo, 256, "Clanes/Usuarios/%s.ini", nombrejugador);
dini_IntSet(archivo, "Clan", strval(tmp2));
}
else return SendClientMessage(playerid, colorrojo, "[Error]: Jugador no Contectado");
return 1;
}
Fijate si te funciona..
Reply
#5

No funciono
Reply
#6

que raro... que mensaje te sale?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)