public OnPlayerSpawn(Playerid)
Random
/save
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-421.168640, 2507.081542, 124.304687);
SetPlayerFacingAngle(playerid,93.631935);
SetPlayerCameraPos(playerid,-431.822967, 2506.083496, 127.304687);
SetPlayerCameraLookAt(playerid,-421.168640, 2507.081542, 124.304687);
ApplyAnimation(playerid,"DANCING","dance_loop", 4.1,1,1,1,1,1);
return 1;
}
|
dice eso y lo qe le puse arriba pide los dos! pero el segundo no se como cambiar las camaras xD
|
//donde el jugador se generan
#define player_x -250.9738
#define player_y 2585.6497
#define player_z 63.5703
#define player_angle 210.3500
//Cбmara y reproductor, el que CREE QUE USTED PUEDE VER EL JUGADOR
//Nota: Para un mejor efecto, dejar que la cбmara sea a pocos metros del jugador
#define camera_x -248.9410
#define camera_y 2581.5327
#define camera_z 64.9334
//ATENCIУN: ESTAS SON milisegundos
//no probado, pero deberнa funcionar en la teorнa. Cuanto menor sea el valor, mбs rбpido de la cбmara.
#define moving_speed 50
//cosas declarando
//IMPORTANTE: Para que el cуdigo funcione, debe definir el ENUM ANTES PlayerInfo
//simplemente lo copia como si fuera escrito aquн
enum pInfo
{
bool:SpawnDance,
Float:SpawnAngle,
SpawnTimer
};
new PlayerInfo[MAX_PLAYERS][pInfo];
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); //bailar sin problemas. Es mбs adecuado para la mъsica
PlayerPlaySound(playerid, 1097,-119.9460,23.1096,12.2238); //mъsica, duh
//asegurarse de que el temporizador se ejecuta una sola vez, por lo que la cбmara no se va demasiado rбpido
if (PlayerInfo[playerid][SpawnDance]) PlayerInfo[playerid][SpawnTimer] = SetTimerEx("MoveCamera", moving_speed, true, "i", playerid);
PlayerInfo[playerid][SpawnDance] = false; //prevenir el temporizador para ejecutar de nuevo
return 1;
}
//algo que encontrй en vactions.pwn
PreloadAnimLib(playerid, animlib[]) ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
public OnPlayerConnect(playerid)
{ //cargar la biblioteca de animaciуn
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");
//el timer puede ser ejecutado
PlayerInfo[playerid][SpawnDance] = true;
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1); //la prevenciуn de un error de la animaciуn no se aplica la OnPlayerRequestClass primera vez
return 1;
}
public OnPlayerSpawn(playerid)
{
PlayerInfo[playerid][SpawnAngle] = 0.0; //asн que cuando te vas y viene otro jugador, la cбmara se iniciarб desde el principio
PlayerInfo[playerid][SpawnDance] = true; //a no ejecutar a los temporizadores mucho
KillTimer( PlayerInfo[playerid][SpawnTimer] ); //acabar con йl, desde su ya inъtil
PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0); // (sonido blanco) para apagar la mъsica para arriba
SetCameraBehindPlayer(playerid); //para evitar algunos errores
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
KillTimer( PlayerInfo[playerid][SpawnTimer] );
return 1;
}
//La parte empresarial del cуdigo
forward MoveCamera(playerid);
public MoveCamera(playerid)
{
//esto se llama trigonometrнa. Se hace girar la cбmara
//usted puede experimentar con esta lнnea. Sуlo tienes que cambiar los valores de 2, 10 y 3 para realizar diferentes efectos
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);
//cambiar el бngulo un poco
PlayerInfo[playerid][SpawnAngle] += 0.5;
if (PlayerInfo[playerid][SpawnAngle] >= 360.0)
PlayerInfo[playerid][SpawnAngle] = 0.0;
}
#define player_x -250.9738
#define player_y 2585.6497
#define player_z 63.5703
#define player_angle 210.3500