[ FAQ: Dъvidas Frequentes ] *Deletado em Breve. -
TheGarfield - 03.05.2011
Dъvidas Frequкntes
Aqui serгo postadas as dъvidas mais conhecidas,
ao tempo atualizarei o tуpico para botar mais.
Vamos lб:
Como criar um servidor:
RE: [ame=http://www.youtube.com/watch?v=Vg7biCKMJ28]Criando um server/servidor SA-MP (San Andreas Multiplayer)[/ame]
Como converter objetos
RE:
Convertffs
Aonde acho um gerador de cores ?
RE:
OxygenBR's Color Picker v3.0
Precisa ter o jogo completo para jogar?
RE: nгo.
Aonde posso baixar o SA-MP?
RE:
SA-MP Download
Como Fico sabendo das novidades do SA-MP ?
RE:
News and Updates
Quais sгo os comandos da RCON ?
RE:
Controlling Your Server
Quais sгo as funзхes originais da SA-MP?
RE:
Scripting Functions
Como logar na Rcon em meu servidor?
RE: Entre em seu servidor e digite '/rcon login sua_senha'
SA-MP em linux ?
RE:
Linux Server
Como aprendo a linguagem pawn?
RE:
Pawn Tutorial
Como pego ID de algum interior ?
RE: Digite
/interior e aparecerб o interior do devido lugar
Como faзo meu servidor aparecer na lista da internet?
RE: abre server.cfg, e mude o announce 0 para annouce 1.
Como eu troco o Unknown command que aparece quando digito comando que nгo existe?
RE: mude o ultimo
return 0; para
return Uma mensagem.
Meu script estб dando 26 erros, como resolvo?
RE: este erro acontece quando vocк usa a Chavez({,}) e nгo fecha. procure o ultimo cуdigo que vocк mecheu.
Como coloco o relуgio do meu servidor em tempo real?
RE: use este FilterScript: "gl_realtime.amx" que vem junto com a pasta orignal do sa-mp.
Objetos transparentes como resolver:
RE: Coloque DrawDistance no
CreateObject
Qual programa eu uso para editar PAWN?
RE: aqui estб (em inglкs)
Editores
[b]Aonde posto cуdigos ?[b]
RE:
pastebin
Aonde eu acho as funзхes SA-MP
RE:
Scripting Functions
Quais sгo todas as callbacks do SA-MP ?
Re:
Scriping CallBacks
Aonde eu aprendo pawn ?
RE:
Pawn Tutorial (INGLКS)
Exemplo de scripts ?
RE:
Script Exemples
Erros e suas soluзхes
Код:
01 > expected token: Simbolo, but found Simbolo
Re: Esta faltando Simbolo na funзгo.
Код:
02 > funcion NOME is not implemented
RE: Funзгo nгo estб completa/ ou estб faltando implementos.
Код:
03 > function way not have arguments
RE: A funзгo MAIN(); estб faltando seus argumentos.
Код:
04 > must be a constant expression; assumid zero
RE: o tamanho da array estб incorreta dentro de seus [ ].
Код:
05 > undefined symbol: PALAVRA.
RE: PALAVRA nгo definidom, precisas definir #define .... ou new ....
Код:
06 > initialization data exceeds declared size
RE: O numero dentro da array estб imcompativel com os dentros da chave " new var[5] = { 1,2,3,4,5,6,7,8,9 };"
Код:
07 > symbol already defined: NOME
RE: NOME jб estб definido, ou seja, o COMPILADOR jб leu.
Код:
08 > array assignment must be simple assignment
RE: Os opreadores ( =>, ++.etc ....) estгo sendo usados de forma incorreta.
Код:
09 > invalid expression, assumid zero
RE: Expressгo errada ou e forma incorreta.
Код:
10 > unknown directive
RE: Diretiva com " # " estб incorreta ou nгo existe.
Код:
11 > array index out of bounds
RE: A array й muito grande para ser uma array vбlida ao seu funзгo.
Код:
12 > array must be indexed( NOME )
RE: A array foi indexada incorretamente.
Код:
13 > invalid string ( possible non-terminated string)
RE: String faltando ");" no final.
Код:
14 > duplicate "case" label(numero)
RE: Case duplicado, ou seja, dois case com mesmo numero.
Код:
15 > unmatched closing brace
RE: O fechamento com "{" e estб faltando "}" no final.
Код:
16 > #define pattern must be an array ( argument nome )
RE: A funзгo define estб sendo usada incorretamente.
Код:
17 > Input line too long ( after substitutions )
RE: a linha estб muito grande para o compilador.
Код:
19 > warning 219: local variable "playername" shadows a variable at a preceding level
RE: tem mais de 1 playername definido, apague atй sobrar 1.
Код:
18 > redefinition of constant/macro
RE:Simpls, apenas ta dizendo que algo jб foi definido.
Estes sгo algumas perguntas & erros que me lembro. caso conheзa mais alguns, me passe por pm.
Atualizado dia: 06/07/2011
Obrigado.
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 04.05.2011
ae queria outra ajudinha
como que eu coloco pra aparecer o nome da pessoa na msg sei q tem q colocar o %s so q da erro na hora de compilar e tem q ter o GetPlayerName so q tb nao da alguem ajuda?!
Re: [ Dъvidas Curtas ] -
Carl_Thuse - 04.05.2011
pawn Код:
new string[128];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"Mensagem Mandada pelo: %s",playername);
SendClientMessage(playerid,COR,string);
O Pawn й complicado bagarai, podia indetificar na funзгo
SendClientMessage() Parametros como variaveis, nomes etc.
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 07.05.2011
a ta agora entendi ? o return e como se fosse o q fexa o comando se eu entendi direito? pq eu criava comandos sem fexar so que quando digitava dava erro quando colokei return neles pararam de dar erro ( erro de Server Unknown Command) se for isso obg!
__________________________________________
Assinatura feita por JORGE_HARD
Re: [ Dъvidas Curtas ] -
Transferencia - 07.05.2011
Tipo,o Return 1 significa : Retornar Verdade/Verdadeiro,dae o que fecha o if e o } de cima do return e oq fecha o comando e o } depois do return...
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 07.05.2011
hum agora intendi melhor obg a Transferencia e a Josma_cmd , vcs sao os cara sauhasuhasusauh
__________________________________________
Assinatura feita por JORGE_HARD
Re: [ Dъvidas Curtas ] -
The Knight - 07.05.2011
dylan4021, o return nos comandos nгo serve sу para fechar o comando, olhe um exemplo:
pawn Код:
public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/k9", true ) )
{
if( IsPlayerAdmin( playerid ) )
{
SendClientMessage( playerid, /*Cor*/, "Vocк й administrador" );
SetPlayerHealth( playerid, 0.0 );
return true; //retorna sу o IsPlayerAdmin (Se o jogador й administrador)
}
if( IsPlayerInAnyVehicle( playerid ) )
{
SendClientMessage( playerid, /*Cor*/, "Vocк estб dentro de um veнculo" );
SetPlayerHealth( playerid, 0.0 );
return true; //retorna sу o IsPlayerInAnyVehicle (Se o jogador estб num veнculo)
}
return true; //este sim, retorna o comando
}
return SendClientMessage( playerid, 0xFFF000AA, "Comando inexistente!" ), false;
}
Re: [ Dъvidas Curtas ] -
JOKERBOY - 07.05.2011
Como adiciono uma sirene em determinada variavel de carros??
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 07.05.2011
knight , isso eu sabia queria saber o ultimo return , pq n gosto de ficar com duvidas , isso atrapalha!
agora to com um erro que to tentando corcerta mais nao consigu de jeito nenhum! concerteza voces vao saber concertar!!!
e de checkpoint pra minha corrida! o code ta ai \/( peguei do tuto do andmeida10 acho q o nome e esse)
so que ai fiz tudo q pediu so q fica dando os erros abaixo! espero que alguem pode me ajudar pq foi o unico TUTO que achei q ta dando menos erros na hora de compilar!
pawn Код:
TOPO DO GM
new Stats[MAX_PLAYERS];
new Float:Checkpoints[4][3]=
{
{2305.3593,-446.7570,131.0389},
{1981.7615,96.0542,137.6677},
{2404.5236,-283.4953,77.9999},
{2203.0410,-319.7430,131.6930}
};
CommandText
if(strcmp(cmdtext, "/partida", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
SetPlayerRaceCheckpoint(i, 0, Checkpoints[1][1], Checkpoints[1][2], Checkpoints[1][3], Checkpoints[2][1], Checkpoints[2][2], Checkpoints[2][3], 10);
Stats[i] = 1;
return 1;
}
}
}
else
{
SendClientMessage(playerid, Vermelho, "Apenas Para Admins");
}
}
OnPlayerEnterCheckpoint
{
switch(Stats[playerid])
{
case 1:
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[2][1], Checkpoints[2][2], Checkpoints[2][3], Checkpoints[3][1], Checkpoints[3][2], Checkpoints[3][3], 10);
Stats[i] = 1;
return 1;
}
case 2:
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[3][1], Checkpoints[3][2], Checkpoints[3][3], Checkpoints[4][1], Checkpoints[4][2], Checkpoints[4][3], 10);
Stats[i] = 2;
return 1;
}
case 3:
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 1, Checkpoints[4][1], Checkpoints[4][2], Checkpoints[4][3], Checkpoints[4][1], Checkpoints[4][2], Checkpoints[4][3]-5, 10);
Stats[i] = 3;
return 1;
}
case 4:
{
DisablePlayerRaceCheckpoint(playerid);
GameTextForPlayer(playerid, "Voce ganhou a Race Mixed Parabens!!!", 3000, 1);
GivePlayerMoney(playerid, 10000);
return 1;
}
}
}
Os erros sao estes:
pawn Код:
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(118) : warning 217: loose indentation
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(126) : error 032: array index out of bounds (variable "Checkpoints")
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(137) : warning 217: loose indentation
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(148) : error 032: array index out of bounds (variable "Checkpoints")
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(149) : error 017: undefined symbol "i"
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(155) : error 032: array index out of bounds (variable "Checkpoints")
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(156) : error 017: undefined symbol "i"
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(162) : error 032: array index out of bounds (variable "Checkpoints")
C:\Users\Washington\Desktop\Zumbie\filterscripts\mixed.pwn(163) : error 017: undefined symbol "i"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
7 Errors.
__________________________________________
Assinatura feita por JORGE_HARD
Re: [ Dъvidas Curtas ] -
Shadoww5 - 07.05.2011
Quais sгo os erros ?
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 08.05.2011
erros ai encima shadow!
__________________________________________
Assinatura feita por JORGE_HARD
Re: [ Dъvidas Curtas ] -
JonathanFeitosa - 08.05.2011
pawn Код:
if(strcmp(cmdtext, "/partida", true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Vermelho, "Apenas Para Admins");
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
SetPlayerRaceCheckpoint(i, 0, Checkpoints[1][1], Checkpoints[1][2], Checkpoints[1][3], Checkpoints[2][1], Checkpoints[2][2], Checkpoints[2][3], 10);
Stats[i] = 1;
}
}
return true;
}
Re: [ Dъvidas Curtas ] - rjjj - 08.05.2011
@dylan4021
Os errors foram causados por um mal uso das variбveis array, por exemplo, pra se referir бs quatro linhas da variбvel, deveria ser usado, respectivamente
:
Код:
Checkpoints[0][0], Checkpoints[0][1], Checkpoints[0][2] e Checkpoints[0][3]
E nгo:
Код:
Checkpoints[1][0], Checkpoints[2][1], Checkpoints[3][2] e Checkpoints[4][3] ([4] = Total de cells, nesse caso)
Que й como estava no cуdigo, seguindo essa ordem, quando a quarta linha fosse ser usada, ela estava sendo representada por uma variбvel com o mбximo de cells, o que causou error, pois os valores das variбveis arrays sгo guardados no AMX comeзando pela primeira cell da array, que й o
[0], o que nгo impede que uma variбvel array como
:
Possa ser igualada 3 vezes:
pawn Код:
Var[0] = 11 //Primeira vez
Var[1] = 22 //Segunda vez
Var[2] = 33 //Terceira vez
Por isso hб necessidade de igualar o
[0], se o que o cara quiser usar й o mбximo que a variбvel array pode suportar (como foi o seu caso)
.
Whatever
, aqui estб o seu cуdigo:
pawn Код:
new Stats[MAX_PLAYERS];
new Float:Checkpoints[4][3]=
{
{2305.3593,-446.7570,131.0389},
{1981.7615,96.0542,137.6677},
{2404.5236,-283.4953,77.9999},
{2203.0410,-319.7430,131.6930}
};
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/partida", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
SetPlayerRaceCheckpoint(i, 0, Checkpoints[0][0], Checkpoints[0][1], Checkpoints[0][2], Checkpoints[1][0], Checkpoints[1][1], Checkpoints[1][2], 10);
Stats[i] = 1;
}
}
}
else
{
SendClientMessage(playerid, Vermelho, "Apenas Para Admins");
}
return 1;
}
return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
switch(Stats[playerid])
{
case 1:
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[1][0], Checkpoints[1][1], Checkpoints[1][2], Checkpoints[2][0], Checkpoints[2][1], Checkpoints[2][2], 10);
Stats[playerid] = 1;
return 1;
}
case 2:
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[2][0], Checkpoints[2][1], Checkpoints[2][2], Checkpoints[3][0], Checkpoints[3][1], Checkpoints[3][2], 10);
Stats[playerid] = 2;
return 1;
}
case 3:
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 1, Checkpoints[3][0], Checkpoints[3][1], Checkpoints[3][2], Checkpoints[3][0], Checkpoints[3][1], Checkpoints[3][2]-5, 10);
Stats[playerid] = 3;
return 1;
}
case 4:
{
DisablePlayerRaceCheckpoint(playerid);
GameTextForPlayer(playerid, "Voce ganhou a Race Mixed Parabens!!!", 3000, 1);
GivePlayerMoney(playerid, 10000);
return 1;
}
}
return 1;
}
Espero ter ajudado
.
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 08.05.2011
cara mt obrigado agora paro de dar erros vou ver aq e vo editar o comando de partida pra ver se fico do jeito q eu queria! vlw!
mais uma duvida tenho q completar o resto ? q vc coloco ate [1][2] tenho q fazer isso ate quanto ou pode deixar so ate ai?!
@EDIT
testei seu comando do jeito q esta so q quando passo pelo checkpoint o checkpoint n sai ele continua n muda aff?!
Re: [ Dъvidas Curtas ] -
ApolloRJ - 08.05.2011
1) Pergunta
existe algum comando para congelar o player.. sobre o veiculo.. tipo eu sei... que o player e...
pawn Код:
TogglePlayerControllable(playerid, false);
existe algo que quando o cara dei a tele... congela ele... e o veiculo junto??
2) Pergunta
contagens regressiva... como posso fazer um comando camera comeзando pegando o cara de cima pra baixo... direita esquerda.... traz e frente.... desde jб agradeзo.. ApolloRJ
Re: [ Dъvidas Curtas ] -
Shadoww5 - 08.05.2011
Explique melhor, ApolloRJ.
Re: [ Dъvidas Curtas ] -
The Knight - 08.05.2011
pawn Код:
if( IsPlayerInAnyVehicle( playerid ) )
{
TogglePlayerControllable( playerid, 0 );
}
Sobre a cвmara, segue este exemplo:
http://forum.sa-mp.com/showpost.php?...&postcount=443
Re: [ Dъvidas Curtas ] -
ApolloRJ - 08.05.2011
pawn Код:
public Duel3(playerid) // A PUBLIC
{
TogglePlayerControllable(playerid, false);
if( IsPlayerInAnyVehicle( playerid ) ) { TogglePlayerControllable( playerid, false ); }
new string[50];
format(string, sizeof(string), "~r~3"); //MENSAGEN DE CARREGAMENTO
GameTextForPlayer(playerid, string, 600, 6);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx("Duel4", 1000, 0,"e",playerid); // O Tempo
return true;
}
public Duel4(playerid) // A PUBLIC
{
TogglePlayerControllable(playerid, false);
if( IsPlayerInAnyVehicle( playerid ) ) { TogglePlayerControllable( playerid, false ); }
new string[50];
format(string, sizeof(string), "~r~2"); //MENSAGEN DE CARREGAMENTO
GameTextForPlayer(playerid, string, 600, 6);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx("Duel5", 1000, 0,"e",playerid); // O Tempo
return true;
}
public Duel5(playerid)
{
TogglePlayerControllable(playerid, true);
if( IsPlayerInAnyVehicle( playerid ) ) { TogglePlayerControllable( playerid, true ); }
new string[50];
format(string, sizeof(string), "~r~Go Go Go ~w~!!!!!");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
GameTextForPlayer(playerid, string, 3000, 1);
return true;
}
isso eu aprendi num tudo que vi aqui no forum.... queria fazer uma coisa com esse comando... tipo na public Duel3 queria por a camera do player de cima pra baixo... a outra...de traz para frente.. uma em cada public... so que n sei o comando...
pawn Код:
if( IsPlayerInAnyVehicle( playerid ) ){ TogglePlayerControllable( playerid, 0 );}
sу que..... eu faзo o tele + alto que o chгo... para dar tempo dos objtos carrega... e msm com esse comando .. quando teleporto o veiculo cae.. do tele.. vez de ficar parada no alto.. como e a tele...... nгo sei se me entendeu.. sera que alguйm poderia ajudar??
Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 09.05.2011
jah q ajudaram ele agora me ajudem e simples isso aq pra vcs(talvez kk)
esse й o comando q criei quando se digita /colete , era pra detectar se o player ta com 40 de vida ou menos ai n mandava colete , mais se estiver com mais mandava, so q ta dando warning! comando embaixo!
pawn Код:
if(strcmp(cmdtext,"/colete",true)==0)
{
if(GetPlayerHealth(playerid) < 40) return SendClientMessage(playerid, 0x33CCFFAA, "Sua vida estб baixa , nao podera comprar Colete!");
if(GetPlayerMoney(playerid) < 200) return SendClientMessage(playerid, 0x33CCFFAA, "Voce nгo tem dinheiro suficiente(R$200)");
SetPlayerArmour(playerid, 100);
GivePlayerMoney(playerid, -200);
new colete[100];
strins(colete,"\n",strlen(colete));
strins(colete,"{7491F6}Comprou Colete com Sucesso!\n",strlen(colete));
strins(colete,"\n",strlen(colete));
ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000} ----------------- ColetE --------------- ",colete, "Fechar", "");
return 1;
}
agora o warning
pawn Код:
C:\Users\Washington\Desktop\testes\gamemodes\MxP.pwn(445) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 3916 bytes
Code size: 28744 bytes
Data size: 139332 bytes
Stack/heap size: 16384 bytes; estimated max. usage=40168 cells (160672 bytes)
Total requirements: 188376 bytes
1 Warning.
Re: [ Dъvidas Curtas ] -
The Knight - 09.05.2011
Poste a linha do erro.