[Ajuda][ERRO]public OnPlayerRequestClass...
#1

Olб pessoal!
Estou tentando adapta um sistema de "Moving camera on class selection" em meu humilde gm. porem esta dando alguns erros. acompanhe o codigo abaixo:
Topo do gm
pawn Код:
//where the player will spawn
#define player_x -250.9738
#define player_y 2585.6497
#define player_z 63.5703
#define player_angle 210.3500

//PLAYER CAMERA, THE ONE YOU CREATE SO YOU CAN SEE THE PLAYER
//note: for a better effect, let the camera be a few meters away from the player
#define camera_x -248.9410
#define camera_y 2581.5327
#define camera_z 64.9334

//ATTENTION; THESE ARE MILISECONDS
//untested, but it should work in theory. The smaller the value, the faster the camera.
#define moving_speed 50

//declaring stuff
//IMPORTANT: FOR THE CODE TO WORK, YOU MUST DEFINE THE ENUM BEFORE PlayerInfo
//just copy it like It's written here
enum pInfo
{
    bool:SpawnDance,
    Float:SpawnAngle,
    SpawnTimer
};

new PlayerInfo[MAX_PLAYERS][pInfo];
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, player_x,player_y,player_z);
    SetPlayerFacingAngle(playerid, player_angle);
    SetPlayerCameraPos(playerid, camera_x,camera_y,camera_z);
    SetPlayerCameraLookAt(playerid, player_x,player_y,player_z);
    ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1); //smooth dancing. It's most fitting to the music
    PlayerPlaySound(playerid, 1097,-119.9460,23.1096,12.2238); //music, duh
    //making sure the timer gets executed only once, so the camera doesn't go to fast
    if (PlayerInfo[playerid][SpawnDance]) PlayerInfo[playerid][SpawnTimer] = SetTimerEx("MoveCamera", moving_speed, true, "i", playerid);
    PlayerInfo[playerid][SpawnDance] = false; //preventing the timer to execute again
    return 1;
}
pawn Код:
//something I found in vactions.pwn
PreloadAnimLib(playerid, animlib[]) ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);

public OnPlayerConnect(playerid)
{   //loading the animation libraries
    PreloadAnimLib(playerid,"BOMBER");
    PreloadAnimLib(playerid,"RAPPING");
    PreloadAnimLib(playerid,"SHOP");
    PreloadAnimLib(playerid,"BEACH");
    PreloadAnimLib(playerid,"SMOKING");
    PreloadAnimLib(playerid,"FOOD");
    PreloadAnimLib(playerid,"ON_LOOKERS");
    PreloadAnimLib(playerid,"DEALER");
    PreloadAnimLib(playerid,"CRACK");
    PreloadAnimLib(playerid,"CARRY");
    PreloadAnimLib(playerid,"COP_AMBIENT");
    PreloadAnimLib(playerid,"PARK");
    PreloadAnimLib(playerid,"INT_HOUSE");
    PreloadAnimLib(playerid,"FOOD");
    PreloadAnimLib(playerid,"PED");
    //so the timer can be executed again
    PlayerInfo[playerid][SpawnDance] = true;
    ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1); //preventing a bug for the animation not being applied the first time OnPlayerRequestClass is called
    return 1;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
  PlayerInfo[playerid][SpawnAngle] = 0.0; //so when you leave and another player comes, the camera will start from start
  PlayerInfo[playerid][SpawnDance] = true; //to not execute to much timers
    KillTimer( PlayerInfo[playerid][SpawnTimer] ); //to kill it, since its useless now
    PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0); // (blank sound) to shut the music up
    SetCameraBehindPlayer(playerid); //to prevent some bugs
    return 1;
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
  KillTimer( PlayerInfo[playerid][SpawnTimer] );
  return 1;
}
pawn Код:
//The business part of the code
forward MoveCamera(playerid);
public MoveCamera(playerid)
{
    //this is called trigonometry. It makes the camera spin
    //you can experiment with this line. Just change the values 2, 10 and 3 to make different effects
  SetPlayerCameraPos(playerid, player_x - 2 * floatsin(-PlayerInfo[playerid][SpawnAngle], degrees), player_y - 10 * floatcos(-PlayerInfo[playerid][SpawnAngle], degrees), player_z + 3);
  SetPlayerCameraLookAt(playerid, player_x, player_y, player_z + 0.5);
 
    //changing the angle a little
  PlayerInfo[playerid][SpawnAngle] += 0.5;

  if (PlayerInfo[playerid][SpawnAngle] >= 360.0)
    PlayerInfo[playerid][SpawnAngle] = 0.0;

}
Agora vamos aos erros.
pawn Код:
F:\Adriano-Panwo\gamemodes.pwn(167) : warning 201: redefinition of constant/macro (symbol "pInfo") //ja existe um outro "pInfo" em meu gm o que fazer ?.
F:\Adriano-Panwo\gamemodes.pwn(837) : warning 225: unreachable code
F:\Adriano-Panwo\gamemodes.pwn(1423) : error 021: symbol already defined: "ShowPlayerDialog"
F:\Adriano-Panwo\gamemodes.pwn(1426) : error 021: symbol already defined: "dini_IntSet"
F:\Adriano-Panwo\gamemodes.pwn(1428) : error 010: invalid function or declaration
F:\Adriano-Panwo\gamemodes.pwn(1430) : error 021: symbol already defined: "GivePlayerWeapon"
F:\Adriano-Panwo\gamemodes.pwn(1441) : error 021: symbol already defined: "TextDrawShowForPlayer"
F:\Adriano-Panwo\gamemodes.pwn(1442) : error 010: invalid function or declaration
F:\Adriano-Panwo\gamemodes.pwn(1444) : error 054: unmatched closing brace ("}")
F:\Adriano-Panwo\gamemodes.pwn(1445) : error 010: invalid function or declaration
F:\Adriano-Panwo\gamemodes.pwn(1452) : error 010: invalid function or declaration
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


9 Errors.
pawn Код:
//Dialogs
#define REGISTRO    1
#define LOGIN       2
#define AVISO       3

//REGISTRO
#define PASTA_CONTAS        "/Contas/%s.ini"         //Diretуrio onde as contas sгo salvas
#define MAX_SENHA           16                      //Tamanho mбximo da senha
#define MIN_SENHA           4                       //Tamanho mнnimo da senha
#define TENTATIVAS_LOGIN    3                       //Ao exceder o limite de tentativas, й kickado

enum pInfo
{
    Senha[MAX_SENHA+1],
    Logged,
    LoginsFalsos
} //linha 167!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

new PlayerInfo[MAX_PLAYERS][pInfo];
new file[128];
new STRX[256];
pawn Код:
TextDrawShowForPlayer(playerid, topblack);//linha 837
    TextDrawShowForPlayer(playerid, bottomblack);[/pwn]
[/pwna]  ShowPlayerDialog(playerid,DIALOG_CANAL,DIALOG_STYLE_LIST,"Mudar Canal","Canal 0\r\nCanal 1\r\nCanal 2\r\nCanal 3\r\nCanal 4\r\nCanal 5","Mudar", "Fechar");//linha 23
    TextDrawHideForPlayer(playerid, topblack);
    TextDrawHideForPlayer(playerid, bottomblack);
    dini_IntSet(file, "Skin", SkinSalvo[playerid]);//linha 1426
    SetPlayerSkin(playerid, SkinSalvo[playerid]);
    if(NoMataMata[playerid] == 1){//linha 1428
        RSpawnMataMata(playerid);
        GivePlayerWeapon(playerid,24,5000);//linha 1430
pawn Код:
TextDrawShowForPlayer(playerid, BKs); //linha 1441
    if(NoMataMata[playerid] == 0){ //linha 1442
    RandomSpawn(playerid);
    } //linha 1444
    if(DMer[playerid] == 1){ //linha 1445
        GivePlayerWeapon(playerid,24,5000);
        GivePlayerWeapon(playerid,27,5000);
        GivePlayerWeapon(playerid,29,5000);
        GivePlayerWeapon(playerid,31,5000);
        GivePlayerWeapon(playerid,34,5000);
    }
    return 1; //linha 1452
}

Creio eu que o poblema esta la em cima. me ajuda ?
quem quiser me ajuda e nao enteder muito bem o que eu to querendo baixa o gm "perfect games" e tenta coloca iso pra min. obrigado pessoal
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)