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