SA-MP Forums Archive
[AJUDA] Float - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Float (/showthread.php?tid=298467)



[AJUDA] Float - Mattos - 20.11.2011

Galera visando acabar com o problema de entrar em pickups (originais do GTA os amarelinhos) diferentes sу que para interiores iguais e os players se verem la dentro eu fiz o seguinte:

pawn Код:
stock Float:restofloat(Float:dividendo, Float:divisor)  // fuзгo do rjjj
{
    new r[2];
    new s[10];
    r[0] = floatround(1000 * dividendo, floatround_ceil);
    r[1] = floatround(1000 * divisor, floatround_ceil);
    valstr(s, (r[0] % r[1]), false);
    s[strlen(s)] = '0';
    new len = strlen(s);
    s[len-2] = s[len-3];
    s[len-3] = s[len-4];
    s[len-4] = '.';
    return floatstr(s);
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);                
               
        new VW = (x - restofloat(x, 1))+6000;

        SetPlayerVirtualWorld(playerid,VW);

    return 1;
}
Muitos de vocкs vao falar, б pq vc nao faz um random ou seta o VW o proprio id do player que ae eles nao vao se ver la dentro de jeito nenhum... mas a ideнa й que eles contnuem se vendo se entrarem pelo mesmo local pra tornar o negуcio realistico...

Bom a idйia da funзгo й o retofloat pegar o resto da divisгo de x por 1...

vamos supor que x = 2036,22... o resto dessa divisгo seria 0,22... entao 2036,22 - 0,22 = 2036...

Entao sabedo que tem pickups que ficam em numeros negativos eu somei 6000 por preocauзгo.... ficando 8036...

ai ele seta para 8036 o VW do player... sу que ta dando um aviso na linha "new VW = (x - restofloat(x, 1))+6000;" o aviso: tagmismatch...

Aguardo por respostas...


Re: [AJUDA] Float - Cristhian - 20.11.2011

@Edit

Nгo funcionou meu cуdigo..


Re: [AJUDA] Float - Mattos - 20.11.2011

Agora o aviso foi para a linha SetPlayerVirtualWorld(playerid,VW); que mesmo pondo SetPlayerVirtualWorld(playerid,Float:VW); continua dando tagmismatch... mas acho que agora ficou meio уbvio... nгo da pra setar um float pro mundo virtual....

Serб que teria como trasnformar float em intenger? ainda mais pq esse float й 8036.0000 (seguindo o exemplo que dei)...


Re: [AJUDA] Float - Cristhian - 20.11.2011

tentei tudo aki no meu pawno, mas nada funcionou ..


Re: [AJUDA] Float - Mattos - 20.11.2011

Valeu... Mas alguem?


Re: [AJUDA] Float - Pharrel - 20.11.2011

new VW = floatround((x - restofloat(x, 1))+6000);


Re: [AJUDA] Float - Mattos - 20.11.2011

Valeu pharrel... Pela ajuda mas ja tinha conseguido resolver... +REP