SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.


2 resultados encontrados para else

[Tutorial] Oque você precisa saber sobre PAWN - Qua 10 maio 2023 - 8:19

O que você precisa saber sobre PAWN





Introdução :
Bom, eu desenvolvi este tutorial com os erros mais comuns entre os novos,
não apenas erros e sim dicas para quem quer começar a programar ou está
aprendendo mais que está encontrando muitas dificuldades.

Pois bem, quem vem na programação, não tem a mínima ideia do que é
objetos, variáveis, arrays, tabulação, conexão e como funciona o PAWN.
Com o passar do tempo você vai aprender muitas coisas, além de saber muitas
coisas que podem ser aplicadas na vida real.

Este tutorial serб aplicado para explicaзгo bбsica sobre programaзгo,
por isto dъvidas avulsas de outros sistemas/includes nгo serгo
respondidos neste tуpico. o tutorial também será dividido em duas partes,
a parte da explicação e a segunda parte é como manipular.

Primeiro de tudo você tem que saber que '//' ou '/* */' são comentários, por isto
eles são ignorados pelo compilador.

Os assuntos considerados neste tуpico serгo:
- Diretivas;
- Variáveis;
- Constantes;
- Enumeradores;

- Arrays
- Funções;
- Chamadas de retorno;
- Expressões;
- Loopings.


D iretivas:
Vamos começar o tutorial falando sobre diretivas, oque só, qual sua função e
como usá-las.

Bom como diretivas são funções específicas do compilador pawno.exe, elas são
para você criar configurações que não serão enviadas ao AMX, ou seja, são
apenas definições, segue o exemplo:

Diretiva: #Include
Esta diretiva é a mais importante de todas, ela que carrega scripts externos
e transforma-o em um, é muito boa para você ogranizar seu gamemode.

Ela é muito usada para carregar inclusões, como:
Código do peão:

Código:
#include <a_samp>


No caso de incluirmos a biblioteca a_samp no nosso script,
somente lembrando para nуs incluir uma biblioteca ela deve estar
na pasta "Includes" e com extensгo .inc, a pasta includes fica
na mesma pasta em que o PAWNO se encontrar.


Diretiva: #define
No seu cуdigo PAWN:
Código do peão:

Código:
[size=14][size=13]#define Vermelho 0xFF0000FF
 SendClientMessageToAll ( Vermelho, "Esta é uma frase em vermelho" ) ;[/size][/size]


[center][size=14]Depois de compilar, seria a mesma coisa que:[/size][/center]
[size=14]Código do peão:
[size=13]SendClientMessageToAll ( 0xFF0000FF, "Esta é uma frase em vermelho" ) ;[/size][/size]



Então, você pode notar que em questão de velocidade in-game tem
diferença nenhuma, pois os dois cudigos acima são exatamente a
mesma coisa, somente que o compilador
troca "Vermelho" para "0xFF0000FF".

Para entender:
Código do peão:

Código:
#define APELIDO SIGNIFICADO



Resumindo, as Diretivas são funções do COMPILADOR e não refletem
no in-game, agora que você já sabe que as definições são apenas "Apelidos"
que o peão troca pelo significado.


Agora vamos aprender sobre as principais diretivas do pawno, também
vou mostrar exemplos,

Diretiva #if,
Bom, esta diretiva é muito usada quando queremos comparar uma definição,
ou melhor dizendo um "Apelido", com ela podemos fazer facilmente um código
de configuração, veja o exemplo:

criamos uma definição:
Código do peão:

Código:
#define ATIVAR_MENSAGEM true// podemos considerar que 'true' é sim 'false' é nгo.




Depois da definição, iremos fazer a condição, da qual verificaremos se
a mensagem está transmitida:
Código do peão:

Código:
#if ATIVAR_MENSAGEM == true // Verificamos que "ATIVAR_MENSAGEM" Está exatamente igual há 'true'.
printf ( "Mensagem ativada" ) ;
#endif // note que esta diretiva é essencial para compilar, pois ela é que termina a condição acima, caso não tenha ela, apareçam erros.



Você tem que saber que se trocarmos a definição por esta:
Código do peão:

Código:
#define ATIVAR_MENSAGEM false// podemos considerar que 'true' é sim 'false' é nгo.



A condição será ignorada, e não irá imprimir mensagem no console.

Quando falamos em "Condicionamento" logos pensando em "Comparação", e
no pawno tem vários modos de comparar valores, vamos ver os
"Operadores de comparação", os operadores são símbolos que especificam com
precisão ou valor da definição.

Operador: < (Menor que), no exemplo abaixo você pode notar que ele está
verificando
se 20 for menor que ATIVAR_MENSAGEM
Código do peão:

Código:
#if ATIVAR_MENSAGEM < 20




Operador: > (Maior que), este operador é usado para comparar valores sendo maior que ele,
como no exemplo abaixo, ele verifica se a definição ATIVAR_MENSAGEM é maior que 20:
Código do peão:

Código:
#if ATIVAR_MENSAGEM > 20



Operador: <= (Menor ou igual que), este é basicamente um dos mais fбceis de todos, ele
compara se a definiзгo й menor OU igual hб 20.
Código do peão:

Código:
#if ATIVAR_MENSAGEM <= 20



Operador: >= (Maior ou Igual que), este é parecido com o decimal, a única diferença é que
ele verifica se a definição é maior ou igual há 20:
Código do peão:

Código:
#if ATIVAR_MENSAGEM >= 20



Operador: != (Diferente de), este operador é muito fácil de usar, ele verifica se a definição
é diferente de 20:
Código do peão:

Código:
#if ATIVAR_MENSAGEM != 20



Bom, a saga de operadores de definição são essas, lembrando que esses são as definições básicas
, agora vou explicar algumas funções extras das instruções :


Código do peão:

Código:
#if definido ATIVAR_MENSAGEM
printf ( "Foi definido ATIVAR_MENSAGEM" ) ;
#endif

#if !defined ATIVAR_MENSAGEM
printf ( "Não foi definido ATIVAR_MENSAGEM" ) ;
#fim se



Note que para nуs comparar se definiзгo nгo foi definidoй sу botar ! antes do "definido".


Diretiva: #else
A diretiva #else é utilizda como com a tradução simples "se não",
Código do peão:

Código:
#if definido ATIVAR_MENSAGEM // verificamos se ATIVAR_MENSAGEM está definido

[size=13]


[/size]
Código:
printf ( "Foi definido ATIVAR_MENSAGEM" ) ; // imprimimos a mensagem

#else // caso nгo for definido a ATIVAR_MENSAGEM

printf ( "Nгo foi definido ATIVAR_MENSAGEM" ) ; // imprimimos outra imagem

#endif // fim



Lembrando apenas que ela só pode ser utilizada uma vez dentro de uma condição.



Diretiva:#undef
Esta diretiva sу tem uma funзгo, ela remove uma definiзгo, veja no exemplo:
Código do peão:

Código:
#define ATIVAR_MENSAGENS 50 // definimos o valor de ATIVAR_MENSAGENS para 50
#undef ATIVAR_MENSAGENS // removemos a definição
#define ATIVAR_MENSAGENS 60 // definimos novamente com o valor 60




Cuidado!
Você não pode definir duas vezes com o mesmo nome:
Código do peão:

Código:
#define ATIVAR_MENSAGENS
#define ATIVAR_MENSAGENS



O aparecerб um erro dizendo que jб estб definido.

Você também pode definir ela mesmo:
Código do peão:

Código:
#define ATIVAR_MENSAGENS ATIVAR_MENSAGENS



O compilador simplismente irá trabalhar.

[size=24]Variáveis :[/size]
Variáveis ​​nada mais são doque "midia de armazenamento" ou seja, elas podem armazenar
qualquer valor, des-de que os valores sejam maiores ou menores que 0, ao criar-las elas
terrão o valor 0 automaticamente.

Para testar
Código do peão:

Código:
novo MinhaVariavel;
printf ( "Valor de MinhaVariavel © :%d" , MinhaVariavel ) ;



Para modificar o valor, precisamos saber como manipular variáveis:


Operador/ExpressãoSignificado
+=Adiciona uma valor hà nossa variável
-=Remover um vaor há nossa variável
*=Multiplica um valor há nossa variável
/=Divide um valor da nossa variável
=Setamos um valor há nossa variável
%Resto da divisão, é usado quando a divisão não é exata.


Depois que você ver como modificar os valores, vamos aplicar:
Código do peão:

Código:
[size=14][size=13]novo MinhaVariavel;
MinhaVariavel +=  10 ; // botamos
printf ( "Valor de MinhaVariavel © :%d" , MinhaVariavel ) ; // Imprime 10 sem console.
MinhaVariavel -=  5 ; // removemos 5 da variável "MinhaVariavel"
printf ( "Valor de MinhaVariavel © :%d" , MinhaVariavel ) ; // Imprime 5 sem console.
MinhaVariavel *=  2 ;
printf ( "Valor de MinhaVariavel © :%d" , MinhaVariavel ) ; // Imprime 10 sem console.
MinhaVariavel /=  2 ;
printf ( "Valor de MinhaVariavel © :%d" , MinhaVariavel ) ; // Imprime 5 sem console.
MinhaVariavel =  59 ;
printf ( "Valor de MinhaVariavel dividido por 8 resto da divisao é %d" , MinhaVariavel %  59 ) ; // Imprime 8 sem console.[/size][/size]



Sу lembrando que uma variбvel sу pode armazenar UM valor, e tambйm armazenar
um id, como por exemplo, veiculo:
Código do peão:

Código:
novo MinhaVariavel;
MinhaVariavel = CreateVehicle ( 522 , 5457.47 , 567.788 , 0.0 , - 1 , - 1 , 9 ) ;
printf ( "ID do carro é %d" , MinhaVariavel ) ;



Tudo se resume que variável armazena um valor, podendo ser objeto ou não.

[size=24]C onstantes:[/size]
Constantes são um tipo de variável que ficam constantemente no mesmo valor, ou seja,
é como se fosse uma definição.
Código do peão:

Código:
const MinhaConstante =  500 ; // vemos que a constante tem o valor 500
printf ( "Valor: %d" , MinhaConstante ) ;



Aparecerá:
Código:

Código:
Valor: 500



Atenção:
Com constantes nгo é possível modificar o valor dela:
Código do peão:

Código:
const MinhaConstante =  500 ; // vemos que a constante tem o valor 500
printf ( "Valor: %d" , MinhaConstante ) ;
MinhaConstante =  500 ; // ERRO



Pois são pré-definidas.

Constantes sу podem armazenar valores inteiros, nгo podendo
Armazenar nъmeros flutuantes(floats).


[size=24]E numeradores:[/size]
Enumeradores são um tipo de organização de array, nela são
armazenados valores que podem ser chamados a qualquer instante, veja:
Código do peão:

Código:
enum MeuEnumerador /  * Iniciamos nosso enumerador com o nome "Meu enumerador"
{
     Nivel
    // Aqui dentro inserimos as "Tags" que serão armazenados os valores
} ; // Concluímos nosso enumerador, agora vamos utilizá-lo em nosso array.

novo PlayerInfo [ MAX_PLAYERS ]  [ MeuEnumerador ] ; // Agora criamos um array com o nome "PlayerInfo", coma a dimensão "MAX_PLAYERS" e utilizamos as TAGs do enumerador "MeuEnumerador".



Pronto!, estrutura de enumerador formada, agora é só usar:
Código do peão:

Código:
PlayerInfo [ playerid ] [ nível ]  =  50 ;



Indicamos a array "PlayerInfo" da dimensгo "playerid" que o valor do "Nivel" dele é 50.

Ao usar uma tag inexistente no enumerador o PAWNO resultará em um erro, entгo mantendo
botar nome de tags fбceis de lembrar para nгo se esquecer rapidamente = )


[size=24]A rrays:[/size]
Bom, este assunto é muito importante, pos você irá utilizar na maioria dos seus códigos,
uma dica que dou é sempre contar células precisamente ou criar uma Variável Gobal ,
com uma pré-definição de string, normalemnte usando 128, pois este é o máximo de texto,

Mais vamos há explicação:

As arrays são multivariáveis, com ela podem ser armazenadas vários valores diferentes,
similar a uma variável normal que só pode armazenar um valor simultaneamente.

Criamos um array normal contendo 5 células:
Código do peão:

Código:
novo MinhaArray [  5  ] ;




Seria a mesma coisa que:
Código do peão:

Código:
novo MinhaArray0;
novo MinhaArray1;
novo MinhaArray2;
novo MinhaArray3;
novo MinhaArray4;



Nota-se que só é usado no 4, pois o mesmo é contado do 0,


Voltando para o assunto Array, cada valor pode ser armazenado em uma célula,
só lembrando que a célula no que está entre colchetes "[" & "]".

Como nosso exemplo, criamos um array com 5 células:
Código do peão:

Código:
novo MinhaArray [ 5 ] ;




Para modificar os valores dos mesmos:
Código do peão:

Código:
MinhaArray [ 0 ]  +=   50 ; // Incrementa a "MinhaArray" célula "0" ou valor "50".



Para exibimos:
Código do peão:

Código:
printf ( "MinhaArray[0] Valor: %d Célula: 0" , MinhaArray [ 0 ] ) ;



Sу lembrando que temos mais 4 cйlulas livres,
Código do peão:

Código:
new MinhaArray [ 5 ]   =  {
    50 ,     // Célula 0
    0 ,   // Célula 1
    0 ,      // Célula 2
    0 ,      // Célula 3
    0        // Célula 4
} ;



Como pode ver, a apresentação da estrutura, os valores que estão "0" são representados
por valores não utilizados.


Nota(s):
As arrays sу sгo no mбximo tridimensional, que sгo 3 dimensхes em uma array sу.

Exemplo de matriz tridimensional:
Código do peão:

Código:
novo MinhaArray [ 1 ] [ 20 ] [ 40 ] ;



Manipulando:
Código do peão:

Código:
MinhaArray [ 1 ] [ 0 ] [ 0 ]  =  10 ;
MinhaArray [ 1 ] [ 0 ] [ 1 ]  =  50 ;
MinhaArray [ 1 ] [ 1 ] [ 25 ]  =  30 ;



Mostrando:
Código do peão:

Código:
printf ( "%d |%d | %d | " , MinhaArray [ 1 ] [ 0 ] [ 0 ] , MinhaArray [ 1 ] [ 0 ] [ 1 ] , MinhaArray [ 1 ] [ 1 ] [ 25 ] ) ;



Exibe: "10|50 |30".


Exemplo de array Bidimencional:
Código do peão:

Código:
novo MinhaArray [ 20 ] [ 15 ] ;



Manipulando:
Código do peão:

Código:
MinhaArray [ 0 ] [ 1 ]  =  20 ;
MinhaArray [ 5 ] [ 9 ]  =  5 ;




Mostrando:
Código do peão:

Código:
printf ( "%d | %d" , MinhaArray [ 0 ] [ 1 ] , MinhaArray [ 5 ] [ 9 ] ) ;




Exibe: "20| 5".


Arrays de uma dimensão:


Exemplo de uma matriz normal(uma dimensão):
Código do peão:

Código:
novo MinhaArray [ 100 ] ;




Manipulando:
Código do peão:

Código:
MinhaArray [ 0 ]  =  50 ;
MinhaArray [ 97 ]  =  87 ;




Mostrando:
Código do peão:

Código:
printf ( "%d,%d" , MinhArray [ 0 ] , MinhaArray [ 97 ] ) ;



Exibe: "50, 87".


Cuidado ao acessar uma dimensão que não existe!
pois dará erro ou possíveis travamentos!


[size=24]F unções:[/size]
Bom, existem 2 tipos de funções, as funções nativas e as funções nela nгo-nativas,
vão explicar-las:


As funções nativas sгo as que vem juntamente com um packpage do SA-MP, você
pode encontrar funções que podem manipular o servidor totalmente,
sendo a maioria com parâmetros.

Essas funções podem formar um exemplo de uso:
Código do peão:

Código:
Chute ( playerid ) ; // Expulsa o player do servidor



Como você pode notar esta função "Kick" tem o parâmetro "playerid",
mas note-se que ao adicionar mais um parâmetro o pawno returnará
há um erro, este erro é comum, então preste atenção bem a atenção ao usar
uma função da qual nгo saiba os parâmetros, caso tenha dъvidas, procure
o comando na Wiki.sa-mp que fala só sobre funções nativas.


As funciones nгo-nativas sгo as que nгo vem com a packpage do sa-mp,
entгo vocк tem que cria-las, pois elas sгo funзхes prуprias, cбlculos,
etc...

Entгo as funзхes que nгo existe na biblioteca do sa-mp sгo denomiadas
de nгo-nativas, mais lembrando que se jб estava criado uma funзгo com
mesmo nome da outra com certeza retornarб hб erro, entгo vamos hб obra:

Mais eai, como criar diversão?
Para criar funções extras, basta seguir a seguinte fórmula:
Código do peão:

Código:
stock MinhaFuncao ( numero, texto [ ] , Float : NumerosFlutuantes ) {
    printf ( "[%d]%s ele é %.1f" , numero, texto, Float : NumerosFlutuantes ) ;
}



A função acima pode ser testada utilizando da seguinte maneira:
Código do peão:

Código:
MinhaFuncao ( 20 ,   "Oi, Este é um tutorial do SuYaNw Dбcio" , 10.0 ) ;



Esta função exibe:"[20]Oi, Este é um tutorial do SuYaNw Dácio ele é 10.0"

Más Garfield, como podemos fazer funções com este pequeno exemplo ?
Simples, vou mostrar um exemplo umpouco mais extenso,

Código do peão:

Código:
stock ContarCaracteresNaFrase ( frase [ ] ) {  // Observe que usei "[]" para indicar texto/string, veja a tabela abaixo.

    novos personagens; // Cria uma variável para armazenar a quantidade de letras.
   
    Caracteres =  strlen ( frase ) ; // Seta a variável "Caracteres" para a quantidade de letras da "frase[]" usando a função strlen.
   
    retornar Caracteres; // Retorna a quantidade de letras.
}



Como você pode notar na função ela conta quantos caracteres foram achados na frase,
na função explicadas todas as funções de cada linha.

Para testa-la, use:
Código do peão:

Código:
printf ( "Esta frase tem %d letra(s)" , ContarCaracteresNaFrase ( "SuYaNw Lindo" ) ) ;



Tabela de tags para usar em funções:


MarcaçãoUsoFunзгo
Flutuar[/d]stock MinhaFuncao(Float: vida)Serve para nъmeros flutuantes
Texto[/d]stock MinhaFuncao(Float: Text)Serve para manipular textdraws
Cardápio[/d]stock MinhaFuncao(Float: Menu)Servir para manipular menus
Texto3D[/d]stock MinhaFuncao(Float: Text3D)Serve para manipular textos 3d

Bom essas tags são as mais usadas, claro que existem mais mais as mais
usadas estão citadas acima.

Usando Referência em funções, bom, este é um pouco mais elevado, precisa de uma grande
atenção para aprender esta parte, então vamos lá:

Oque são referências ?
As referências são referencias de uma variável ou array que não mudam de valor, ou seja, elas mudam
dentro da função executada, e depois disso elas voltam ao valor original por exemplo:
Código do peão:

Código:
stock Multi ( & Soma ) {
    return Soma *  2 ;
}



Pode-se notar que esta função apenas multiplica a Soma vezes 2.

Quando usamos uma variável para utilizar a função criada, ela não será modificada globalmente,
somente localmente, veja os exemplos:

Código do peão:

Código:
nova MinhaVariavel =  2 ; // criei uma variável simples com o valor 2.
printf ( "Multiplicado: %d" , Multi ( MinhaVariavel ) ) ; // Exibe a soma de 2 x 2 = 4.




Todos nуs sabemos se fosse uma funзгo normal ou valor de MinhaVariavel teria
modificado, mais como й por referкncia, nгo ocorre.

E ao imprimir o valor da nossa variável returnará o valor 2 novamente.
Código do peão:

Código:
printf ( "Valor: %d" , MinhaVariavel ) ;



Imprimirá valor 2.

[size=24]Callbacks :[/size]
Bom, essa é a parte que meche na estrutura do script, ela é responsável pela
manipulação da grande parte da maioria do servidor, são nelas que são
chamados todos os eventos do servidor, e agora você saberá manipular- las.

As callbacks são chamadas quando ocorre algum evento no servidor(como
dito antes), para explicar melhor vamos pegar a callback "OnPlayerConnect",
Essa callback é chamada quando o player conecta, ao player conectar tudo
que estiver nesta callback é executado.

Mais eai, como crio uma callback ?
É muito fácil, basta seguir a seguinte fórmula:
Código do peão:

Código:
encaminhar nome_callback ( parâmetros ) ;

public nome_callback ( parametros )
{
    return true;
}


Lembrando apenas que os callbacks não suportam retornar strings, então
qualquer tentativa resultará em erro. E também se tentar criar uma callback
sem declarar resultará em erro também.

E sobre Funcionalidade, ela é basicamente a mesma coisa que uma "Função",
somente a diferença que não retorna strings.


[size=24]E xpressхes:[/size]
Eu acho esta parte mais essencial para programaзгo em geral, por iso vocк
tem que entender bem e se esforзar, pois nela que vocк aprenderб a manipular
nъmeros.

Bom, vamos aprender as expressões matemáticas, das quais
nуs usamos para calcular nъmeros, elas sгo:

ExpressãoExplicação
++Usado para incrementar que será sempre +1
--Usado para decrementar que será sempre -1
*Usado para multiplicar
/Usado para dividir
+=Adiciona um valor há sua variável
-=Retira um valor de sua variável
*=Multiplica um valor para sua variável
/=Divide um valor para sua variável


Uso:
Código do peão:

Código:
Variável ++ ; // Adiciona +1 hà nossa variável;
Variavel -- ; // Remove -1 da nossa variável;
Variavel =  ( 2  *  2 ) ; // Seta o valor da variável para 4 (2*2);
Variavel =  ( 2/1  ) ; _  _ // Define o valor da variável para 2 ( 2 / 1 = 1); Variavel += 2 ; // Adiciona +2 em nossa variável; Variavel -= 2 ; // Remove -2 de nossa variável; Variavel *= 2 ;

[size=13]



// Multiplica por 2 a nossa variável;
[/size]
Código:
Variável /=  2 ; // Divide por 2 a nossa variável;




Essas são as expressões matemáticas, e agora vamos as expressões
de condições:



ExpressãoExplicação
>Maior que
<Menor que
>=Maior ou igual que
<=Menor ou igual que
!=Diferente de
==Igual que

Uso:
Código do peão:

Código:
if ( Variavel >  10 ) // Verifica se a Variavel é maiorque 10;
if ( Variavel <  10 ) // Verifica se a Variavel é menor que 10;
if ( Variavel >=  10 ) // Verifica se a Variável é maior ou igual há 10;
if ( Variavel <=  10 ) // Verifica se a Variável é menor ou igual há 10;
if ( Variável !=  10 ) // Verifica se a Variável é diferente de 10;
if ( Variável ==  10 )// Verifica se a variável é igual há 10.





Agora vamos falar um pouco sobre os operadores lógicos:
que são eles:

operadorSignificado
||ou
&&E


Os operadores lógicos || e && sу tem uma explicaзгo, e sгo
sempre usado em condiзхes, vamos hб explicaзгo primeiro:

Operador ||:
Este operador verifica mais de uma condiзгo, se uma delas for
verdadeira a condiзгo returna true, veja o exemplo:
Código do peão:

Código:
if ( Variavel ==  10 || Variavel ==  20 )  /  / Verifica se a Variavel é igual á 10 OU igual á 20



Operador &&:
Este operador é diferente da décima, ele verifica se todas as condições
contidas são tão verdadeiras:
Código do peão:

Código:
if ( Variavel ==  10  && Variavel <  20 )  //Verifica se a Variavel é igual há 10 e menor que 20, caso esta condição seja verdadeira ele executa o que está abaixo.





Acho que não precisa mais explicar sobre o assunto, porque o mesmo está claro.

[size=24]Looping :[/size]
O Looping é uma repetição com condições diferentes(as vezes) mais na grande maioria
ele serve para fazer repetições das quais não precisamos ficar ganhando a mesma função
várias vezes.

Por exemplo, queremos exibir o nome SuYaNw no console 10 vezes, como fizemos ?

Jeito errado:
Código do peão:

Código:
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;
printf ( "SuYaNw" ) ;



Assim imprimirá, mais seria um desespero de linhas, usando Loop seria assim:
Código do peão:

Código:
for ( new i; i !=  10 ; ++ i ) {
    printf ( "SuYaNw" ) ;
}



Viu?

Explicação:
O Looping for tem uma fórmula muito fácil de manipular, vou explicar:


Looping FOR:
Como no exemplo abaixo, ele cria a variável ie depois verifica se i != de 10,
caso for diferente de 10 ele vai adicionar +1( usando incrementaзгo ++),
e se a variбvel i chegar ao valor 10 o loop para Tópicos com a tag else em SSGamers - 12 Anos online por você. Biggrin

lembrar automaticamente que o 10й o nъmero de vezes que o loop serб executadoTópicos com a tag else em SSGamers - 12 Anos online por você. Biggrin
Código do peão:

Código:
for ( novo i; i !=  10 ; ++ i ) {

}





O mesmo efeito usando outros tipos de loopings:

Looping: While

Bom, o loop while é parecido com o FOR, só que tem que criar separadamente as funções,
veja:
Código do peão:

Código:
novo i; // criamos a variável i

while ( i !=  10 ) {  // verificamos se é diferente de 10


   printf ( "SuYaNw" ) ;

    eu ++ ; // incrementa a variável i + 1.
}




Looping: Do..While

Este sistema de loop é parecido com o de cima,
Código do peão:

Código:
novo eu; // criando uma variável i.

faça {
    printf ( "SuYaNw" ) ;
     
     eu ++ ;
} ;
enquanto ( i !=  10 ) ;



*Observe que as funções vão acima e abaixo vão a condição de fazer looping.




Bom por enquanto é isto, entгo por favor, aguardem a segunda parte para vocкs "Manipular"
oque vocкs aprenderam neste tutorial.


Creditos: SuYaNw

[Scripter]GustavoAlves

$$$TELA DE LOGIN$$$BY:GustavoAlves - Ter 19 Jul 2016 - 17:17

[list=text]
[*][list=text]
[*]
[*]*/
[*]
[*]#include 
[*]new Text:Helder0;

[*]new Text:Helder1;

[*]new Text:Helder2;

[*]new Text:Helder3;

[*]new Text:Helder4;

[*]new Text:Helder5;

[*]new Text:Helder6;

[*]new Text:Helder7;
 

[*]#if defined FILTERSCRIPT
 

[*]public OnFilterScriptInit()

[*]{

[*]    print("\n-=-=-=-=-=-=-=-=-=-=-=-=-=");

[*] print("=-=-=-=-=--=-=--=-=--=-=-=-=");

[*] print("=-=-=-Especial SSGAMERS=-=-=");

[*] print(" Sistema De Texdraw Na Tela ");

[*] print("=-=-=-=-=-Login=-=-=-=--=-=-");

[*] print("=-=-=-=-=--==--==--=-=-=-=\n");

[*] return 1;

[*]}
 

[*]public OnFilterScriptExit()

[*]{

[*] return 1;

[*]}
 

[*]#else
 

[*]main()

[*]{

[*] print("\n-=-=-=-=-=-=-=-=-=-=-=-=-=");

[*] print("=-=-=-=-=--==--==--=-=-=-=\n");

[*] print("=-=-Especial SSGAMERS===-=\n");

[*] print(" Sistema De Texdraw Na Tela ");

[*] print("=-=-=-=-=-Login=-=-=-=--=-\n");

[*] print("=-=-=-=-=--==--==--=-=-=-=\n");

[*]}
 

[*]#endif
 

[*]public OnGameModeInit()

[*]{

[*] Helder0 = TextDrawCreate(2.000000, 1.000000, "_");

[*]    TextDrawBackgroundColor(Helder0, 0xFFFFFFFF);

[*]    TextDrawFont(Helder0, 1);

[*]    TextDrawLetterSize(Helder0, 0.500000, 10.099998);

[*]    TextDrawColor(Helder0, -1);

[*]    TextDrawSetOutline(Helder0, 0);

[*]    TextDrawSetProportional(Helder0, 1);

[*]    TextDrawSetShadow(Helder0, 1);

[*]    TextDrawUseBox(Helder0, 1);

[*]    TextDrawBoxColor(Helder0, 0x00000051);

[*]    TextDrawTextSize(Helder0, 639.000000, 10.000000);
 

[*]    Helder1 = TextDrawCreate(2.000000, 355.000000, "_");

[*]    TextDrawBackgroundColor(Helder1, 0xFFFFFFFF);

[*]    TextDrawFont(Helder1, 1);

[*]    TextDrawLetterSize(Helder1, 0.500000, 10.099998);

[*]    TextDrawColor(Helder1, -1);

[*]    TextDrawSetOutline(Helder1, 0);

[*]    TextDrawSetProportional(Helder1, 1);

[*]    TextDrawSetShadow(Helder1, 1);

[*]    TextDrawUseBox(Helder1, 1);

[*]    TextDrawBoxColor(Helder1, 0x00000051);

[*]    TextDrawTextSize(Helder1, 639.000000, 10.000000);
 

[*]    Helder2 = TextDrawCreate(-1.000000, 95.000000, "_");

[*]    TextDrawBackgroundColor(Helder2, 0xFFFFFFFF);

[*]    TextDrawFont(Helder2, 1);

[*]    TextDrawLetterSize(Helder2, 0.500000, -0.200000);

[*]    TextDrawColor(Helder2, -1);

[*]    TextDrawSetOutline(Helder2, 0);

[*]    TextDrawSetProportional(Helder2, 1);

[*]    TextDrawSetShadow(Helder2, 1);

[*]    TextDrawUseBox(Helder2, 1);

[*]    TextDrawBoxColor(Helder2, 0x00000051);

[*]    TextDrawTextSize(Helder2, 642.000000, 0.000000);
 

[*]    Helder3 = TextDrawCreate(-1.000000, 353.000000, "_");

[*]    TextDrawBackgroundColor(Helder3, 0xFFFFFFFF);

[*]    TextDrawFont(Helder3, 1);

[*]    TextDrawLetterSize(Helder3, 0.500000, -0.200000);

[*]    TextDrawColor(Helder3, -1);

[*]    TextDrawSetOutline(Helder3, 0);

[*]    TextDrawSetProportional(Helder3, 1);

[*]    TextDrawSetShadow(Helder3, 1);

[*]    TextDrawUseBox(Helder3, 1);

[*]    TextDrawBoxColor(Helder3, 0x00000051);

[*]    TextDrawTextSize(Helder3, 642.000000, 0.000000);
 

[*]    Helder4 = TextDrawCreate(264.000000, 9.000000, "Seu Sv Aki");

[*]    TextDrawBackgroundColor(Helder4, 0xC5FFC2F6);

[*]    TextDrawFont(Helder4, 0);

[*]    TextDrawLetterSize(Helder4, 0.680000, 2.800000);

[*]    TextDrawColor(Helder4, 65535);

[*]    TextDrawSetOutline(Helder4, 0);

[*]    TextDrawSetProportional(Helder4, 1);

[*]    TextDrawSetShadow(Helder4, 0);
 

[*]    Helder5 = TextDrawCreate(258.000000, 30.000000, "Logotipo Do Seu Servidor");

[*]    TextDrawBackgroundColor(Helder5, -16776961);

[*]    TextDrawFont(Helder5, 2);

[*]    TextDrawLetterSize(Helder5, 0.170000, 1.000000);

[*]    TextDrawColor(Helder5, -16776961);

[*]    TextDrawSetOutline(Helder5, 0);

[*]    TextDrawSetProportional(Helder5, 1);

[*]    TextDrawSetShadow(Helder5, 0);
 

[*]    Helder6 = TextDrawCreate(287.000000, 51.000000, "");

[*]    TextDrawBackgroundColor(Helder6, 0xFFFFFFFF);

[*]    TextDrawFont(Helder6, 2);

[*]    TextDrawLetterSize(Helder6, 0.190000, 1.100000);

[*]    TextDrawColor(Helder6, -65281);

[*]    TextDrawSetOutline(Helder6, 0);

[*]    TextDrawSetProportional(Helder6, 1);

[*]    TextDrawSetShadow(Helder6, 0);
 

[*]    Helder7 = TextDrawCreate(266.000000, 74.000000, "");

[*]    TextDrawBackgroundColor(Helder7,0xFFFFFFFF);

[*]    TextDrawFont(Helder7, 0);

[*]    TextDrawLetterSize(Helder7, 0.380000, 1.200000);

[*]    TextDrawColor(Helder7, -1);

[*]    TextDrawSetOutline(Helder7, 0);

[*]    TextDrawSetProportional(Helder7, 1);

[*]    TextDrawSetShadow(Helder7, 0);

[*] return 1;

[*]}
 

[*]public OnGameModeExit()

[*]{

[*] return 1;

[*]}
 

[*]public OnPlayerRequestClass(playerid, classid)

[*]{
 

[*] return 1;

[*]}
 

[*]public OnPlayerConnect(playerid)

[*]{

[*] TextDrawShowForPlayer(playerid, Helder0);

[*]    TextDrawShowForPlayer(playerid, Helder1);

[*]    TextDrawShowForPlayer(playerid, Helder2);

[*]    TextDrawShowForPlayer(playerid, Helder3);

[*]    TextDrawShowForPlayer(playerid, Helder4);

[*]    TextDrawShowForPlayer(playerid, Helder5);

[*]    TextDrawShowForPlayer(playerid, Helder6);

[*]    TextDrawShowForPlayer(playerid, Helder7);

[*] return 1;

[*]}
 

[*]public OnPlayerDisconnect(playerid, reason)

[*]{

[*] return 1;

[*]}
 

[*]public OnPlayerSpawn(playerid)

[*]{

[*]        TextDrawHideForPlayer(playerid, Helder0);

[*]        TextDrawHideForPlayer(playerid, Helder1);

[*]        TextDrawHideForPlayer(playerid, Helder2);

[*]        TextDrawHideForPlayer(playerid, Helder3);

[*]        TextDrawHideForPlayer(playerid, Helder4);

[*]        TextDrawHideForPlayer(playerid, Helder5);

[*]        TextDrawHideForPlayer(playerid, Helder6);

[*]        TextDrawHideForPlayer(playerid, Helder7);

[*]// return 1;

[*]}

OPS SE NAO FUCIONAR FALE NO MEU SKYPE:Retirado


Ir para o topo

Data/hora atual: Qui 28 Mar 2024 - 8:31