03.03.2017, 17:52
Olб,
Estou criando a verificaзгo para colocaзгo do meu sistema de race. Eu fiz um timer para quando o player pegar um CP executa o timer, e esse timer n repete, sу й executado novamente quando o player pega outro CP.
O problema:
Quero que verifica quantos CPs o player tem e assim comparar com quantos CPs os outros tem para assim setar a colocaзгo dele na corrida para 1є, 2є, 3є e assim sucessivamente... Sу que eu fiz o codigo abaixo e ele seta o jogador para 1є caso a quantidade de CPs conquistados seja maior que a dos demais, agora nгo consigo criar para o player em 2є, em 3є e etc... E quando o player em 2є ultrapassa o 1є a posiзгo dele sobe pra 1є, aн quero q o que estava em 1є vб para 2є e etc.
Se alguйm puder me ajudar a fazer um timer melhor, por favor, estou aguardando respostas.
Quando ele pega CP:
Callback do timer:
Estou criando a verificaзгo para colocaзгo do meu sistema de race. Eu fiz um timer para quando o player pegar um CP executa o timer, e esse timer n repete, sу й executado novamente quando o player pega outro CP.
O problema:
Quero que verifica quantos CPs o player tem e assim comparar com quantos CPs os outros tem para assim setar a colocaзгo dele na corrida para 1є, 2є, 3є e assim sucessivamente... Sу que eu fiz o codigo abaixo e ele seta o jogador para 1є caso a quantidade de CPs conquistados seja maior que a dos demais, agora nгo consigo criar para o player em 2є, em 3є e etc... E quando o player em 2є ultrapassa o 1є a posiзгo dele sobe pra 1є, aн quero q o que estava em 1є vб para 2є e etc.
Se alguйm puder me ajudar a fazer um timer melhor, por favor, estou aguardando respostas.
Quando ele pega CP:
Код:
SetTimerEx("VerificarPosicao", 100, false, "i", playerid);
Код:
public VerificarPosicao(playerid){ for(new i = 0; i < MAX_PLAYERS; i++){ if(!IsPlayerConnected(i)) continue; if(Evento[i] == false) continue; if(i == playerid) continue; // Se o i for igual ao playerid if(AddCP[playerid] > AddCP[i] && AlguemGanhou[Colocado[0]] == false){ // Se a quantidade de CP's do jogador for maior que de todos players ele й o primeiro Posicao[Colocado[0]] = 1; Posicao[playerid] = 0; Colocado[0] = playerid; format(Str, sizeof(Str), "~b~~h~1|: ~w~%s", GetName(Colocado[0])); PlayerTextDrawSetString(playerid, Textdraw2[i], Str); PlayerTextDrawSetString(i, Textdraw2[i], Str); format(Str, sizeof(Str), "~b~~h~2|: ~w~%s", GetName(Colocado[1])); PlayerTextDrawSetString(playerid, Textdraw6[i], Str); PlayerTextDrawSetString(i, Textdraw6[i], Str); } format(Str, sizeof(Str), "** {FFFFFF}ID de todos os jogadores exceto playerid: {AA0000}%d", i); SendClientMessage(playerid, Red, Str); } return 1; }