Pawn é uma linguagem de script de código aberto e de quarta geração, criada em 1998 pela empresa CompuPhase. De influência da linguagem de programação C, Pawn teve duas distribuições: Small, a primeira distribuição da linguagem; e a atualmente usada, denominada Pawn.
A linguagem em si, foi designada para ser implementada em projetos onde se tem a liberdade de criar suas funções, normalmente usada para definir eventos, chamados Callbacks, que são registrados pela máquina virtual do projeto.
Compilação
Pawn é uma linguagem compilável, ou seja, o seu código é transformado para linguagem de computador, que somente o intérprete da linguagem consegue entender. O intérprete da linguagem, é a máquina virtual, onde o código passa a ser chamado de AMX. AMX é interpretado como na linguagem de programação Assembly, assim, podendo ser interpretado com outras linguagens de programação de terceira geração, como por exemplo, C++.
A compilação é feita antes da execução, não como em certas linguagens de programação (como Squirrel e Lua, que a compilação é feita em run-time (em tempo de execução).
Sintaxe
Pawn possui uma sintaxe simples baseada na linguagem de programação C. É case-sensitive, diferenciando letras maiúsculas de minúsculas.
Declarações:
As declarações em Pawn são typeless. Não precisamos diferenciar o tipo de variável ou função na declaração. Exceto com matrizes, que devemos declarar o número de células que a matriz pode usar (por a linguagem ter alocação estática, o valor de células é alocado na memória quando a máquina virtual é carregada). Não precisamos definir uma variável em sua declaração. Quando declarada sem definição, possui o valor 0.
Uma variável possui 4 bytes de tamanho por padrão em uma máquina x86 por cada célula que a mesma possui.
A stack, por padrão, armazerna um máximo de 5000 células para variáveis locais.
As variáveis globais são previamente alocadas no arquivo compilado.
Código:
Exemplo
new inteiro; //um número inteiro de valor 0
new Float:flutuante; //caso a biblioteca de Fixed Numbers esteja carregada
new vetor[5]; //uma vetor de 5 células
new=variavel inteiro=nome da variavel
Olá Mundo!
//declara a função print (que será carregada de sua biblioteca)
native print(string[]);
//entry point (ponto de entrada) do código, primeira função a ser executada
main()
{
//imprime a string "Olá Mundo!"
print("Olá Mundo!");
}
Normalmente, a maioria dos projetos que possuem a linguagem de programação Pawn implementada, têm a função "print", para imprimir uma string ao console/log/IDE do projeto.
Bom, esse é um pouco da linguagem pawn, achei interessante postar aqui. Pequeno resumo sobre a linguagem usada em nosso querido jogo.
Sistema de login
Sistema de trabalho de caminhoneiro mappeador
Sistema de trabalho de pizzaboy mappeado
Sistema de trabalho de pescador
Sistema de desmanche mappeado
Vai ser adicionado mais sistemas lembrando o servido esta em fase de desenvolvimento
Olá, queria saber se tem como abrir 'Dialog' com todos os nomes de corrida race criado no sevidor dentro de uma pasta: scriptfiles/Corrida/,
nesse dialog ira aparecer todos os nomes de corrida já criados, claro com limite de nomes no dialog depois clickando para ir na proxima pagina.
se alguem souber uma base de como fazer isso eu agradeço!
quando eu me registro no meu serve meu player vai pro lugar que eu setei e logo em seguida vai pra lv não sei pq alguem pode me ajuda
ja tentei fazer varias coisas e não funciono
Opa eu estou com um poblema a dias tentei arrumar tanto que acabei deixando de lado e hoje tenho que arruma este poblema, mas bom eu fiz um sistema de verificar pessoas banidas e da uma tela com as informações do ban logo dps da um kick no player, mas quando um player banido loga no serve o serve cai e eu não sei o motivo irei mostra a baixo uma verificação de banimento que eu fiz junto com uma de ban por ip tbm.
Fuibanido(playerid)
{
new String[200];
format(String, sizeof(String), "Banidos/%s.ini", PegarNome(playerid));
if(DOF2_FileExists(String))
{
new DialogStatus[1800];
format(gstring, sizeof(gstring), "Conta: {36FF56}%s\n", PlayerName(playerid));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Admin: {36FF56}%s\n", DOF2_GetString(String, "Admin"));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Motivo: {36FF56}%s\n", DOF2_GetString(String, "Motivo"));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Dia: {36FF56}%s\n{FFFFFF}Hora: {36FF56}%s\n\n", DOF2_GetString(String, "Data"),DOF2_GetString(String, "Horario"));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{36FF56}Para revisao de ban acesse nosso discord: https://discord.gg/f3Zxsss\n");
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{36FF56}Atencao: Voce so sera desbanido caso for inocente !\n");
strcat(DialogStatus, gstring);
ShowPlayerDialog(playerid, 9399, DIALOG_STYLE_MSGBOX, "{9FF4FF}|_-_-_-_-_-_-_|{A800FF} Sua Conta Esta Banido Do Brasil Joga City {9FF4FF}|_-_-_-_-_-_-_|{FFFFFF}", DialogStatus, "OK", "");
SetTimerEx("Banzinn", 980, false, "i", playerid);
return true;
}
format(String, sizeof(String), "IPsBanidos/%s.ini", PegarIP(playerid));
if(DOF2_FileExists(String))
{
new DialogStatus[1800];
format(gstring, sizeof(gstring), "IP: {36FF56}%s\n", PegarIP(playerid));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Admin: {36FF56}%s\n", DOF2_GetString(String, "Admin"));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Motivo: {36FF56}%s\n", DOF2_GetString(String, "Motivo"));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Dia: {36FF56}%s\n{FFFFFF}Hora: {36FF56}%s\n\n", DOF2_GetString(String, "Data"),DOF2_GetString(String, "Horario"));
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{36FF56}Para revisao de ban acesse nosso discord: https://discord.gg/f3Zxsss\n");
strcat(DialogStatus, gstring);
format(gstring, sizeof(gstring), "{36FF56}Atencao: Voce so sera desbanido caso for inocente !\n");
strcat(DialogStatus, gstring);
ShowPlayerDialog(playerid, 9310, DIALOG_STYLE_MSGBOX, "{9FF4FF}|_-_-_-_-_-_-_|{A800FF} Seu IP Esta Banido Do Brasil Joga City {9FF4FF}|_-_-_-_-_-_-_|{FFFFFF}", DialogStatus, "OK", "");
SetTimerEx("Banzinn", 980, false, "i", playerid);
return true;
}
return true;
}
[12/30/21 01:33:18] [plugins/mysql] error #1054 while executing query
Quando vai criar a conta no servidor dá esse erro, engraçado que localhost cria normal mas na VPS onde o mysql é mais atualizado dá esse erro, ja atualizei o plugin mysql.so e compileo com o .inc atual mais continua.