[COD]Move Object

//Topo

new objetopawn;

//OnGameInit
objetopawn = CreateObject(ID,CORDENADAS); //De onde ele fica

ID: Id do Objeto, ou seja se for um Portao vai ser 980, e as cordenadas, mas se bem que quando você converte os objetos ja vem tudo certo, só colar ali no meio dos ( ) ..

//Command Text

if(!strcmp("/voltarparalugar", cmdtext, true, 10))
{
MoveObject(
objetopawn, CODENADAS, 2.0); //Cordenada pra onde ele fica.. 2.0 é a velocidade
}
return 1;
}

if(!strcmp("/mexerparaoutrolugar", cmdtext, true, 10))
{
MoveObject(
objetopawn, CODENADAS, 2.0); //Cordenada pra onde ele vai.. 2.0 é a velocidade
}
return 1;
}
Bom, um tutorial simples, aos poucos vou melhorar ele, pois estou sem ideias de fazer um exemplo, mas vou fazer um exemplo de um portao abrindo e fechando jaja.

[FS/COD]Anti-Bot



Galera, este codigo/fs ja esta pronto, só você colocar que ja tem todos os " nomes " de bot's que podem invadir o seu servidor..



[GM] Las Venturas Brasil [0.3b] (COMPLETO)


*~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~*

Informações:
►Este é Simplesmente o Gamemode LVB(Las Venturas Brasil) Utilizado em 2008~2009 pelo Servidor Brasil e liberado na internet sob a versão 7.0d (Bugada) após a falência do Servidor Brasil. Porém a Versão liberada foi a 7.0d (Bugada) e Antiga, pois a ultima utilizada foi a 12.0 resumo "5 Versões mais antiga e Bugada". Por ser uma versão que colocaram créditos errados etc... e que me incomodei pelos bugs e por Pirataria pois o gamemode foi liberado sem a condição (Não retire os créditos), então decidi liberar uma versão compatível com SA-MP 0.3b e com créditos e LICENCIADO. Faça bom Proveito deste Magnífico Gamemode.

Características:
►Sistema de Gangs Clássico.
►Sistema com 10 Gang Zonas Compráveis.
►Sistema de Armas Respawn em Menu.
►21 Comandos e 22 Teleportes divididos em Racer, Stunts e DM.
►Contém uma ilha com CP que da Dinheiro!
►Sistema de Salvar e Pegar Armas.
►Sistema de Recompensas (Clássico).
►Sistema de Status Killer.
►833 Objetos com Streamer.


Versão do Gamemode: v13.0
►v13.0 - Nenhum Bug Detectado

Conteúdo do Las Venturas Brasil:
►Servidor 100% Configurado pronto pra rodar!!!
►FilterScript Registro - Feito por mim
►FilterScript Lotto - Loteria traduzida por mim
►FilterScript Yrace - Criador de Corridas traduzido por mim
►FilterScript Drop - Dropa armas no chão após Morrer

Instalação:
►Basta Executar o samp-server


Downloads:
►Mirror 1:
Download (Servidor Completo)

Bugs e Melhor Script:
►Reportar Bugs encontrados e dar sugestão de melhoria de script, indicando a linha e a sugestão! Obrigado!

Atualizações:
►Este Gamemode é a Versão 12.0 Ultima utilizada convertida para 13.0 devido ao SAMP 0.3b.
►Gamemode não foi testado completamente e pode ocorrer Bugs (AVISE SE OCORRER).
►Colabore reportando bugs e dicas de melhor script. Obrigado!


*~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~* *~*~**~*~**~*~**~*~**~*~**~*~*~*~**~*~*~*~*
Licença: Este Gamemode é Licenciado e todos direitos Autorais aos seus desenvolvedores, Retirar os créditos deste Gamemode é CRIME.
"A presente obra encontra-se licenciada sob a licença Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported. "


Me dei o trabalho de licenciar este trabalho para se ouver pirataria eu ter a quem recorrer pois a obra foi licenciada.
Se você é scripter e quer acabar com a pirataria no sa-mp acesse
http://creativecommons.org e licencie seu trabalho =D.
*~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~* *~*~**~*~**~*~**~*~**~*~**~*~*~*~**~*~*~*~*
Créditos:
►Programado POR: [GangstA]Kasura.
►Stunts POR: Kaike e Devil.
►Sistema de GZs POR: BcO e BnO.
►Agradecimento A: Flavio Toribio.

►Postado por GTA
*~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~**~*~* *~*~**~*~**~*~**~*~**~*~**~*~*~*~**~*~*~*~*

Mudanças no Blog.




Opa, como vocês podem ver, o blog esta tendo mudanças, começando pelo Template, agora vamos ter o " Servidor da semana " toda semana vamos escolher um Servidor, que tenha um bom Game Mode, e deixar o IP aqui.

Vamos mudar o nosso estilo de postagem, vamos deixar a postagem melhor pra vocês

[COD/TUT]Chat Admin/Vip



Opa galera, vou postar agora um codigo para você fazer um Chat Admin, um código bem simples.
Ai você muda pra variavel de Admin que você usa.
No caso esta assim, por que é a forma que eu uso.
Entao você pode mudar para a sua variável.
Somente os admins poderão ver este Chat!


[TUT/FS]Carros ( Completo )

Criando Carros ( Completo )

Topo do GM/FS

new CarrosPs[MAX_PLAYERS];

public OnPlayerCommandText

if (strcmp(cmdtext, "/carros", true) == 0)
{
ShowPlayerDialog(playerid,158,DIALOG_STYLE_LIST,"Pegar carros","\nElegy\nNRG-500","Ok","Sair");
return 1;
}

public OnDialogResponse

if(dialogid == 158)
{
if(response)
{
if(listitem == 0)
{
if(CarrosPs[playerid] != INVALID_VEHICLE_ID)
DestroyVehicle(CarrosPs[playerid]);
new Float:X,Float:Y,Float:Z,Float:Angle;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
GetPlayerVehicleID(playerid);
CarrosPs[playerid] = CreateVehicle(562,X,Y,Z,Angle,-1,-1,600);
PutPlayerInVehicle(playerid, CarrosPs[playerid], 0);
}
}
if(listitem == 1)
{
if(CarrosPs[playerid] != INVALID_VEHICLE_ID)
DestroyVehicle(CarrosPs[playerid]);
new Float:X,Float:Y,Float:Z,Float:Angle;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
GetPlayerVehicleID(playerid);
CarrosPs[playerid] = CreateVehicle(522,X,Y,Z,Angle,-1,-1,600);
PutPlayerInVehicle(playerid, CarrosPs[playerid], 0);
}
}


public OnPlayerExitVehicle

SetTimerEx("psDestroyVehicle", 20000, 0, "i", vehicleid);

Final do GM/FS

forward psDestroyVehicle(vehicleid);
public psDestroyVehicle(vehicleid)
{
return DestroyVehicle(vehicleid);
}

Assim, quando o player criar um carro, e tentar criar outro, o outro carro ira sumir, e iria ficar com o novo carro..

Se o player sair do carro, e ficar 20 segundos fora, o carro vai desaparecer.. Isto é bom para que se o player sair do Servidor, ai o carro ira sumir.

PS : PawnSamp

Ai você pode mudar a id dos veiculos, adicionar/remover veiculos e enfim..


By: GTA

[TUT] Algumas Funções de String

Introdução
Bem neste Tutorial Ensinarei como usar 'Strfind' usada para pesquisar uma String em outras String Veja um Exemplo:

if(strfind("Nossa String", "Nossa", true) != -1)
{
SendClientMessageToAll(0xFFFFFFFF, "Eu Encontrei a Palavra Nossa...");
}
EXPLICAÇÃO:

if( = Nesta Condicional colocaremos a 'strfind' no qual executará a função de buscar o texto
strfind("Nossa String", "Nossa", true) = Agora ele procura a Palavra 'Nossa' na Frase 'Nossa String' e retorna true) != -1) = Indicando 'Verdadeiro' (true) isto é, se encontrou a Palavra

O Mesmo podemos usar em diversas funções tais como GetPlayerName

public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME], string[44];
0, 0);">(playerid, name, sizeof(name));
if(strfind(name, "gay", true) != -1)
{
format(string, sizeof(string), " Oi%s no seu Nick tem a palavra gay kkkkkkkkk .",name);
SendClientMessageToAll(0xFFFF00AA, string);
}
return 1;
}
Ou Até mesmo procurar palavrões (palavras de baixo calão) em texto..

[TUT] strcmp
Introdução
Bem neste Tutorial Ensinarei como usar 'strcmp' usada para comparar uma String em outra String,bastante usada para comandos..
Veja um Exemplo:
if(!strcmp("Dracu", "DraKoN", true, 6)
{
SendClientMessageToAll(0xFFFFFFFF, "Você não é o DraKoN");
}
EXPLICAÇÃO:

if( = Nesta Condicional colocaremos a 'strcmp' no qual executará a função de comparar os 2 (dois) textos
strcmp("Dracu", "DraKoN" = Agora ele comparar a Palavra 'DraCu' com a 'DraKoN' e retorna diferente de true Indicando 'Falso' (Falso) isto é, se é diferente de DraKoN
3 = Esse 3 (Três) é usado para colocar o tamanho da segunda String (DraKoN)
também como algumas pessoas conhecem por Strlen que veremos Logo Abaixo

O Mesmo podemos usar em diversas funções tais como cmdtext

public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/me", true, 3))
{
if(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, "USE: /me [acao]");
new str[128];
GetPlayerName(playerid, str, sizeof(str));
format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
SendClientMessageToAll(0xFFFF00AA, str);
return 1;
}
return 0;
}
Ou Até mesmo comparar diversas coisas..

[TUT] Strdel

Introdução:
Nesta parte de vosso tutorial vamos aprender como usar Strdel usado para deletar partes de uma String..

Vejamos que nossa String Seja:

new string[20] = "Esta é Nossa String";
20 É O Tamanho de nossa String que seria o Vosso Texto

strdel(string, 0,7);
EXPLICANDO:

strdel(string = Esta Parte Indica que Deletaremos a 'String' que definimos anteriormente
0, 7) = Esta parte indica onde iremos começar a deletar e onde terminaremos de deletar, observe que ficou da Seguinte Maneira (0-7)

Esta é Nossa String
Istó é, a parte vermelha (0-7) deletamos ficando 'Nossa String'

Aqui Usando um Conjutno de strfind + strdel

new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
new
startpos = strfind(name, "[", true),
endpos = strfind(name, "]", true);
if(startpos != -1 && endpos != -1)
{
strdel(name, startpos, endpos + 1);
if(name[0])
{
SetPlayerName(playerid, name);
new string[128];
format(string, sizeof(string), "| Seu Nick Foi mudado para '%s', devido o conflito de clans ou suspeita de Fake Tag", name);
SendClientMessage(playerid,0x7777FF,string);
}
}

[TUT] Strlen
Introdução:
Pois bem chegando a nossa Última função vou explicar um pouco melhor sobre isto, vejam strlen é usada para Retornar um Tamanho de uma String
Digamos:
'Eu Sou o DraKoN'
Contando o número dessa frase obtivemos 16 Caracteres ( ou to mal de conta -q)
Para usar com strlen podemos usar da seguinte forma:
Em OnPlayerText

if(strlen(text) > 100) return SendClientMessage(playerid, COLOR_GREY, "Seu Texto tem mais que 100 Caracters")
EXPLICANDO:
if Condicional 'SE'
strlen(text) Lê o tamanho do Texto
> 100 Se for maior que 100 Envia Mensagem Indicando

Otimizar o Código sem precisar usar funções de Strings

// Essa forma de função é mais otimizada por não chamar nenhum função,além de poder ser usada como STRFIND,STRCMP, e ainda STRLEN em certas formas

/* EXAMPLE */

if(text[0] == ' ')// Seu Texto não tem Caracteres (strlen)
if(text[0] == 'A')//Seu texto tem "A"
Bom chegamos ao fim de mais um Tutorial,aqui algumas funções de string também usadas

Strcmp: Compare two strings to check if they are the same. Strfind: Search for a string in a string. Strtok: Get the next word/parameter in a string. Strdel: Delete part of a string. Strins: Insert text into a string. Strmid: Extract part of a string into another string. Strpack: Pack a string into a destination. Strval: Convert a string into an integer. Strcat: Concatenate two strings into a destination reference.
Tutorial Criador por DraKoN, Agradecimento a Dark Team PT & Flávio Toribio

Anti Money Hack Avançado

Introdução:
Bom estava vendo que o Sub Zero criou um Anti Money Hack (muito bom)
porém percebi que ao ir nas
Ammu-Nations ele acaba por não descontar a Arma (Very Bug)
Como ele queria uma certa 'competividade'
Inicialmente eu Iria Vender,mais acho que não faz parte de minha política digamos..


Vantagens:

As Vantagens são Imensa além de ele conter um avançado sistema de Log e Leitura para os Últimos Suspeito de Money Hack.
Ele tem o sistema de Aviso e mais sistema de limites para a Tentativas,caso passe o limite de tentativas ele Aplica o Ban no sujeito,claro avisando a Administração e tudo
Só lembrando,esse não tem Bug da Ammu-Nations e Similares... (Desabilitam Stunts)

Uso:
Simplesmente coloquem em OnGameModeInit:

pawn Code:
MoneyHack();

E Substituiam
GivePlayerCash em vez de GivePlayerMoney && GetPlayerCash em vez de GetPlayerMoney
Arrumem:
pawn Code:
#define SLOTS (500)

#define MAX_MONEY 99999999
#define MAX_AVISOS_HACK 3
Para o Numero desejado

Download:

http://pastebin.com/ZKDPSqNX

Se não funcionar favor me avisar por privada que arrumarei..



[INFO] Pesquisa Sobre os Hosts

Host:
Bom Nossa equipe resolveu fazer um pesquisa sobre os Host mais usados e muito conhecidos do Brasil para SA:MP,dentre eles foram citados os seguintes

Insanity Host
InovaGames
Brasil Hud Games
Fun Life Server

Bom claro que existe mais Host
Porém vamos citar por partes

Valores:

Bom como qualquer Host que todos desejam,primeiramente nessecita ser barato, entre os 4 (quatro) host escolhido o mais barato e com qualidade foi Brasil Hud Games que é um Host Novo em segundo Lugar o host Fun Life Server..
A DataBase desses dedicados encontram-se atualmente localizadas no EUA (Estados Unidos da America), por momento o Host brasil Hud Games,está sendo hospedado por lá por problemas atuais no Hardware das Maquinas,logo volta com o Valor Normal e o Ping,enquanto ao Fun Life Server sempre teve essa taxa de Valor e Serviços é bastante útil para quem tem servidores de 4FUN | STUNTS..

Host : Brasil Hud Games
Valor: 15$
Serviços: 8.7
Ping: 250ms

Host: Fun Life Server
Valor: 5$ a 50$
Serviços: 9
Ping: 250ms

Obs: A Taxa de Slots desses 2 (dois) host é Valor Ilimitado


Conexão:
Bom os host que considero de conexão realmente boa são Insanity Host & InovaGames, que tem a melhor taxa de conexão,visando no Ping & Conexão instavel o dois são os melhores do Brasil chegando a um Resultado de 30-100 Ping, Confira:

-----Host----- ----Ping----
InovaGames 30-80
InsanityHost 40-90

Atendimento:
Bom visando na melhor pesquisa resolvi testar os 4 (três) host obtendo um boa reputação exceto Insanity Host que tem péssimo atendimento quando se trata de Suporte

InovaGames (Antiga Invision Games):
Bom vendo os teste vimos que a InovaGames tem o atendimento muito bom e superior,bom português, falam com calma além de ter um bom horário para atendimento,Nota 9

Insanity Host:
Bom essa empresa foi muito boa no Português,ótimo horário de atendimento exceto alguns momento que pedimos suporte e acaba ficando sempre para depois então a Nota Fica 7

Fun Life Server:
Essa empresa foi a menos estudada porém pelo que vimos tem ótimo suporte superando todas a outras concorrências tem uma boa reputação diante da outras exceto alguns erros que ocorrem com a empressa referente ao ping (não são realmente erros)
Nota 8

BrasilHudGames:
O Atendimento dessa empresa é excelente quando se trata de Suporte e Informações,é um host novo da área parece estar ganhando muita reputação conforme o tempo mesmo assim tem muito que melhorar,Nota 9

Conclusão Final:
Bom entre as melhores empresas não foi fácil achar a melhores entre essas três mesmo assim revisando todo o processo vimos que algumas empresas tem que outras não tem e assim vai então chegamos a conclusão final.

Brasil Hud Games NOTA 8.0
Inova Games NOTA 8.5
Fun Life Server NOTA 7.5
Insanity Host NOTA 7.0

Espero que tenham gostado da nossa pesquisa para mais informações poste um comentario abaixo ´podendo pedir o Contato da Empresa Deseja ou também um pedido para fazer-mos e pesquisa sobre a tal empresa

Obrigado.

TUT] Sistema de Gangs (/gang criar)


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 Code:
#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 Code:
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 Code:
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 Code:
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 Code:
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 Code:
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 Code:
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 Code:
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 Code:
ler_nome(GetPlayerTeam(playerid));//Lê o nome da gang em arquivo

Agora Vamos Criar o
Chat da Gang:


pawn Code:
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 Code:
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 Code:
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:

http://forum.sa-mp.com/showthread.php?t=143646

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