[Ajuda] Anomalia em posiзхes de cвmera
#1

Fui responder um tуpico e me deparei com esta dъvida:

Quote:
Originally Posted by DayvisonJJB
Посмотреть сообщение
Porque quando eu Uso:
PHP код:
TogglePlayerSpectating(playerid,true); 
E em seguida:
PHP код:
    SetPlayerCameraPos(playerid1322.08, -2095.54108.22); 
    
SetPlayerCameraLookAt(playerid1317.05, -2092.80106.44); 
A tela fica congelada na poisiзгo: 50.50, 50.50, 50.50(Padrгo do TogglePlayerSpectating)
A soluзгo foi usar um Timer de 300 ms para setar apуs a camera do player, porйm sу funciona em alguns players. Por que disso? seria o FPS?
Eu algumas vezes tenho problemas com a funзгo SetPlayerPos, ela simplesmente nгo seta a posiзгo. Tentei fazer uma soluзгo pro problema, criando o sistema abaixo (nгo vou explicar muito o cуdigo):

PHP код:
new IsForcingCamera[MAX_PLAYERS];
forward ChecarCamera(playerid,Float:_x,Float:_y,Float:_z);
public 
ChecarCamera(playerid,Float:_x,Float:_y,Float:_z)
{
    new 
Float:xFloat:yFloat:z;
    
GetPlayerCameraPos(playerid,x,y,z);
    
    
// Vamos criar uma variбvel para ver uma taxa de variaзгo de cвmera.
    // Eu nгo sei se a cвmera fica exatamente na posiзгo, vamos por um erro. 
    
new Float:taxa;
    
// Calcula a taxa
    
taxa floatabs(_x x) + floatabs (_y y) + floatabs (_z z);
   
// Faz a comparaзгo
    
if(taxa 5.0// atй 5.0 seria uma variaзгo aceitбvel
        
SetPlayerCameraPos(playerid,_x,_y,_z);
        
     
// DEBUG ONLY
    
printf("Posiзгo setada: (%.02f,%.02f,%.02f)",_x,_y,_z);
    
printf("Posiзгo obtida: (%.02f,%.02f,%.02f)",x,y,z);
    
printf("Taxa: %0.2f. Considerada %s.",taxa,taxa ? ("nгo aceitбvel") : ("aceitбvel"));
    return 
1;
}
CMD:teste(playerid)
{
    
ForcePlayerCameraPos(playerid,100.0,100.0,100.0);
    return 
1;
}
stock ForcePlayerCameraPos(playerid,Float:_x,Float:_y,Float:_z

    
KillTimer(IsForcingCamera[playerid]); 
    
SetPlayerCameraPos(playerid,_x,_y,_z); 
    
IsForcingCamera[playerid] = SetTimerEx("ChecarCamera",1001,false,"dfff",playerid,_x,_y,_z); 

Estou chamando ForcePlayerCameraPos no comando teste, e tambйm quando um jogador entra no servidor.

O comando /teste nгo setou a posiзгo da cвmera nenhuma vez. (nem mesmo forзando)

Jб quando eu setei a cвmera quando o jogador se conectou, setou de primeira e os resultados obtidos foram estes:



Resultado absurdo da funзгo GetPlayerCameraPos.

E й claro que nгo deu certo a funзгo de forзar -.-

A minha conclusгo й que ambas as funзхes de setar/obter cвmera, estгo com problemas.

Qual a opiniгo de vocкs sobre isto? Ou sou eu que to fazendo bost@?
Reply


Messages In This Thread
Anomalia em posiзхes de cвmera - by arakuta - 04.04.2015, 04:56
Re: Anomalia em posiзхes de cвmera - by n0minal - 04.04.2015, 06:49
Re: Anomalia em posiзхes de cвmera - by arakuta - 04.04.2015, 11:41
Re: Anomalia em posiзхes de cвmera - by n0minal - 04.04.2015, 13:59
Re: Anomalia em posiзхes de cвmera - by arakuta - 04.04.2015, 19:17
Re: Anomalia em posiзхes de cвmera - by n0minal - 04.04.2015, 19:43
Re: Anomalia em posiзхes de cвmera - by arakuta - 04.04.2015, 20:55
Re: Anomalia em posiзхes de cвmera - by n0minal - 05.04.2015, 01:20

Forum Jump:


Users browsing this thread: 1 Guest(s)