[Ajuda] Contador drift bugado!
#1

Fala galera,Queria saber porque meu contador drift quando do esc volto ele contou os pontos como se eu tivesse jogando..e quando eu dou g em algum jogador e saio pego um carro vou driftar soma os pontos que o outro jogador fez enquando estava de g no carro dele?? oque pode ser? e oque no codigo eu deveria colar aqui??
Reply
#2

pawn Код:
new Tick[MAX_PLAYERS];

public OnPlayerUpdate(playerid)
{
    new Float:Pos[3], string[50];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    if(GetTickCount() - Tick[playerid] >= 120000)
    {
        if(GetPVarFloat(playerid, "X") == Pos[0] && GetPVarFloat(playerid, "Y") == Pos[1] && GetPVarFloat(playerid, "Z") == Pos[2])
        {
             // Coloque a funзгo pra cancelar os pontos, tal como: Pontos += 0; (suponho que seja assim, muito tempo sem codar rsrs)
        }
    }
    SetPVarFloat(playerid, "X", Pos[0]);
    SetPVarFloat(playerid, "Y", Pos[1]);
    SetPVarFloat(playerid, "Z", Pos[2]);
    Tick[playerid] = GetTickCount();
    return 1;
}
Feito pelo Shadoww5.
Reply
#3

Eu boto todo esse codigo substituindo ou de base?
Reply
#4

Meu OnplayerUpdate

pawn Код:
public OnPlayerUpdate(playerid)
{
    SetPVarInt(playerid, "SegundosTick", gettime());
    if( gettime() - GetPVarInt(playerid, "SegundosTick") > 1) {
    salvarJogador(playerid);
    Msg(playerid, -1, "salvo");
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by best95
Посмотреть сообщение
Eu boto todo esse codigo substituindo ou de base?
Nгo sei qual eh o modelo do seu mas recomendo esse: https://sampforum.blast.hk/showthread.php?tid=86300
Reply
#6

O modelo do meo e pareзido com esse aqui olha: http://forum.sa-mp.com/archive/index.php/t-402070.html so que eu tirei todos os bugs e modifiquei algumas coisas.. queria so ver o porque de eu ficar de g e depois pego um carro vou drift e soma no ranking os pontos que o cara fez quando eu tava de g no carro dele..
Reply
#7

Ninguem sabe o bug oque й?? o.O
Reply
#8

Faz um cуdigo pra verificar se o player й passageiro ispassenger ou PLAYER_STATE_PASSENGER, acho que a funзгo й essa. Se for, faz a mesma coisa que postei anteriormente. Seta adiciona a variбvel += 0.
Reply
#9

Deu isso ae amigo!

(4489) : error 029: invalid expression, assumed zero
(4489 -- 4490) : warning 215: expression has no effect
(4490) : error 001: expected token: ";", but found "}"
(4483) : warning 204: symbol is assigned a value that is never used: "string"

LINHAS DOS ERROS
pawn Код:
+= 0
}
 new Float:Pos[3], string[50];
MEU ONPLAYERUPDATE!

pawn Код:
public OnPlayerUpdate(playerid)
{
    SetPVarInt(playerid, "SegundosTick", gettime());
    if( gettime() - GetPVarInt(playerid, "SegundosTick") > 1) {
    salvarJogador(playerid);
    Msg(playerid, -1, "salvo");
    }
    new Float:Pos[3], string[50];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    if(GetTickCount() - Tick[playerid] >= 120000)
    {
        if(GetPVarFloat(playerid, "X") == Pos[0] && GetPVarFloat(playerid, "Y") == Pos[1] && GetPVarFloat(playerid, "Z") == Pos[2])
        {
        += 0
        }
    }
    SetPVarFloat(playerid, "X", Pos[0]);
    SetPVarFloat(playerid, "Y", Pos[1]);
    SetPVarFloat(playerid, "Z", Pos[2]);
    Tick[playerid] = GetTickCount();
    return 1;
}
Reply
#10

pawn Код:
public OnPlayerUpdate(playerid)
{
    new Float:Pos[3], string[50];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    if(GetTickCount() - Tick[playerid] >= 120000)
    {
        if(GetPVarFloat(playerid, "X") == Pos[0] && GetPVarFloat(playerid, "Y") == Pos[1] && GetPVarFloat(playerid, "Z") == Pos[2])
        {
         SetPlayerScore(playerid, 0);
         salvarJogador(playerid);
        }
    }
    SetPVarFloat(playerid, "X", Pos[0]);
    SetPVarFloat(playerid, "Y", Pos[1]);
    SetPVarFloat(playerid, "Z", Pos[2]);
    Tick[playerid] = GetTickCount();
    return 1;
}
Й essa a logica ...
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)