
public OnPlayerRequestClass(playerid, classid)
{
iSpawnSet[playerid] = 0;
SetPlayerPos(playerid,4098.5454,-1396.0684,714.0687);
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 32.4883);
InterpolateCameraPos(playerid, 4407.319335, -1393.251831, 804.640808, 4107.176757, -1395.939208, 716.058837, 10000);
InterpolateCameraLookAt(playerid, 4402.560058, -1393.228149, 803.107543, 4102.177246, -1395.886962, 716.075683, 1000);
PlayerTextDrawShow(playerid, SkinS[playerid]);
new skintexto[60];
format(skintexto, 60, "~b~Skin: ~w~ %d", classid);
PlayerTextDrawSetString(playerid, SkinS[playerid], skintexto);
return 1;
}
|
Buenas amigos de forum samp
Tengo una duda, cree 2 camaras para que se interpolen al iniciar, una empieza desde el cielo, y la otra llega a la posicion del skin. hasta ahi todo bien ![]() pero ahora mi duda es: como puedo hacer que cada que le demos a cambiar skin, no se vuelva ah iniciar el procedimiento de interlop de las camaras, osease que no se repita el movimiento de la camara del cielo a el skin. aqui el codigo de onplayerrequestclass. Код:
public OnPlayerRequestClass(playerid, classid)
{
iSpawnSet[playerid] = 0;
SetPlayerPos(playerid,4098.5454,-1396.0684,714.0687);
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 32.4883);
InterpolateCameraPos(playerid, 4407.319335, -1393.251831, 804.640808, 4107.176757, -1395.939208, 716.058837, 10000);
InterpolateCameraLookAt(playerid, 4402.560058, -1393.228149, 803.107543, 4102.177246, -1395.886962, 716.075683, 1000);
PlayerTextDrawShow(playerid, SkinS[playerid]);
new skintexto[60];
format(skintexto, 60, "~b~Skin: ~w~ %d", classid);
PlayerTextDrawSetString(playerid, SkinS[playerid], skintexto);
return 1;
}
|
new bool:ComenzoCamara[MAX_PLAYERS];
public OnPlayerRequestClass(playerid, classid)
{
iSpawnSet[playerid] = 0;
SetPlayerPos(playerid,4098.5454,-1396.0684,714.0687);
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 32.4883);
if(ComenzoCamara[playerid] == false)
{
InterpolateCameraPos(playerid, 4407.319335, -1393.251831, 804.640808, 4107.176757, -1395.939208, 716.058837, 10000);
InterpolateCameraLookAt(playerid, 4402.560058, -1393.228149, 803.107543, 4102.177246, -1395.886962, 716.075683, 1000);
ComenzoCamara[playerid] = true;
}
PlayerTextDrawShow(playerid, SkinS[playerid]);
new skintexto[60];
format(skintexto, 60, "~b~Skin: ~w~ %d", classid);
PlayerTextDrawSetString(playerid, SkinS[playerid], skintexto);
return 1;
}
|
ese callback es llamado cuando le dan a las flechitas para cambiar el skin, debes hacer el interporlate cuando lo mandes a la selecciуn de skins
|
|
pawn Код:
|
|
pero con eso pasa que al spawnear el siguiente jugador que entra ya no le carga la camara y selecciona el skin en el cielo, como hago que se reinciie el spawnear y que lo puedan seguir usando los que entren o pulsen f4 para regresar a la seleccion de skin?
|