CHAT MAIOR
Mostrando postagens com marcador Tutoriais Pawn. Mostrar todas as postagens
Mostrando postagens com marcador Tutoriais Pawn. Mostrar todas as postagens

24 de out. de 2011

[Código]: Sistema de tutorial Otimizado

Olá novamente.
como eu já ví muitas dúvidas sobre Sistemas de tutoriais,
resolvi criar o meu.
é bem simples.
é só botar "IniciarTutorial(playerid, 0);" para iniciar o tutorial.

Download
- Pastebin

7 de out. de 2011

[Código] Realizar Debug no GameMode Facilmente.

Introdução:
Olá galerainha,
hoje ensinarei como realizar Debug  com muita facilidade em
seu game mode.
Com esta ferramenta, você irá descobrir oque você tem em seu servidor.

Tutorial
- Coloque a Função ExibeDebug() no final do Gamemode.
- Depois coloque ExibeDebug(); No final do OnGameModeInit
- ligue normalmente o servidor que ele automaticamente aparecerá o debug.

Créditos:
- [iPs]SuYaNw

Download
- Pastebin

23 de ago. de 2011

[TUT/COD] OnPlayerUpdate Debug

Este código mostra a quantidade de chamadas que a callback OnPlayerUpdate executa por segundo.
Fiz este código devido as enormes discussões de alguns fóruns sobre o uso da mesma ou não uso.


Enfim, OnPlayerUpdate em LOCAL HOST (MEU COMPUTADOR, CLIENTE == SERVIDOR) tem a chamada de 20 ms a 500 ms (podendo variar para mais ou menos), dependendo da taxa de movimento e atualização do jogador,  no caso de jogador em pause,está mesma será PRATICAMENTE NULA, importante.


OnPlayerUpdate será chamada no mínimo 20 ms, isto porque para o servidor enviar os dados para o cliente e receber os mesmos isto demoraria mais ou menos 20 milissegundos, isto dependendo da conexão, quando melhor a latência do servidor e do cliente mais vezes será chamada a OnPlayerUpdate, mas enfatizando que RARAMENTE isto ficaria abaixo de 20 milissegundos.


Logo é MUITO viável usar OnPlayerUpdate em muitos casos, devido sua eficiência em atualizar as informações em apenas jogadores que não estejam pausados ou parados por um certo tempo, claro que devemos lembrar que é arriscado usar OnPlayerUpdate em determinados scripts, como por exemplo colocar-mos um anti hack, um jogador com ping alto simplesmente demoraria para atualizar, podendo fazer zona por vários segundos até o OnPlayerUpdate ser chamado novamente.


Mas jamais, poderá ocorrer algum lag excessivo devido a quantidade de chamadas nesta CallBack, até porque caso der lag, o ping dos jogadores aumentaram, logo a callback será chamada menos vezes (mas também não vão sair colocando tudo em onplayeupdate, haha)


Carreguem este filterscript e testem:
http://pastebin.com/7b6Mm0En

Abraços

6 de ago. de 2011

[INFO] Imagens em TextDraw


Ontem pela tarde o usuário gamer93 postou um aplicativo que convertia Imagens para TextDraw, feito através dos pixels.

Achei muito interessante e ideia dele e resolvi tentar fazer meu próprio online para colocar no site de bugigangas da iPs


Então este é o site:
http://ips-team.webcindario.com/textdraw.php

Lembrando que tem que cuidar com tamanho da imagem, porque quanto maior a imagem mais pixels ela terá, posteriormente maior a variável.

Explica
Portanto, deixei o limite de 150 x 150.
Vocês podem mudar o carácter da imagem, pois ao fazer o script temos o seguinte:

#define PIXEL_PONTO .
#define MAX_DRAWS 2048
#define TELA_X 09
#define TELA_Y 09


PIXEL_PONTO será o carácter que usamos como pixel (no caso estou utilizando o ponto final)
MAX_DRAWS será o máximo de quadradinhos (pixels) da imagem, digamos que ela tenha 10 x 10, logo terá 100 quadradinhos.

TELA X e TELA Y será a posição em que a imagem ficará na tela.

Uso
Basta ir no link que passei acima, escolher a imagem em formato png e enviar para o servidor, ele lerá a imagem e transformará em Text Draw com o código em Filterscript.

Print Screen



Claro que não fica perfeito, isto é apenas um exemplo.

A página ainda não foi totalmente finalizada. Só peço que não abusem da página, é possível que tenha bugs que possam comprometer a hospedagem.

Espero que gostem do sistema, abraços galera do mal.

(Código do Trollzin = http://pastebin.com/BujhMC1g)

4 de ago. de 2011

[TUT][Pawn] Laço For

Não haviam tutoriais recentes sobre este tipo de laço (loop), então resolvi criar.

Primeiramente vou explicar uma breve introdução sobre o laço.

Basicamente Loops são códigos que executam de forma continua um código enquanto a condição contida dentro dele for verdadeira (brevemente explicarei)

O laço for utiliza três parâmetros simples

for( inicialização; condição; execução )

Inicialização:
Na inicialização como o próprio nome diz é usado para colocar algo quando o loop inicia, lembrando que só será executado uma vez logo na sua inicialização (antes de tudo ser executado)
Na inicialização você pode colocar a declaração de uma variável que será usada no laço atual (loops for precisam de condição, para poder tornar está condição falsa será necessário uma condição falsa para poder parar o loop atual, caso contrário ele ficará um loop infinito, por isto aconselho usar variáveis logo que são de fácil manipulação do loop atual (para-lo quando a variável ter um determinado valor por exemplo))

Condição:
Na condição deverá conter uma condicional para poder continuar o loop, caso a condição for vedadeira o loop continua com a execução, caso for falsa o loop irá parar.

Execução:
Na execução deverá conter o código ao executar o loop, o mesmo pode ser colocado colchetes para executar o código contido dentro deles ou simplesmente colocar o código separado por virgulas (mas não funcionará com todo código que colocar, rs)

Aqui vai um exemplo de um loop bem simples:
for(new i ; i != 5; i++)

Basicamente este código fará isto:

Para(iniciar variavel i ; enquanto i diferente de 5; adicionar mais um no i)

Lembrando que quando terminar a execução o código voltará para condição, caso a condição for verdadeira passa para execução, assim nesta sequência até a condição for falsa e assim posteriormente parar o nosso loop.

O Loop for pode ser utilizado em muitos casos como uma forma de resumo do código utilizando o próprio valor de uma variável.

Exemplo:
Digamos que eu tenha o código:
print(" Oi Parte 1 ");
print(" Oi Parte 2 ");
print(" Oi Parte 3 ");

Utilizando for podemos fazer isto assim:
for(new i; i < 4; i++)
{
printf(" Oi Parte %d ", i);
}
Existem outras formas que podem ser utilizada o laço, anulando um de seus parâmetros ou mais, por exemplo:
new i = 0;
for( ; i != 5; ) i++;

Também existem outras formas de controlar os loops, por exemplo usando as instruções break e continue.

Espero que tenham gostado do tutorial, qualquer erro avisem em algum post aqui mesmo.

Criador: Bruno da Silva

29 de jul. de 2011

[Logica][Pawn] SetarDinheiro (usando define)

110(100 + 10) - 100(o dinheiro que tinha antes) = 10
Aqui vou explicar uma coisa sobre a qual muitos membros do fórum samp disseram que não funcionava, e usando a lógica eu expliquei aos próprios como funcionava.
o código foi feito pelo bruno da silva (Drakins)
, eu apenas fiz as explicações.
#define SetarGrana(%0, %1) GivePlayerMoney(%0, %1 - GetPlayerMoney(%0))

Se ele setar um saldo pequeno(ex: 10) e tiver um saldo maior que isso(ex: 100) não irá ficar com grana negativa?
Não, por este código que irei usar a baixo:
public OnPlayerConnect(playerid)
return GivePlayerMoney(playerid, 10);
A grana do jogador irá ficar = R$100.
Agora, vamos fazer um comando para setar a grana do jogador para R$10
e irei explicar porque não irá ficar com saldo negativo.

CMD:setardinheiro(playerid, params[])
return SetarDinheiro(playerid, 10);
O dinheiro do jogador foi setado para = R$10.

GivePlayerMoney(%0, %1 - GetPlayerMoney(%0))

%0 - jogador
%1 - quantia

Irá dar a quantia de R$10 - GetPlayerMoney(playerid).
Por isso ao dar R$10 se o jogador já tinha os R$100 (que foi dado no OnPlayerConnect), irá funcionar nisto:
100(atual) + 10(comando) = 110
Agora a função: - GetPlayerMoney(playerid), vai retirar ao jogador o dinheiro que ele tinha antes (R$100), fazendo isto:
110(100 + 10) - 100(o dinheiro que tinha antes) = 10
E o jogador irá ficar apenas com R$10 (:

Dúvidas? Comentem.

9 de jun. de 2011

[COD] IsNumeric Pawn

Olá,
Garfield fez este IsNumeric para seu gamemode,
Eu apenas alterei umas coisas


Esperamos que gostem

[iPs]Garfield e [iPs]DraKiNs

25 de mai. de 2011

[PROJETO] Auto Tabulador/Indentador de código

Parecido com a ferramenta de Draco Blue este sistema feito por mim em PHP faz uma simples indentação no seu código (aceitando códigos grandes).´
É bem simples de usar, acesse o site:

Cole seu código e clique em tabular, aguarde o processo ser terminado ...
Bom para quem está cansado dos loose indentations ..

É um projeto Beta, é possível que tenha alguns bugs, no entanto funcional de forma geral.

Espero que gostem galera.
Abraços

~DraKiNs

16 de out. de 2010

[TUT]Sistema AFK Simples


if(strcmp(cmdtext,"/entrar-afk",true) == 0)
{
TogglePlayerControllable(playerid, 0);
return 1;
}

if(strcmp(cmdtext,"/sair-afk",true) == 0)
{
TogglePlayerControllable(playerid, 1);
return 1;
}

TogglePlayerControllable = Altera o controle do Player.
Playerid = Para dizer que a função deve ser usada para o player que digitou o comando.

1 = True = Ativo.
0 = False = Desativo.

Você pode adicionar algo como:
if(strcmp(cmdtext,"/afk",true) == 0)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFAA, "Você esta AFK");
return 1;
}

if(strcmp(cmdtext,"/sair-afk",true) == 0)
{
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, 0xFFFFFFAA, "Você não esta mais AFK");
return 1;
}
Playerid = Para dizer que a função deve ser usada para o player que digitou o comando.
SendClientMessage = Envia Mensagem apenas para o Player.

Assim você pode ir adicionando o que você quiser, como TextDraw's e etc.

Obrigado.

By [FeK]GTA