22.07.2010, 20:36
// TOP OF GM
// YET ON THE TOP
ONPLAYERCOMMANDTEXT:
Now the invite
MAKE THE GANG
Save the gang :
End of GM :
Gang chat :
END OF GM ALSO :
Also end of GM lols
Tutorial by drakon - Brazil - PT
Код:
#define MAX_GANGS 32 #define MAX_GANG_PLAYERS 16 #define WITHOUT_GANG 0
Код:
new gangInvite[MAX_PLAYERS]; new PlayerInGang[MAX_PLAYERS]; new gangMembers[MAX_GANGS][MAX_GANG_PLAYERS];//Array to send message previously
Код:
new cmd[128], idx; cmd = comandos(cmdtext, idx); if(strcmp(cmd, "/gangenter", true) == 0) { if(PlayerInGang[playerid]==0 && gangInvite[playerid] != 0) // { SetPlayerTeam(playerid,gangInvite[playerid]); // Put on the gang, as defined previously SendClientMessage(playerid, 0xFFFFFFFF, "You entered in the gang"); PlayerInGang[playerid] = GetPlayerTeam(playerid); gangInvite[playerid] = 0;//Resets the invite } return 1; }
Код:
if(strcmp(cmd, "/ganginvite", true) == 0) { new tmp[128]; tmp = comandos(cmdtext, idx); if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Usage /GangInvite[ID]"); SendClientMessage(playerid, 0xFFFFFFFF, "you have been invited for the gang"); gangInvite[strval(tmp)] == PlayerInGang[playerid];// return 1; }
Код:
if(strcmp(cmd, "/gangcriar", true) == 0) { new tmp[128]; tmp = comandos(cmdtext, idx); if(PlayerInGang[playerid]>0)//Se o player estive em uma gang { SendClientMessage(playerid, 0xFF8040FF, " Jб estбs em uma gang"); return 0; } for(new i = 1; i < MAX_GANGS; i++)//Esse serб o Loop que deve ser menor que MAX_GANGS { new string[128]; format(string, sizeof(string),"You made the gang: '%s' (%d)", tmp, i);//Irб Enviar MSG que a gang foi criada com ID SendClientMessage(playerid, 0xFF8040FF, string);//Envia MSG PlayerInGang[playerid]=i;//Irб Colocar o Player na Gang SetPlayerTeam(playerid,PlayerInGang[playerid]);//Seta o Player a Uma Gang a Ativa Anti TK } return 1; }
Код:
new file[64]; format(file, sizeof(file), "%d.ini", GetPlayerTeam(playerid));// Salva Arquivo com ID_DA_GANG.ini dini_Create(file); dini_Set(file,"Nome",tmp);//Salvara Nome da Gang
Код:
stock ler_nome(gangid) { new arquivo[128]; format(arquivo,sizeof(arquivo),"%i.ini",gangid); format(arquivo,sizeof(arquivo),dini_Get(arquivo,"Nome")); return arquivo; }
Код:
ler_nome(GetPlayerTeam(playerid));//Lк o nome da gang em arquivo
Код:
public OnPlayerText(playerid, text[]) { if(text[0] == '!') {//Se Tiver '!' new string[128]; GetPlayerName(playerid,string,sizeof(string));//Geta Nome format(string,sizeof(string),"Gang Chat: %s: %s",string,text[1]);//Formato da Mensagem SendMessageToGang(playerid,0xFFFFFFFF,string);//Envia Mensagem } return 0; }
Код:
stock SendMessageToGang(playerid,color,const msg[]) { for (new i=0; i<MAX_GANG_PLAYERS; i++)//Pega os Membros da Gang { if (IsPlayerConnected(i) && PlayerInGang[playerid] > 0)//se tiver conectado e for de um gang { SendClientMessage(gangMembers[GetPlayerTeam(playerid)][i],color,msg);//Envia MSG para os mesmos da gang } } return 1; }
Код:
comandos(const string[], &index)//essa й a strtok modificada para nгo dar complicados com outras { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }