[TUT] Criando Gangs (/gang criar)
#1

Antes vou dizer que o Tutorial esta muito bem explicado, sу precisa prestar atenзгo nos comentбrios dentro do Cуdigo, se tiver algum erro comunique-me por PM, caso contrario esta me incentivando cada vez mais de parar de fazer tutos!
Bom vou postar aqui um tutorial inйdito de como criar um sistema de Gang Criбveis..
Primeiramente Vamos definir algumas coisinhas para posteriormente fazermos as Gangs, Lembrando que usarei SetPlayerTeam portando teremos o AntiTeamKill Feito jб
Topo GM:
pawn Код:
#define MAX_GANGS 32
#define MAX_GANG_PLAYERS 16
#define SEM_GANG 0
Nesta duas Diretivas acima iremos definir o nъmero mбximo que o Loop para criar Gang pode chegar (32) e o numero mбximo de players em uma gang (16), enquanto a SEM_GANG й a diretiva dos players que serгo sem gang (0)

Vamos agora fazer as Arrays para a Gang:
Ainda no Topo:
pawn Код:
new gangInvite[MAX_PLAYERS];
new PlayerInGang[MAX_PLAYERS];
new gangMembers[MAX_GANGS][MAX_GANG_PLAYERS];//Array para Enviar Mensagem posteriormente
Essa Array serб usada para definir se o player esta pronto ou nгo para entrar para Gang, e a Array 'PlayerInGang' й para ver o ID da gang do player...
Claro que isso pode ser substituido por PVARS para ficar mais otimizado,enfim.


Em OnGameModeInit
pawn Код:
if(!dini_Exists(Archivo))
{
dini_Create(Archivo);
dini_IntSet(Archivo, "GangsCreates", 0);
}
[i] Isso daqui cria o Arquivo para fazer o ID da Gang Posteriormente

Agora vamos ao comando em OnPlayerCommandTex:
GangEntrar:
pawn Код:
new cmd[128], idx;
cmd = comandos(cmdtext, idx);
if(strcmp(cmd, "/gangentrar", true) == 0)
  {
if(PlayerInGang[playerid]==0 && gangInvite[playerid] != 0) //Se o Convite for Diferente de '0' que seria a gang padrao  e  ele estiver fora da gang
{
SetPlayerTeam(playerid,gangInvite[playerid]); // coloca na gang como definido anteriormente
SendClientMessage(playerid, 0xFFFFFFFF, "vocк foi entrou na gang");
PlayerInGang[playerid] = GetPlayerTeam(playerid);
gangInvite[playerid] = 0;//Reseta o Convite
}
return 1;
}

Enfim Vamos ao Convite:
pawn Код:
if(strcmp(cmd, "/gangconvite", true) == 0)
    {
    new tmp[128];
    tmp = comandos(cmdtext, idx);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Uso do Comando: /gangconvite[ID]");
    SendClientMessage(playerid, 0xFFFFFFFF, "vocк foi convidado a entrar em uma gang");
    gangInvite[strval(tmp)] == PlayerInGang[playerid];//Habilita Convite para o ID da Gang
    return 1;
    }
Primeiramente vamo criar um Loop para definir o ID da Gang
Esse serб o comando de criar a gang, claro que ele nunca salvarб o nome da Gang apenas o ID dela porйm vocк pode fazer um jogo de 'salvamento' e salvar o ID da Gang em um arquivo com Nome dela, Veja Abaixo..
pawn Код:
if(strcmp(cmd, "/gangcriar", true) == 0)
    {
    new tmp[128];
        tmp = comandos(cmdtext, idx);
    if(PlayerInGang[playerid]>0)//Se o player estive em uma gang
    {
    return SendClientMessage(playerid, 0xFF8040FF, " Jб estбs em uma gang");;
    }
        new i;//define id da gang
    i= dini_Int("Gang.ini", "GangsCreates")+1;//define id da gang
    new string[128];
    format(string, sizeof(string),"Vocк criou a 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;
    }
pawn Код:
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
Entгo para Carregar:
pawn Код:
stock ler_nome(gangid)
{
    new arquivo[128];
    format(arquivo,sizeof(arquivo),"%i.ini",gangid);
    format(arquivo,sizeof(arquivo),dini_Get(arquivo,"Nome"));
    return arquivo;
}
entгo basta fazer
pawn Код:
ler_nome(GetPlayerTeam(playerid));//Lк o nome da gang em arquivo
Agora Vamos Criar o Chat da Gang:

pawn Код:
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;
}
Agora a Stock que Envia Mensagem para a Gang Internamente:
pawn Код:
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;
}
Agora Final GM:

pawn Код:
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;
}

Pois bem este й o Fim, espero que tenham gostado,
Crйditos a DraKoN

Se quiserem saber como faz as Gang Zones Dominaives basta acessar aqui:

https://sampforum.blast.hk/showthread.php?tid=143646

Eu Fiz o TUTO Usando gTeams para ser compactнvel com outros assim como do andmeida10

>>>P.S: virei emo
Reply


Messages In This Thread
[TUT] Sistema de Gangs (/gang criar) - by ipsBruno - 17.07.2010, 16:22
Re: [TUT] Criando Gangs (/gang criar) - by zSuYaNw - 17.07.2010, 18:25
Re: [TUT] Criando Gangs (/gang criar) - by ipsBruno - 17.07.2010, 18:47
Re: [TUT] Criando Gangs (/gang criar) - by Sucatiador - 18.07.2010, 15:45
Re: [TUT] Criando Gangs (/gang criar) - by ipsBruno - 18.07.2010, 16:52
Re: [TUT] Criando Gangs (/gang criar) - by russo666 - 18.07.2010, 16:56
Re: [TUT] Criando Gangs (/gang criar) - by zSuYaNw - 18.07.2010, 17:33
Respuesta: [TUT] Criando Gangs (/gang criar) - by [BR]JD - 20.07.2010, 16:48
Re: [TUT] Criando Gangs (/gang criar) - by ipsBruno - 20.07.2010, 16:52
Re: Respuesta: [TUT] Criando Gangs (/gang criar) - by zSuYaNw - 20.07.2010, 16:56
Re: [TUT] Criando Gangs (/gang criar) - by [BR]JD - 20.07.2010, 17:02
Re: [TUT] Criando Gangs (/gang criar) - by Cobertozinho - 20.07.2010, 19:13
Re: [TUT] Criando Gangs (/gang criar) - by [FnD]_Paniico_ - 22.07.2010, 13:42
Re: [TUT] Criando Gangs (/gang criar) - by leandro123456 - 06.08.2010, 22:34
Re: [TUT] Criando Gangs (/gang criar) - by zSuYaNw - 06.08.2010, 22:44
Re: [TUT] Criando Gangs (/gang criar) - by leandro123456 - 06.08.2010, 22:52
Re: [TUT] Criando Gangs (/gang criar) - by zSuYaNw - 06.08.2010, 22:57
Re: [TUT] Criando Gangs (/gang criar) - by leandro123456 - 06.08.2010, 23:13
Re: [TUT] Criando Gangs (/gang criar) - by Notria - 06.08.2010, 23:32
Re: [TUT] Criando Gangs (/gang criar) - by ipsBruno - 07.08.2010, 00:22
Re: [TUT] Criando Gangs (/gang criar) - by Link_ - 07.08.2010, 00:38
Re: [TUT] Criando Gangs (/gang criar) - by leandro123456 - 07.08.2010, 13:44
Re: [TUT] Criando Gangs (/gang criar) - by rene20 - 07.01.2011, 15:48
Re: [TUT] Criando Gangs (/gang criar) - by Link_ - 06.02.2011, 18:46
Re: [TUT] Criando Gangs (/gang criar) - by Macintosh - 06.02.2011, 18:50
Re: [TUT] Criando Gangs (/gang criar) - by Link_ - 06.02.2011, 18:56
Re: [TUT] Criando Gangs (/gang criar) - by Macintosh - 06.02.2011, 18:58
Re: [TUT] Criando Gangs (/gang criar) - by Link_ - 06.02.2011, 19:27
Re: [TUT] Criando Gangs (/gang criar) - by play_here - 20.02.2011, 21:18
Re: [TUT] Criando Gangs (/gang criar) - by [RoxX]Ygor - 20.02.2011, 23:11
Re: [TUT] Criando Gangs (/gang criar) - by Kruger - 21.02.2011, 15:46
Re: [TUT] Criando Gangs (/gang criar) - by jeanmon357 - 30.01.2012, 17:49
Re : [TUT] Criando Gangs (/gang criar) - by h(t)ml - 27.08.2012, 23:37
Re: [TUT] Criando Gangs (/gang criar) - by Adriano_MQD - 28.08.2012, 00:09
Re: [TUT] Criando Gangs (/gang criar) - by R3S1D3NT1 - 28.08.2012, 00:19
Re: [TUT] Criando Gangs (/gang criar) - by Victor' - 28.08.2012, 00:24
Re: [TUT] Criando Gangs (/gang criar) - by Joker_OutLock - 28.08.2012, 01:20
Re: [TUT] Criando Gangs (/gang criar) - by jpeg - 28.08.2012, 01:28
Re: [TUT] Criando Gangs (/gang criar) - by Spectro_BR - 28.08.2012, 01:56
Re: [TUT] Criando Gangs (/gang criar) - by Pedro_BML - 28.08.2012, 03:08

Forum Jump:


Users browsing this thread: 3 Guest(s)