[Ajuda] Dъvidas Curtas #1
#81

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.
Reply
#82

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?!
Reply
#83

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.
Reply
#84

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


Reply
#85

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...
Reply
#86

hum agora intendi melhor obg a Transferencia e a Josma_cmd , vcs sao os cara sauhasuhasusauh

__________________________________________


Assinatura feita por JORGE_HARD


Reply
#87

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;
}
Reply
#88

Como adiciono uma sirene em determinada variavel de carros??
Reply
#89

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


Reply
#90

Quais sгo os erros ?
Reply
#91

erros ai encima shadow!

__________________________________________


Assinatura feita por JORGE_HARD


Reply
#92

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;
}
Reply
#93

@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 :


pawn Код:
new Var[3];

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 .
Reply
#94

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?!
Reply
#95

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
Reply
#96

Explique melhor, ApolloRJ.
Reply
#97

pawn Код:
if( IsPlayerInAnyVehicle( playerid ) )
{
   TogglePlayerControllable( playerid, 0 );
}
Sobre a cвmara, segue este exemplo: http://forum.sa-mp.com/showpost.php?...&postcount=443
Reply
#98

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??
Reply
#99

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.
Reply

Poste a linha do erro.
Reply


Forum Jump:


Users browsing this thread: 19 Guest(s)