Novidades

31 agosto 2011

Progressão Pawn

O que é um switch?
Switch é um comparador de resultados semelhante ao if e else if porem com uma estrutura diferenciada, em alguns casos chega à ser mais rápido(caso usado corretamente com auxilio de break).

Exemplo de uso:
Vamos tomar por exemplo o comando /admins, em vez criarmos um if seguido de vários else if pra cada nível de admin à aparecer no /admins precisaremos apenas criar um switch(função) seguido de cases, o case servirá como o else if mas de uma maneira mais compacta e otimizada pois só armazenará o numero(enum) à ser verificado, abaixo o exemplo do /admins por if e o /admins por switch.

if (strcmp(cmd, "/admins", true) == 0)

{
for(new i = 0; i <= MAX_PLAYERS; i++) { if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pAdmin] > 0) {
if(PlayerInfo[i][pTrampo] == 1) { GetPlayerName(i, sendername, sizeof(sendername));
if(PlayerInfo[i][pAdmin] == 1)
{
format(string, 256, "Nome: %s [Moderador] (Trabalhando)", sendername);
SendClientMessage(playerid, COR_ADMINS, string);
}
if(PlayerInfo[i][pAdmin] == 2)
{
format(string, 256, "Nome: %s [Administração Nível 2] (Trabalhando)", sendername);
SendClientMessage(playerid, COR_ADMINS, string);
}
if(PlayerInfo[i][pAdmin] == 3)
{
format(string, 256, "Nome: %s [ Administração Nível 3] (Trabalhando)", sendername);
SendClientMessage(playerid, COR_ADMINS, string);
}
}
}
return 1;
}


O exemplo acima mostra como seria um /admins usando else if, veja como ficaria este comando usando switch abaixo.

if (strcmp(cmd, "/admins", true) == 0)

{
for(new i = 0; i <= MAX_PLAYERS; i++) { switch(PlayerInfo[i][pAdmin])//Função a ser verificada { case 1: { format(string, 256, "Nome: %s [Moderador] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string); } //Se a função verificada for igual a 1 case 2: { format(string, 256, "Nome: %s [Administrador nível 2] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string); } //Se a função verificada for igual a 2 case 3: { format(string, 256, "Nome: %s [Administrador nível 3] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string); } //Se a função verificada for igual a 3 default: { Aqui a função a ser execultada caso nada se iguale aos resultados acima. } } } return 1; }


É lógico que nem todos os comandos /admin serão assim.

Criando o seu switch:
Crie seu switch com a função à ser verificada que quiser, mas siga este formato abaixo:

switch (Função) //Coloque por exemplo um PlayerInfo[player][info] ou qualquer outra coisa

{
case 1:
{
//O que deve ser executado caso seja igual a 1
return true;
}
case 2:
{
//O que deve ser executado caso seja igual a 2
return true;
}
case 3:
{
//O que deve ser executado caso seja igual a 3 }
return true;
}
default: //Não obrigatório
{
//O que deve ser executado caso não seja igual aos exemplos acima
}
}


Lembrando, não necessariamente o resultado deverá seguir este padrão de 1, 2, 3.... Você tem total liberdade pra pular ou adequar valores.

Você pode também modificar a forma do case, pra procurar por mais de um resultado como no exemplo abaixo:

case 1, 2, 3:

{
//O que deve ser executado caso seja igual a 1, 2 ou 3
return true;
}


em um if você teria que usar algo maior como este abaixo

if (Função == 1 || Função == 2 || Função == 3) //Ou como os valores são consecutivos usar operadores relacionais < >

{
O que deve ser executado caso a função seja igual a 1, 2 ou 3
return true;
}


Você pode também verificar resultados de um numero à outro, como no exemplo abaixo.

case 1 .. 10:

{
//O que deve ser executado caso o resultado se enquadre entre 1 e 10
return true;
}


Em if ficaria assim

if (Função >= 1 && Função <= 3) { 	//O que deve ser executado caso a Função se enquadre entre ou igual 1 ou 4 	return true; } 


Abaixo um exemplo bem distinto dos cases:

if (strcmp(cmd, "/org", true) == 0)

{
switch (PlayerInfo[playerid][pMembro])
{
case 1 .. 3:
{
SendClientMessage(playerid, Cor, "Você pertence a uma org igual ou entre 1 e 3");
}
case 7, 8, 10:
{
SendClientMessage(playerid, Cor, "Você pertence a org 7, 8 ou 10");
}
case 4:
{
SendClientMessage(playerid, Cor, "Você pertence a org 4");
}
default:
{
SendClientMessage(playerid, Cor, "Você pertence a uma org que não é 1, 2, 3, 4, 7, 8 ou 10");
}
}
return 1:
}


Qualquer duvidas é só perguntar, como sempre.

Créditos: Josma_CMD
Agradecimento à: Progressão Pawn

MiqueiasBarros
Hello baytôlas... Mais uma vez aqui é o Gostoso do MiqueiasBarros, vim trazer pra vocês agora um sistema de quando o player morre ele vai pro Hospital e passa 20 segundos no hospital, depois ele dá o spawn =}

SS:
http://img809.imageshack.us/img809/6097/samp004kf.png

Clique aqui para fazer o download!
Créditos:Fucker_Fusion
Postador: MiqueiasBarros
Progressão Pawn


Apesar de em todo lugar sempre ter todo tipo de código auxiliar ou estrutura para database muita gente ainda tem duvidas me criar seus sistemas de salvamento e carregamento de dados, diante disso, criei essa include(à alguns meses atrás).
É só editar conforme sua preferencia, bom proveito.

Sintaxes:
SalvarDini(playerid);
SalvarFini(playerid);

CarregarFini(playerid);
CarregarDini(playerid);

O que será salvo?
Posição X.
Posição Y.
Posição Z.
Dinheiro.
Skin
Score
Pode ser adicionado mais coisas a ser salvas, isso é mais um inicial =)

Exemplo de uso:
public OnPlayerDisconnect(playerid, reason)

{
SalvarDini(playerid); //Caso queira salvar em Dini
SalvarFini(playerid); //Caso queira salvar em Fini
return 1;
}
public OnPlayerConnect(playerid)
{
CarregarDini(playerid); //Caso tenha salvo em Dini
CarregarFini(playerid); //Caso tenha salvo em Fini
return 1;
}
public OnPlayerSpawn(playerid)
{
/*O sistema salva as coordenadas, então se quiser que o player volte a nascer de sua ultima coordenada use isto*/
if(Nasceu[playerid] == false)
{
SetPlayerPos(playerid, SalvarX[playerid], SalvarY[playerid], SalvarZ[playerid]);
Nasceu = true;
SendClientMessage(playerid, 0xFFFFFFFF, "Você nasceu da sua ultima coordenada");
}
return 1;
}


Mais uma vez desculpem pela identação, sabe como é postar em blogs.

Clique aqui para fazer o download!
Créditos: Josma_CMD
Agradecimento à: Progressão Pawn.
Progressão Pawn

Olá pessoal, venho aqui compartilhar a 1° vinheta de abertura pra vídeos do Progressão.
Pensei em fazer um concurso de criação da melhor vinheta mas não levei à diante, de qualquer forma, se alguém quiser criar uma e compartilhar é só criar o vídeo fazer upload e entrar em contato.
Bom, espero que gostem, é apenas um compartilhamento.

E-mail: ProgressaoPawn@hotmail.com

30 agosto 2011

Progressão Pawn

Este é um FS básico feito através de strtok para fazer contas de 4 tipos de operadores aritiméticos


Comandos:
/Multiplicar [Valor] [Por Quanto]
/Dividir [Valor] [Para Quanto]
/Menos [Valor] [Menos Quanto]
/Mais [Valor] [Mais Quanto]

Explicação:
Muito simples, apenas usa comparadores para fazer 4 tipos de conta.
Os operadores são: * / + -(Multipliicar, Dividir, Acrescentar, Retirar)

A maior utilidade deste código é que ele pode ser adaptado à vários sistemas criando assim sistema de multas entre uma infinidade de outras coisas, claro, este é só o código base afinal algo TÃO simples poderia ser considerado até como código útil.

Clique aqui para fazer o download!
Créditos: Josma_CMD
Agradecimento à: Progressão Pawn
Progressão Pawn

Outro código bem antigo que fiz, a funcionalidade é bem simples, contar os pontos de mortes tanto pra quem mata quanto pra quem morre.
Como funciona:
Quando o player mata alguém é acrescentado 1 ponto.
Quanto o player morre pra alguém é retirado 1 ponto.

Sobre o código:
No onPlayerDeath
Acrescenta 1 Morte e retira 1 Ponto de quem morreu.
Acrescenta 1 Matou e 1 Ponto de quem matou.
ao matar ou morrer é setado o string do TextDraw com a nova pontuação do player.
ao matar ou morrer é setado o Score exibido no TAB com a pontuação do player.

No OnPlayerConnect
É criado o TextDraw dos pontos, cada player tem seu TextDraw com o [MAX_PLAYERS] pra evitar que um player veja os pontos de outros no lugar do seu.
é calculado quanto o player matou -(menos) quanto ele morreu e setado no string do TextDraw o resultado.

No OnFilterScriptExit
é destruído todos os textdraw's pra evitar que ainda vejam os pontos após o FS ser descarregado.

Salvamento e Carregamento
Tem 2 publics, uma carrega e outra salva as informações(matou, morreu), é salvo quando o player desconecta e carregado ao conectar.
mas atenção, se você esquecer de criar a pasta PontosInfo não será salvo as informações.

Observações:
é preferencial para o uso em servidores de DM.
Qualquer bug ou duvida é só perguntar.
é necessário criar a pasta (PontosInfo) na scriptfiles do seu servidor pra que os pontos sejam salvos.

Clique aqui para fazer o download!
Créditos: Josma_CMD
Agradecimento à: Progressão Pawn
Progressão Pawn




Bom, fiz este FilterScript à MUITO tempo atrás não sabia nem o que era um operador relacional direito mas resolvi postar então, bom proveito.

Com este filterscript você seleciona duas cores para seu veículo, essas cores serão setadas em um intervalo de ms(mile segundos) assim dando a impressão de que seu carro está piscando.





Clique aqui para fazer o download!
Créditos: Josma_CMD
Agradecimento à: Progressão Pawn

29 agosto 2011

MiqueiasBarros
Hello Manolos, aqui é o gostoso do MiqueiasBarros e veio trazer mais um FS que teve um 'cabrito' que me pediu, então 'cabrito' tá ae!!!

♦ Objetivo ♦

Fazer um simples sistema de ligar e desligar o veiculo e tambem tirar ou botar o freio de mão

♦ Comandos ♦

( /ligarv ) - Ligar o motor do veiculo
(/desligarv) - Desligar o moto do veiculo
(/freio) - Tira ou bota o freio de mão
(/sairv) - Para sair do veiculo



Clique aqui para fazer o download!
Créditos: Caio_Cartaxo  - Idealizador e Criador
Postagem: MiqueiasBarros

26 agosto 2011

Vitor_Souza
Hola quetá, salve salve simpatia..

Venho postar aqui, um Gerador de cores, bom, simples. mais pode ajudar. 

na print ele mostra todas as funções dele, em breve terá a nova versão dele. 







Clique aqui para fazer o download!
Créditos:
Viitor_Souza

25 agosto 2011

Progressão Pawn


Descrição:

Bom, estou aqui para ensinar quem ainda não sabe sobre como utilizar o dfile.
Pra quem não sabe o dfile é um gerenciador de arquivos, muitos chamam de database, cache enfim, a função dele é intermediar entre o HD principal onde estão as informações até o solicitante da informação, em resumo com ele você poderá salvar informações como nível de admin, textos, logs ou qualquer coisa do gênero.


Funções:

Escrita e leitura:
► dfile_WriteInt(Tag, valor);
► dfile_WriteBool(Tag, true/false);
► dfile_WriteFloat(Tag, valor fracionado);
► dfile_WriteString(Tag, Texto);
► dfile_ReadInt(Tag);
► dfile_ReadBool(Tag);
► dfile_ReadFloat(Tag);
► dfile_ReadString(Tag);
► dfile_ReadPerseString(Tag, string);


Criação e remoção:
► dfile_Create(Arquivo[]);
► dfile_Delete(Arquivo[]);
► dfile_CreateDirectory(Pasta[]);
► dfile_DeleteDirectory(Pasta[]);


Verificação e outros:
► dfile_OpenFile(Arquivo);
► dfile_SaveFile();
► dfile_CloseFile();
► dfile_FileExists(Arquivo[]);
► dfile_DirectoryExists(Pasta[]);
► dfile_RenameFile(Arquivo[], NovoNome[]);
► dfile_IsSet(Tag);
► dfile_UnSet(Tag);


Como usar:

Bom, acima vocês viram quais são as funcionalidades do dfile, aprenderemos agora como usa-las com exemplos.

A programação em si segue uma lógica muito básica, assim como no seu dia-a-dia na programação você deve seguir etapas, exemplo.
Você quer setar um valor em um arquivo, antes você deverá verificar se ele existe, caso não exista você deverá cria-lo, nomea-lo, salva-lo e fecha-lo. Então, faremos isso.
Caso você tente escrever algo em um arquivo que não existe logicamente você não conseguirá.

► dfile_FileExists(Arquivo[]);
► dfile_OpenFile(Arquivo);
► dfile_SaveFile();
► dfile_CloseFile();


if(dfile_FileExists("Progressão.ini");

{
dfile_Open("Progressão.ini");
//Funções de escrita
SaveFile();
CloseFile();
}

Explicação:
Bom, com esses passos iremos verificar se o arquivo Progressão.ini existe na scriptfiles usando o id(se) e o dfile_FileExists... caso ele exista, ele após a chave { será aberto usando dfile_Open("Progressão.ini"); Será escrito algo nele(Você deverá usar a função de escrita no lugar da anotação), após isso será salvo o arquivo e será fechado.

Por que no SaveFile e Closefile não precisa do parametro(Arquivo)? Simples, porque a ação SaveFile e CloseFile são direcionadas ao arquivo aberto no momento... Diferente de Dini, o DFile abre apenas o arquivo necessário evitando assim muitas contas desnecessárias por segundo.

► dfile_Create(Arquivo[]);
► dfile_WriteInt(Tag, valor);
► dfile_WriteBool(Tag, true/false);
► dfile_WriteFloat(Tag, valor fracionado);
► dfile_WriteString(Tag, Texto);




if(!dfile_FileExists("Progressão.ini"))//Verifica se NÃO existe por causa do ! Exclamação

{
dfile_Create("Progressão.ini"); //Caso não exista ele criará, pois está entre as chaves
}
dfile_Open("Progressão.ini");
dfile_WriteInt("NumeroInteiro", 12345); //Numeros inteiros, sem fração
dfile_WriteBool("VerdadeiroOuFalso", true); //Variável booleanea, true ou false = verdadeiro ou falso
dfile_WriteFloat("NumeroFracionado", 1234.56789); //Numeros fracionados como coordenada de mapas, quantia de vida entre outros
dfile_WriteString("TextoQualquer", "Progressão Pawn, envolvendo jogadores revolucionando servidores"); //Qualquer tipo de texto
dfile_SaveFile();
dfile_CloseFile();


Explicação:
Caso o arquivo "Progressão.ini" não exista ele será criado pois está entre as chaves, após ele ser criado, será aberto e então será escrito escrito as informações no arquivo, WriteInt serve pra escrever numeros inteiros sem fração, é aceito numeros de 0 à 9(Claro, podendo ser juntos formando dezenas, centenas e assim por diante).
WriteBool salva valores booleaneos que são true/false verdadeiro/falso positivo/negativo.
WriteFloat salva valores fracionados como a coordenada X, Y, Z do mapa entre outras coisas.
WriteString Salva qualquer tipo de texto, sendo ele junto com números ou não, apenas números ou apenas letras, geralmente usado para salvar senhas/logs entre outras informações.
Após escrever esses dados no arquivo ele será salvo e fechado, é bom lembrar que caso você não salve este texto ao fechar o arquivo já não será mais possível ler os dados no arquivo.

► dfile_ReadInt(Tag);
► dfile_ReadBool(Tag);
► dfile_ReadFloat(Tag);
► dfile_ReadString(Tag);


new varInt, Float:varFloat, bool:varBool, varString[128];

if(dfile_FileExists("Progressão.ini"))//Verifica se existeo arquivo
{
dfile_Open("Progressão.ini"); //Caso exista será aberto
varInt = dfile_WriteInt("NumeroInteiro"); //O numero inteiro nesta tag será escrito na varInt
varBool = dfile_WriteBool("VerdadeiroOuFalso"); //O valor bool que estiver nesta tag será escrito na varBool
varFloat = dfile_WriteFloat("NumeroFracionado"); //O numero frácionado que estiver nesta tag será escrito na varFloat
varString = dfile_WriteString("TextoQualquer"); //O texto que estiver nesta tag será escrito na variável varString
dfile_CloseFile(); //Fechará o arquivo sem salvar pois você apenas fez leituras e não alterou nada
}


Explicação:
O script criará as variáveis varInt, varFloat, varBool e varString cada uma com suas respectivas tags, caso o arquivo exista a varInt terá o valor da tag NumeroInteiro atribuído a ela. a varBool terá o valor da tag VerdadeiroOuFalso atribuído à ela, a varFloat terá o valor da tag NumeroFracionado atribuído à ela e a varString terá o texto na tag TextoQualquer atribuído à ela.
Você pode usar também o dfile_ReadPerseString que compara uma string à tag.

► dfile_Create(Arquivo[]);
► dfile_Delete(Arquivo[]);
► dfile_CreateDirectory(Pasta[]);
► dfile_DeleteDirectory(Pasta[]);


if(dfile_FileExists("Progressão.ini"))

{
dfile_Delete("Progressão.ini"); //Deleta o arquivo se existir
}
if(!dfile_FileExists("Progressão.ini"))
{
dfile_Create("Progressão.ini"); //Cria o arquivo se não existir
}

if(!dfile_DirectoryExists("ForumSamp"))
{
dfile_DCreateirectory("ForumSamp"); //Cria a pasta se não existir
}
if(dfile_DirectoryExists("ForumSamp"))
{
dfile_DeleteDirectory("ForumSamp"); //Deleta a pasta se existir
}


Explicação: Nas anotações.


► dfile_RenameFile(Arquivo[], NovoNome[]);
► dfile_IsSet(Tag);
► dfile_UnSet(Tag);



if(dfile_FileExists("Progressão.ini"))

{
if(dfile_IsSet("Exemplo"); //Verifica se a TAG Exemplo tem algum valor
{
dfile_UnSet("Exemplo"); //Tira o valor da TAG Exemplo se existir
}
return 1;
}




dfile_RenameFile("Progressao.ini", "ProgressaoPawn.ini");

Explicação:
Se o arquivo Progressão.ini existir ele vai verificar se a tag 'Exemplo' tem algum valor setado usando dfile_IsSet e caso tenha um valor setado ele irá retirar este valor usando dfile_UnSet.



Clique aqui para fazer o download!
Créditos:
Tutorial by: Josma_CMD
Agradecimento: Progressão Pawn

Progressão Pawn envolvendo jogadores revolucionando servidores.

23 agosto 2011

Progressão Pawn


Bom, vim em resposta à um pedido criar um tutorial completo de como fazer orgs/profissões/gangs em seu GameMode RPG.

Antes de tudo quero pedir desculpa pelos BR
nos códigos, retirem eles caso tentem fazer seus códigos pois isto é proporcional ao código HTML do blooger(O qual não pude tirar).

Índice

● Criar orgs com cargos
● Criar veiculos para orgs
● Criar comando /membros
● Criar comandos para líderes /convidar /promover /demitir
● Banco de dados para salvamento de orgs
● Criar cores paras orgs

Necessário

● Saber utilizar strtok
● Saber utilizar variáveis
● Saber utilizar operadores
● Saber utilizar database(No caso usaremos dini).

Bom, antes de tudo quero esclarecer que este não é um código útil e sim um tutorial, não copie e edite, leia, entenda e crie seu sistema.

Parte 1, criando suas organizações: Bom, decidi sair do velho esquema rotineiro de orgs do GF, então nosso enum será diferente, o enum cria arrays dentro de arrays, fazendo juz ao nome, enuméricos ou enumerados, o enum funciona quase como o new, você pode criar várias variáveis a partir dele utilizando vírgula para separar umas das outras, irei criar aqui 3 organizações como exemplo neste enum.

enum Info
{
PMilitar,
Groove,
Ballas
};

Não é obrigatório e também não faz diferença a utilização de vírgula na ultima variável da enum, eu não coloco mas isso é uma opção de cada um, enfim, o enum criado precisaremos de uma variável como tipo de dados para podermos usa-la em diferentes situações e para diferentes players, para isso usaremos o MAX_PLAYERS que no caso cria uma variável para cada ID de player, o MAX_PLAYERS é equivalente a 500 então é aconselhável que você crie uma diretiva no início do GM definindo o numero de slots que seu servidor usa, logo após, utilize essa diretivo no lugar do MAX_PLAYERS pré definido no a_samp.
new PlayerInfo[MAX_PLAYERS][Info];

Como podem perceber acima criei a variável PlayerInfo, o nome é de sua preferencia, esta variável tem o valor MAX_PLAYERS, ou seja, poderei usar em diversas ocasiões utilizando playerid, giveplayerid ou qualquer outro tipo de variável que acumule o id de um player, na outra array eu utilizo o enum Info, assim poderemos usar qualquer uma das variáveis disponíveis no enum.

Parte 2, entrando nas organizações: Bom, criada as organizações, agora deveremos entrar nelas, pra isso iremos fazer 3 comandos, /Convidar, /Demitir, /Promover.
Não esqueça de criar o new tmp[128]; no inicio da OnPlayerCommandText junto com as outras variáveis, cmd e idx, também coloque o strtok no fim do gamemode.
if(strcmp(cmd, "/convidar", true) == 0)
{
tmp = strtok(cmdtext, idx);
new PlayerB;
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "Uso correto: /convidar [id]");
PlayerB = strval(tmp);
if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, Branco, "Este jogador não está conectado");
if(PlayerInfo[playerid][PMilitar] >= 6)
{
PlayerInfo[PlayerB][PMilitar] = 1;
SendClientMessage(PlayerB, Branco, "Você entrou à Polícia Militar");
SetPlayerColor(PlayerB, Cor_PMilitar);
return 1;
}
else if(PlayerInfo[playerid][Groove] >= 6)
{
PlayerInfo[PlayerB][Groove] = 1;
SendClientMessage(PlayerB, Branco, "Você entrou à Groove");
SetPlayerColor(PlayerB, Cor_Groove);
return 1;
}
else if(PlayerInfo[playerid][Ballas] >= 6)
{
PlayerInfo[PlayerB][Ballas] = 1;
SendClientMessage(PlayerB, Branco, "Você entrou aos Ballas");
SetPlayerColor(PlayerB, Cor_Ballas);
return 1;
}
return 1;
}

Existem diversas formas de fazer um comando /convidar, essa não é a mais otimizada porém achei a mais simples para explicar sobre o código, não vou explicar sobre o que o strtok faz pois creio que muitos já sabem e caso não saibam é só dizer que explico ou crio outro tutorial, enfim, voltando ao código, ao digitar /convidar [id] o if se encarregará de verificar se o jogador é da PMilitar, e se ele tem o cargo igual ou maior que 6, que no caso estamos utilizando como um padrão para líder, mude conforme sua escolha, caso ele seja da Policia Militar e tiver o cargo requerido será setado ao PlayerB(convidado) a cor da policia militar e a org Policia militar, o mesmo processo acontece mas 3 orgs seguintes, foi apenas adicionado o else para a cadeia de decisões, se, mas se...

if(strcmp(cmd, "/promover", true) == 0)
{
tmp = strtok(cmdtext, idx);
new PlayerB, level;
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "Uso correto: /promover [id] [cargo]");
PlayerB = strval(tmp);
if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, Branco, "Este jogador não está conectado");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "Uso correto: /promover [id] [cargo]");
level = strval(tmp);
if(level < 1 || level > 6) return SendClientMessage(playerid, Branco, "O level deve ser maior que 0 e menor que 7");
new string[128], promovedor[MAX_PLAYER_NAME];
GetPlayerName(playerid, promovedor, sizeof(promovedor));
if(PlayerInfo[playerid][PMilitar] >= 6)
{
if(PlayerInfo[PlayerB][PMilitar] < 1) return SendClientMessage(playerid, Branco, "Este jogador não é da sua org");             PlayerInfo[PlayerB][PMilitar] = level;             format(string, sizeof(string), "Você foi promovido a level %d por %s", level, promovedor););             SendClientMessage(PlayerB, Branco, string);             return 1;         }         else if(PlayerInfo[playerid][Groove] >= 6)
{
if(PlayerInfo[PlayerB][Groove] < 1) return SendClientMessage(playerid, Branco, "Este jogador não é da sua org");             PlayerInfo[PlayerB][Groove] = level;             format(string, sizeof(string), "Você foi promovido a level %d por %s", level, promovedor););             SendClientMessage(PlayerB, Branco, string);             return 1;         }         else if(PlayerInfo[playerid][Ballas] >= 6)
{
if(PlayerInfo[PlayerB][Ballas] < 1) return SendClientMessage(playerid, Branco, "Este jogador não é da sua org");             PlayerInfo[PlayerB][Ballas] = level;             format(string, sizeof(string), "Você foi promovido a level %d por %s", level, promovedor););             SendClientMessage(PlayerB, Branco, string);             return 1;         }         return 1;     }

O comando /promover acima segue a mesma ordem do /convidar, verifica a organização do player primário na ação e executa a ordem no player secundário que no caso seria o PlayerB, como disse no outro comando, não vou explicar sobre strtok neste tutorial.

if(strcmp(cmd, "/demitir", true) == 0)
{
tmp = strtok(cmdtext, idx);
new PlayerB, string[128], demitidor[MAX_PLAYER_NAME];
if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "Uso correto: /demitir [id]");
PlayerB = strval(tmp);
GetPlayerName(playerid, demitidor, sizeof(demitidor));
if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, Branco, "Este jogador não está conectado");
if(PlayerInfo[playerid][PMilitar] >= 6)
{
if(PlayerInfo[PlayerB][PMilitar] < 1) return SendClientMessage(playerid, Branco, "Este jogador não é da sua organização");             PlayerInfo[PlayerB][PMilitar] = 0;             format(string, sizeof(string), "Você foi demitido por %s", demitidor);             SendClientMessage(PlayerB, Branco, string);             return 1;         }         else if(PlayerInfo[playerid][Groove] >= 6)
{
if(PlayerInfo[PlayerB][Groove] < 1) return SendClientMessage(playerid, Branco, "Este jogador não é da sua organização");             PlayerInfo[PlayerB][Groove] = 0;             format(string, sizeof(string), "Você foi demitido por %s", demitidor);             SendClientMessage(PlayerB, Branco, string);             return 1;         }         else if(PlayerInfo[playerid][Ballas] >= 6)
{
if(PlayerInfo[PlayerB][Ballas] < 1) return SendClientMessage(playerid, Branco, "Este jogador não é da sua organização");             PlayerInfo[PlayerB][Ballas] = 0;             format(string, sizeof(string), "Você foi demitido por %s", demitidor);             SendClientMessage(PlayerB, Branco, string);             return 1;         }         return 1;     } 

O comando demitir é Muito básico, entendendo os dois primeiros você entenderá ele também, creio que todo mundo saibam se quiserem explicações mais detalhadas sobre o comando só perguntar.

Bom, como vocês viram estes comandos utilizam algumas cores, provavelmente vocês não terão essas cores em seus GM´s então é só criar algumas diretivas relativas as cores.

#define Cor_PMilitar 0x4169E199
#define Cor_Groove 0x00FF0099
#define Cor_Ballas 0xA020F099
#define Branco 0xFFFFFFFF

O código de cor na diretiva é muito simples, 0x = definição de que "É" uma cor, os 6 primeiros caracters após o 0x são do código da cor e os 2 ultimos da transparência da cor.

Parte 3, Criando veiculos paras organizações: Antes de tudo você precisa aprender a mexer com variáveis então se ainda não souber leia outro tutorial, Vamos criar os veiculos paras orgs, para isso, tenha em mãos as coordenadas e os modelos dos veiculos que deseja criar, vamos lá.

Vamos supor que a Policia Militar tenha 4 carros, então criaremos a variável com o valor 4 pois começaremos do 0 e não podemos esquecer do Null, deixaremos isso quase como se fosse uma margem de erro.

new VPMilitar[5];

Está criada a variável de veiculos da Policia Militar, vamos agora criar os veiculos:
No OnGameModeInit(); coloque:
VPMilitar[0] = CreateVehicle(modelo, X, Y, Z, Rotação, Cor1, Cor2, RespawnDelay); //Veiculo numero 0
VPMilitar[1] = CreateVehicle(modelo, X, Y, Z, Rotação, Cor1, Cor2, RespawnDelay); //Veiculo numero 1
VPMilitar[2] = CreateVehicle(modelo, X, Y, Z, Rotação, Cor1, Cor2, RespawnDelay); //Veiculo numero 2
VPMilitar[3] = CreateVehicle(modelo, X, Y, Z, Rotação, Cor1, Cor2, RespawnDelay); //Veiculo numero 3

Está criado os veiculos da Policia Militar, siga o mesmo exemplo para criar os veículos de outras organizações, apenas troque o numero das variáveis e os nomes das mesmas conforme o numero de veículos e o nome da próxima org.

Parte 4, Impedindo que outros peguem seus veiculos: Bom, vamos bloquear os veículos para que membros de outras organizações não o peguem, existem inicialmente duas maneiras de fazer isso, com a public OnPlayerEnterVehicle ou com a public OnPlayerStateChange, vou usar a OnPlayerStateChange...

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) VerificarVeiculo(playerid);
return 1;
}

Notem que tem uma sintaxe que não é padrão nesta public, a sintaxe VerificarVeiculo, bom, teremos que criar ela então vamos lá.

forward VerificarVeiculo(playerid);
public VerificarVeiculo(playerid)
{
for(new c = 0; c <= 4; c++)     {         if(IsPlayerInVehicle(playerid, VPMilitar[c]) && PlayerInfo[playerid][PMilitar] < 1)         {             SendClientMessage(playerid, Branco, "Você não é da Policia Militar");             RemovePlayerFromVehicle(playerid);             return 1;         }     }     return 1; }

O laço for irá fazer uma conta rápida verificando possíveis valores do 0 ao 4, na if seguinte ele verificará se o Player está no veiculo C que pode ser equivalente de 0 a 4 e se ele não é da policia militar, caso a resposta para esta ação seja SIM ele removerá o player do veiculo e dirá a ele que aquele veiculo não pertence a sua organização.

Para reproduzir este código com outras organizações você pode usar o mesmo laço for e adicionar mais if's, else if's e aumentar o numero do laço conforme o numero de veiculos da org maxíma ou pode criar outros laços de conta, você pode também verificar resultado por resultado usando o GetPlayerVehicleID.

Parte 5, Salvando sua org: Bom, salvaremos a org do player em dini, então ai vai o código.
forward SalvarOrg(playeri);
public SalvarOrg(playerid)
{
new arquivo[60], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), "Contas\%s.ini", nome);
if(!dini_Exists(arquivo))
{
dini_Create(arquivo);
}
if(PlayerInfo[playerid][PMilitar] > 0) dini_IntSet(arquivo, "PMilitar", PlayerInfo[playerid][PMilitar]);
if(PlayerInfo[playerid][Groove] > 0) dini_IntSet(arquivo, "Groove", PlayerInfo[playerid][Groove]);
if(PlayerInfo[playerid][Ballas] > 0) dini_IntSet(arquivo, "Ballas", PlayerInfo[playerid][Ballas]);
return 1;
}

Explicação: criei as variáveis arquivo e nome para acumularem dado do tipo char, elas vão acumular strings, nome vai acumular o nome do player na ação e arquivo o caminho onde será salva suas informações, GetPlayerName pega o nome do playerid e salva na variável nome, o format seta o caminho onde será salvo as informações na variável arquivo, e pra isso ele precisa da variável nome, para criar um arquivo pra cada player.
if(!dini_Exists(arquivo)) << Verifica se NÃO existe, caso não exista ele executa o que está entre as chaves, no caso, dini_Create(arquivo) ou seja, se não existir ele criará, logo após vem uma sequencia de if, esses vão verificar se o cara é da PMilitar, caso seja ele salvará o cargo dele no dini com o nome de PMilitar, a mesma coisa pras organizações seguintes, se quiser aprender mais sobre dini procure outro tutorial no fórum e bendito seja o search.

Vou atualizar o tutorial depois, implementar, melhorar os códigos, explicar melhor etc, no momento estou ocupado então em breve estarei aqui com mais postagens construtivas.

Bom, é isso, tutorial meio corrido mas está ai, não pude explicar detalhadamente sobre alguns detalhes pois fugiriam do tema do tutorial como dini, strtok, variáveis enfim, QUALQUER duvida é só perguntar, se não tiver conseguindo montar seu código poste aqui.

Créditos: Josma_CMD
Agradecimento: Progressão Pawn

Progressão Pawn envolvendo jogadores revolucionando servidores.

22 agosto 2011

Bruno Bernardo
Bom Galera Resolvi Fazer Esse Gm Para Ser Usado Com Base Para Coders Iniciantes E Para Akeles Q Querem Fazer Um Server Do Genero Entao Aproveitem.

Informações

- Ao Matar Aumenta Um Level.
- Avisa Quem Foi Para Os Drops.
- Sistema De Random Armas Em Cada Drop.
- Random Players Spawns.
- Contendo Cores 0.3c.
- Mostra Quem Logou Ou Saiu Do Servidor.
- Carros Em Todos Os Locais De Spawn.
- Sistema De Tunar
- Sistema De Neon
- 5 Arenas De Drop
- Sistema De Login
- Todos Os Cmds Em Dialog Com Cores 0.3c
- Sistema De Mudar Cor Do Nome
- Matar Com 1 Tiro De Sniper
- TextDrawn Em Baixo Do Radar
- Ao Player Nascer Sempre Nasce Com Arma Diferente
- Animaçao Enquanto Escolhe Sua Skin


Comandos

/ajuda
/drops
/kill
/creditos
/status
/Neon
/Tunar
/CorNome


Imagens


EM BREVE ESTAREI POSTANDO A VERSAO 2.0 ENTAO QUALQUER ERRO OU BUG ENTRE EM CONTATO ELE SERA RESOLVIDO.



Clique aqui para fazer o download!
Créditos GM:Bruno Tadeu
Creditos Sistema De Registro:TiagoPS
Progressão Pawn
Olá amigas '--'.
Sou o Shickcard e trago para vocês um [FS] de roubo!

O sistema é totalmente configurável.

Configuração:

#define MaxPlayers (20)         // Quantidade total de player em seu servidor


#define cX 153.1188 // Coordenada X do roubo
#define cY -64.5729 // Coordenada Y do roubo
#define cZ 1.5781 // Coordenada Z do roubo

#define IconeRoubo 1274
#define PickupCor 0x008080FF

#define TempoRoubo 1 // Tempo em minutos para esperar o roubo ser concluído
#define AReceber 10000 // Valor em dólares que o ladrão irá receber


Vídeo:
http://www.youtube.com/watch?v=BbZ6EafXMEU

Download:
Pastebin
DropBox
SolidFiles

Créditos:

[KoS] Shickcard
Kings of SA:MP
Progressão Pawn

» Dúvidas, Dicas, Críticas, Erros ou Bugs? Entrar em contato no tópico ou por MP.
Por favor comentem! :)

Atenciosamente: [KoS] Shickcard.
Clique aqui para fazer o download!
Créditos:
[KoS] Shickcard
MiqueiasBarros
Então, Já que Eu Pedi Pra Exclui a 1.0 por culpa OFF Topic. Atualizei o Mais Rápido Possivel ^^

Funções

native RestartServidor();
native Congelar(playerid);
native Descongelar(playerid);
native Dia();
native Noite();
native TremerTela(playerid);
native PararTremerTela(playerid);
native SalvarLocal(playerid);
native IrLocal(playerid);
native PlayersAFK(playerid);
native EntrarAFK(playerid);
native SairAFK(playerid);
native PlayersAFK(playerid);
native SetarPos(playerid, Float:x, Float:y, Float:z, Float:ang);
native DarArmas(playerid, Arma1, Ballas1, Arma2, Ballas2, Arma3, Ballas3, Arma4, Ballas4);
native LimparLinhas(playerid, Linhas);
native LimparLinhaAll();
native BanAll();
native KickAll();
native JogadoresOnline();
native MudarNick(playerid, const NickDesejado[]);
native DarCrash(playerid);
native Jetpack(playerid);
native PegarNome(playerid);
native EquiparVidaColete(playerid, Float:health, Float:armour);
Exemplos de Uso
if (strcmp("/restartsv", cmdtext, true) == 0)
{
    RestartServidor();
    return true;
}
if (strcmp("/mecongelar", cmdtext, true) == 0)
{
    Congelar(playerid);
    return true;
}
if (strcmp("/medescongelar", cmdtext, true) == 0)
{
    Descongelar(playerid);
    return true;
}
if (strcmp("/dia", cmdtext, true) == 0)
{
    Dia();
    return true;
}
if (strcmp("/noite", cmdtext, true) == 0)
{
    Noite();
    return true;
}
if (strcmp("/tremertela", cmdtext, true) == 0)
{
    TremerTela(playerid);
    return true;
}
if (strcmp("/parartremer", cmdtext, true) == 0)
{
    PararTremerTela(playerid);
    return true;
}
if (strcmp("/salvarlocal", cmdtext, true) == 0)
{
    SalvarLocal(playerid);
    return true;
}
if (strcmp("/irlocal", cmdtext, true) == 0)
{
    IrLocal(playerid);
    return true;
}
if (strcmp("/entrarafk", cmdtext, true) == 0)
{
    EntrarAFK(playerid);
    return true;
}
if (strcmp("/sairafk", cmdtext, true) == 0)
{
    SairAFK(playerid);
    return true;
}
if (strcmp("/playersafk", cmdtext, true) == 0)
{
    PlayersAFK(playerid);
    return true;
}
if (strcmp("/pegararmas", cmdtext, true) == 0)
{
    DarArmas(playerid, 24, 100, 25, 100, 30, 100, 40, 100);
    return true;
}
if (strcmp("/limparlinha", cmdtext, true) == 0)
{
    LimparLinhas(playerid, 5);
    return true;
}
if (strcmp("/limparlinhaAll", cmdtext, true) == 0)
{
    LimparLinhaAll();
    return true;
}
if (strcmp("/playersonline", cmdtext, true) == 0)
{
    new CelulasE[128];
    format(CelulasE, sizeof(CelulasE), "Players Online: (%d/%i)",JogadoresOnline(),  GetMaxPlayers());
    SendClientMessage(playerid, -1, CelulasE);
    return true;
}
if (strcmp("/pegarjetpack", cmdtext, true) == 0)
{
    Jetpack(playerid);
    return true;
}
if (strcmp("/mudarnick", cmdtext, true) == 0)
{
    MudarNick(playerid, "[JFS]JonathanF");
    return true;
}
if (strcmp("/ganharcrash", cmdtext, true) == 0)
{
    DarCrash(playerid);
    return true;
}
if (strcmp("/pegarnick", cmdtext, true) == 0)
{
    new Celulas[128];
    format(Celulas, sizeof(Celulas), "Meu Nick é (( %s ))", PegarNome(playerid));
    SendClientMessage(playerid, -1, Celulas);
    return true;
}
if (strcmp("/pegarvidacolete", cmdtext, true) == 0)
{
    EquiparVidaColete(playerid, 100, 100);
    return true;
}
if (strcmp("/entrar", cmdtext, true) == 0)
{
    CarregarMapa(playerid);
    return true;
}




Clique aqui para fazer o download!
Créditos:Jonathan Feitosa
Créditos Pelo JogadoresOnline: Ricop
Umas Dicas: Lipe_Stronda.

20 agosto 2011

Progressão Pawn
Bom, a Home Hots à algum tempo postou o GameMode do GeralRP, porem, a versão postada está compatível à 0.3b do samp, após a atualização do samp para 0.3c este GM passou a ser descartável pois ninguém mais joga 0.3b. DIante disso, algumas pessoas me pediram pra postar o mesmo GM compatível com a versão 0.3c do samp já que estava acusando muitos erros no .pwn ao compilar na 0.3c então aqui estou eu postando o Geral RP compatível com a 0.3c e com todos os erros concertados.
Tópico original em 0.3b: http://www.homehots.net/2010/10/geral-rp-para-sa-mp-03b.html
OBS: A versão na qual foi atualizada do samp é a 0.3c R5.

Clique aqui para fazer o download!
Feito por pawNO xD
avisos removido por Stakline
Todos os erros 0.3c concertados por Josma_CMD
SprunTinhO
Bom, Venho Trazer para vocês um FS De Ligar//Desligar Carros, Também
Tem o /freio que trava o carro.
SHIFT: Liga o Veiculo ou se preferir digita /ligarv e /desligarv
Testado e Aprovado.

Clique aqui para fazer o download!
Créditos: SprunT(POSTAGEM), Caio Cartaxo e Tomboy (CRIAÇÃO).

18 agosto 2011

Progressão Pawn


Olá, bom dia/tarde/noite aos leitores da Home Hots, veio por meio deste post representar o Progressão Pawn em um trabalho do scripter MiTToS.
Este é um script simples, porem muito bem estruturado, todos sempre tiveram vontade de ter seus infoorgs em dialogs o que parece um bicho de 7 cabeças agora ficou prático e rápido de se fazer.


Características:
► Promoção offline
► Demissão offline
► Líder, Sub Líder e + 15 vagas!
► Cofre para a organização

Informações:
Sistema feito usando o sistema SII como base de arquivos, junto com o foreach para loops, dando uma melhor performance ao FS;


Créditos:
Criador: Gil Penner(MiTToS): gilhrp@hotmail.com
Beta Tester: DJ Buninho
______________________________
Agradecimento à: Progressão Pawn pelo suporte tecnico.






Instruções
Antes de começar, certifique-se de que você possua os requerimentos listados abaixo e força de vontade!
Include foreach
Include SII
Include ZCMD
Força de vontade
OBS: No download tem 2 arquivos prontos para inclusão ao seu GameMode, porem, um esta com cada linha do script explicada detalhadamente e outro sem explicações.


OBS²: É necessário que você adicione este código ao script para por compila-lo.


new corda[MAX_PLAYERS][128];//Recomendo a redefinir MAX_PLAYERS para o número de slots do seu server

new mangueira[500];//usada para exibir uma grande lista com muitas letras ^^
#define MAX_MEMBROS 15//número de membros do servidor

#define branco 0xFFFFFFAA
#define cinza 0x6F7071AA
#define azul 0x0087F6AA
#define amarelo 0xF6F600AA
#define vermelho 0xF60000AA
#define coradmin 0x00BBF6AA
#define BRANCO "{FFFFFF}"
#define VERMELHO "{FF0000}"
#define AMARELO "{FFFF33}"


Notificações:
1° Os comandos foram feitos em zcmd então se você não usa este processador de comandos transfira-o para o processador usado em seu GameMode.

2° Comandos antigos tais como /demitir /promover e /convidar deverão ser excluídos, estas ações agora serão feitas atravez dos dialogs do infoorg.

3° Se você não entendeu o script releia as anotações no .PWN com atenção, não peça ajuda sem ao menos tentar fazer as coisas, caso não consiga algo, entre em contato.

Suporte
msn: gilhrp@hotmail.com
skype: gil_hrp
Samp Live: MiTToS

Créditos: MiTToS(Gil Penner)


Clique aqui para fazer o download!

17 agosto 2011

 Paulinho
O Tão Esperado GameMode, Pedido No MSN, o Pacote Iniciante v2.0, na Verdade Apenas Acrescentei Tutoriais, O GameMode Ainda é o Mesmo, Apenas Adicionei Mais Explicações.

No GameMode Contém:


1 - Lembretes é Dicas
2 - Callbacks. ( Como Criar Uma Callback, Como Usar Uma Já Existente, Lista de Callbacks)
3 - Funções ( Lista de Funções, é Como Usar)
4 - Warnings ( Introdução, Lista de Erros)
5 - SetTimer e SetTimerEx (Introdução, Diferença, Exemplos, Como Usar)
6 - Váriaveis ( O Que é, Como Usar)


Cada Pasta Tem uma Explicaçao:

- FilterScript ( Como Criar um FS, Explicações da Pasta, é Já vem com Um FS Base )
- Pawno ( Como Criar um new.pwn, Explicações )
- GameMode, Plugins, npcmodes, ScriptFiles, ( Explicações )
- Explicação do Painel.


Cada Linha do GameMode tem Uma Explicação é Alguns Exemplos.
O GameMode Contém 719 Linhas.
Esse GameMode Contém as Includes Atualizadas, o Painel é Samp R5.

PS: Apenas Tive Tempo de Fazer Isso, Na Proxima Versão, Terá Como Criar um Comando Passo á Passo, função por função, arrays, funções novas, funções dificilmente ser usadas, Essa Versão será a continuação do Capitulo 2.

Clique aqui para fazer o download!
Créditos: Jonathan Feitosa
Participação em Codes: Garfield, DraKiNs, rjjj.

15 agosto 2011

MiqueiasBarros
Olá pessoal, aqui é o MiqueiasBarros, e este é meu primeiro post, então venho aqui fazer esta postagem por causa de um pedido de um manin, então faça bom proveito!

Times:
AtleticoGO
AtleticoMG
AtleticoPR
Avai
Botafogo
Ceara
Corinthians
Cruzeiro
Flamengo
Fluminense
Goias
Gremio
Barueri
Guarani
Internacional
Palmeiras
Santos
SaoPaulo
Vasco
Vitoria

Comandos:
/Ajuda
/objetivo
/Comandos
/Mudartime


Clique aqui para fazer o download!
Créditos: [Full]Garfield[XDB]
Postado Por: MiqueiasBarros

10 agosto 2011

Bruno Bernardo
Criei um conversor hoje de milisegundos para segundos, minutos, horas e vice-versa
O funcionamento é simples vou postar o source também. 
Créditos: RockFire
Bruno Bernardo
Olá pessoal, estou aqui hoje para postar meu novo FilterScript.. Pedagio System v0.1, para frente vou atualiza-lo(adc mais pedágios!)é bem útil para servidores RPG/RP, Bem espero que gostem, e não tirem os créditos.

Commandos:
/creditos
/pedagio1
/pedagio2
/pedagio3
/pedagio4
/pedagio5
/pedagio6
OBS: não tem utilidade estes /pedagio pois usa-se '2' encima do W.


O que tem?
Usei a include <zcmd>
Para você passar o pedágio, você tem que apertar '2' encima do W para acionar o portão!



Screen Shots

http://imageshack.us/g/818/samp007gu.png/

Clique aqui para fazer o download!
Créditos: [KoS]Leo_Perez
Bruno Bernardo
Sistema de Banco



Olá pessoal do forum, aqui venho eu com mais um Release, Um simples sistema de Banco!

Comandos:


» /Saldo - Checa o Saldo Bancario
» /Sacar [Quantia] - Saca a quantia desejada
» /Depositar [Quantia] - Deposita a quantia desejada
» /CBanco - Para ver os Comandos do FilterScript
» /CreditosB - Visualiza os Creditos a mim

Fiz um simples comando para ir até o Banco:
Clique aqui para fazer o download!
Créditos: FreeGells
Bruno Bernardo


Descrição:
Bom, muita gente vem me pedindo pra criar um sistema de teste de habilitação onde o player escolhe qual a categoria de veículos na qual ele deseja fazer o teste e inicia o teste, fiz 3 categorias, aeronaves, carros e motos, cada um com seu preço, não fiz as variáveis que identificam se o player é habilitado ou não por que esse FS fiz pra ser adaptado aos seus GameModes então como cada GM tem sua variável, não achei produtivo cria-las no FS.

Sobre os testes:
Carros: 3 testes, 1° percurso, 2° rota por checkpoints, 3° teste de habilidade no estacionamento, todos com limite de tempo.
Motos: 3 testes, 1° um mini stunt onde o player deverá subir na laje com a moto e passar pro telhado ao lado, 2° uma rota com checkpoints até pular em um mini stunt do morro pra uma laje abaixo, 3° um percurso até uma mini fazenda à norte de Los Santos.
Aeronaves: 2 testes, 1° percurso, você deve decolar o beagle e pousar no aeroporto abandonado, então deverá estaciona-lo no maior hangar disponível. 2° percurso, você deverá levar o helicoptero RainDance do heliporto de Los Santos até o heliporto da delegacia de Las Venturas.
OBS: Essa versão é básica, pretendo fazer uma melhor futuramente porem não tenho certeza se postarei ou não, fique à vontade para editar e adaptar ao seu GameMode, qualquer duvida pergunte.
OBS2: Adiantei partes no vídeo pra não ficar muito grande, e se notarem o helicoptero e o avião perdem reflexo em 2 partes do vídeo(Desliguei a ENB Series por que ela não foi feita especialmente pro samp, a água some achei melhor desativar).




Clique aqui para fazer o download!
Créditos:Josma_CMD

07 agosto 2011

Bruno Bernardo
Bom Galera vim postar o FS.

Nome:
Sistema de Viagem 1.0

Descrição:
Um Sistema de Viagem um pouco diferente dos que tem por ai, nele tem interior, da para mudar os preços dos passaportes(somente admin's na rcon), tem passaporte para LS,SF e LV e ainda um kit que o player ganhar os 3 passaportes, Fs todo em DCMD. Para o funcionamento é necessario a criação de uma pasta com o nome Viagem na Scriptfiles.

Comandos: São : /viagem ~ /viajar (so funcionam nos aeros) ~ /aeros é um GPS

Clique aqui para fazer o download!
Créditos: [KoS]Gabriel_Duarte e [KoS]Bruno_Tadeu
Ziggaroth


Atenção : Inscrições encerradas... a partir de agora , só esperar para ver o resultado...


Bom , primeiramente sorte... Depois peço que me desculpem pelo atraso no post...

No final das contas , tivemos 6 Grupos concorrendo ao host...
Antes que me perguntem novamente , eu e o stak avaliaremos a FS e decidiremos a melhor... o grupo que não entregar adequadamente a FS no e-mail contest.homehots@gmail.com estará automaticamente desclassificado... As FS podem ser entregadas desde já e vocês têm até o dia 31 aos meio dia para entregar...

Os grupos são:

Minha MÂE MORREU [ W T F ? ]
Brasil Play Mania XD
.::MitOs:* # Team::.
Brazil United
new.pwn
SSystems

Boa sorte à Todos os grupos :)

06 agosto 2011

Vitor_Souza


Quando você faz sua doação para o Criança Esperança, seja por telefone ou pela internet, a operadora de telefonia deposita sua contribuição diretamente em uma conta da Unesco, a organização das Nações Unidas para a educação, a ciência e a cultura. 

Veja abaixo o caminho de sua doação
 Todos os anos, a Unesco abre um processo de seleção para escolher as ONGs que irão receber recursos arrecadados para desenvolver seus projetos nas áreas de desenvolvimento social, comunicação, ciências naturais, educação, cultura e abrangência nacional, durante o próximo ano.
A lista de ONGs escolhidas é divulgada pela Unesco, no site do Criança Esperança, e os responsáveis pelos projetos selecionados precisam apresentar a documentação exigida, antes que um contrato de parceria entre ONGs e Unesco seja assinado.
A partir da assinatura do contrato, a Unesco repassa uma primeira parcela de recursos para as ONGs, que antes de receberem a segunda e a terceira parcelas a que tem direito, precisam prestar contas do dinheiro recebido na parcela anterior.
Ao fim de um ano, no período de encerramento do contrato, as ONGs prestam contas à Unesco de todos os recursos recebidos.

A campanha de doação para o Criança Esperança mais tradicional, por telefone, acontece uma vez por ano. E dura, em geral, um mês. Este ano, as doações por telefone poderão ser feitas de 30 de julho e 28 de agosto. Mas você não precisa esperar as chamadas na TV para fazer sua contribuição. Durante todo ano, você pode contribuir com os projetos selecionados pela Unesco, através da internet, de mais de 20 mil casas lotéricas espalhadas pelo país, e de lojas credenciadas a receberem sua doação.  Veja como:
Pelo telefone
Até 28 de agosto, você pode fazer sua doação por telefone. Para cada valor, existe um número diferente. Confira os números para doação:
0500 2011 007 para doar R$ 7,00*
0500 2011 015 para doar R$ 15,00*
0500 2011 040 para doar R$ 40,00*
*R$ 0,39 + impostos por ligação de telefone fixo
*R$ 0,71 + impostos por ligação de telefone celular
Todo o dinheiro é depositado diretamente na conta da UNESCO e não tem dedução fiscal
Pela internet
Aqui no site, você pode doar o ano inteiro, e ainda pode escolher se quer fazer sua contribuição utilizando cartão de crédito (Visa, Mastercard, Diners e American Express), cartão de débito (Visa Electron, apenas para cartões Bradesco), débito em conta (Banco do Brasil) e boleto bancário (pagável em qualquer banco).
Clique aqui para fazer sua doação pela internet
Em casas lotéricas

Mais de 20 mil postos em todo país aceitam doações o ano inteiro, em valores que variam de R$ 5 a R$ 1 mil. Clique aqui para encontrar uma lotérica mais perto de você.
Cada doação tem um custo de R$ 0,99.
Em lojas, supermercados, farmácias, etc, onde você encontra o selo do Criança Esperança

HOMEHOTS APOIA O CRIANÇA ESPERANÇA! peça a seus pais a votarem. e ajudem que precisa!