[Ajuda] Contagem de segundos
#1

Galera tenho um sistema de duelo no meu gamemode, ao fim do duelo ele exibi uma mensagem assim :

Код:
O Player "Jogador" venceu "Jogadar2", sobrando 200!"
so que eu queria que mostra-se quanto segundos demorou esse duelo. exemplo :

Код:
O Player "Jogador" venceu "Jogadar2", sobrando 200 em 10 segundos!"
alguem pode me ajudar com isso por favor !
Reply
#2

Crie uma variбvel global para o tempo do duelo.

PHP код:
new Tempo
Quando comeзar o duelo vocк armazena o valor do tempo na variбvel.

PHP код:
Tempo gettime(); 
Quando o duelo acabar vocк sу diminui o tempo com o valor do tempo da sua variбvel.

PHP код:
new TempoDoDuelo gettime() - Tempo
Reply
#3

sou novo em pawno pode me ajudar nao conseguir fazer vou postar os codigos e ve se voce consegue fazer pra min !

Codigo Duel :

Код:
CMD:duel(playerid)
{
   	new Float:arm;
	GetPlayerArmour(playerid,arm);
	if(arm < 100) return SendClientMessage(playerid,azul,"Vocк sу pode usar /duel com a vida/colete cheios!");
	if(Morto[playerid] == true) return SendClientMessage(playerid,azul,"Vocк nгo pode digitar este comando estando morto!");
	if(Duel[playerid] != 998) return SendClientMessage(playerid,azul,"Vocк jб estб em um DUEL.");
	Duel[playerid] = 999;
	SetPlayerInterior(playerid,1);
	Lagduel[playerid] = false;
	SetPlayerVirtualWorld(playerid,playerid);
	SetPlayerPos(playerid,1403.6039,-20.7303,1000.9115);
	SetPlayerFacingAngle(playerid,92.2);
	new anuncio[80];
	format(anuncio,sizeof anuncio,"[DUEL] %s criou um duel! Digite /aceitar {FFFFFF}%d.",GetName(playerid),playerid);
	SendClientMessageToAll(verde,anuncio);
	GivePlayerWeapon(playerid, 24, 200);
	return 1;
}
Codigo aceitar duel :

Код:
CMD:aceitar(playerid,params[])
{
   	new Float:arm;
	GetPlayerArmour(playerid,arm);
	if(arm < 100) return SendClientMessage(playerid,azul,"Vocк sу pode usar /aceitar [ID] com a vida/colete cheios!");
	if(Morto[playerid] == true) return SendClientMessage(playerid,azul,"Vocк nгo pode digitar este comando estando morto!");
	new id;
	if(sscanf(params,"d",id)) return SendClientMessage(playerid,azul,"Uso: /aceitar [ID]");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid,azul,"ID Invalido!");
	if(Duel[id] != 999) return SendClientMessage(playerid,azul,"Duel ja comeзou ou nгo existe!");
	if(id == playerid) return SendClientMessage(playerid,azul,"Vocк nгo pode aceitar seu proprio duel");
	new a[95];
	format(a,sizeof a,"[DUEL] {FFFFFF}%s {FF7A17}aceitou duel com {FFFFFF}%s!",GetName(playerid),GetName(id));
	SendClientMessageToAll(laranja,a);
	Duel[id] = playerid;
	Duel[playerid] = id;
	Lagduel[playerid] = Lagduel[id];
	SetPlayerVirtualWorld(playerid,id);
	SetPlayerInterior(playerid,1);
	SetPlayerPos(playerid,1376.0934,-22.0428,1000.9268);
	SetPlayerFacingAngle(playerid,271.4);
	SetPlayerPos(id,1403.6039,-20.7303,1000.9115);
	SetPlayerFacingAngle(id,92.4);
	GivePlayerWeapon(playerid, 24, 200);
	Contagem(playerid,id);
	return 1;
}
Stock EndDuel:

Код:
stock EndDuel(winner,loser,bool:dueltype)
{
	Duel[winner] = 998;
	Duel[loser] = 998;
	Player[winner][wins] ++;
	Player[loser][losses] ++;
	Lagduel[winner] = false;
	Lagduel[loser] = false;
	SetPlayerTeam(winner,1);
	SetPlayerTeam(loser,1);
	new wl[132];
	new Float:result,Float:life,Float:armour;
	GetPlayerArmour(winner,armour);
	GetPlayerHealth(winner,life);
	result = life + armour;
	new type[4];
	if(dueltype == true) type = "LAG";
	if(result >= 200)
	{
		format(wl,sizeof wl,"[%sDUEL] O Player {FFFFFF}%s {FF7A17}venceu {FFFFFF}%s de {FFFF22}perfect!",type,GetName(winner),GetName(loser));
	}
	else
	{
		format(wl,sizeof wl,"[%sDUEL] O Player {FFFFFF}%s {FF7A17}venceu {FFFFFF}%s, {FF7A17}sobrando {FFFFFF}%d.",type,GetName(winner),GetName(loser),floatround(result));
	}
	SendClientMessageToAll(laranja,wl);
	SetPlayerVirtualWorld(winner,0);
	SetPlayerInterior(winner,0);
	SetPlayerHealth(winner,100);
	SetPlayerArmour(winner,100);
	SetPlayerRandomPos(winner);
	return 1;
}
Stock contagem :

Код:
stock Contagem(p1,p2)
{
	TogglePlayerControllable(p1,0);
	TogglePlayerControllable(p2,0);
	GameTextForPlayer(p1,"3",1000,6);
	GameTextForPlayer(p2,"3",1000,6);
	PlayerPlaySound(p1,1056,0,0,0);
	PlayerPlaySound(p2,1056,0,0,0);
	SetTimerEx("Cont",1000,false,"iii",p1,p2,2);
}
Ve se tu consegue fazer pra min por favor !
Reply
#4

"+ Rep para EditPawn"
Ta bem explicado la em cima, mas tenta aii adicionado, acho q vai pegar!
Espero que nгo dк problemas..

No Topo do GM
Quote:

new Tempo;

Quote:

CMD:duel(playerid)
{
new Float:arm;
Tempo = gettime();
GetPlayerArmour(playerid,arm);
if(arm < 100) return SendClientMessage(playerid,azul,"Vocк sу pode usar /duel com a vida/colete cheios!");
if(Morto[playerid] == true) return SendClientMessage(playerid,azul,"Vocк nгo pode digitar este comando estando morto!");
if(Duel[playerid] != 99 return SendClientMessage(playerid,azul,"Vocк jб estб em um DUEL.");
Duel[playerid] = 999;
SetPlayerInterior(playerid,1);
Lagduel[playerid] = false;
SetPlayerVirtualWorld(playerid,playerid);
SetPlayerPos(playerid,1403.6039,-20.7303,1000.9115);
SetPlayerFacingAngle(playerid,92.2);
new anuncio[80];
format(anuncio,sizeof anuncio,"[DUEL] %s criou um duel! Digite /aceitar {FFFFFF}%d.",GetName(playerid),playerid);
SendClientMessageToAll(verde,anuncio);
GivePlayerWeapon(playerid, 24, 200);
return 1;
}

Quando terminar o duel::

Quote:

stock EndDuel(winner,loser,bool:dueltype)
{
new TempoDoDuelo = gettime() - Tempo;
Duel[winner] = 998;
Duel[loser] = 998;
Player[winner][wins] ++;
Player[loser][losses] ++;
Lagduel[winner] = false;
Lagduel[loser] = false;
SetPlayerTeam(winner,1);
SetPlayerTeam(loser,1);
new wl[132];
new Float:result,Float:life,Float:armour;
GetPlayerArmour(winner,armour);
GetPlayerHealth(winner,life);
result = life + armour;
new type[4];
if(dueltype == true) type = "LAG";
if(result >= 200)
{
format(wl,sizeof wl,"[%sDUEL] O Player {FFFFFF}%s {FF7A17}venceu {FFFFFF}%s de {FFFF22}perfect!",type,GetName(winner),GetName(los er));
}
else
{
format(wl,sizeof wl,"[%sDUEL] O Player {FFFFFF}%s {FF7A17}venceu {FFFFFF}%s, {FF7A17}sobrando {FFFFFF}%d.",type,GetName(winner),GetName(loser),floatround(r esult), TempoDoDuelo);
}
SendClientMessageToAll(laranja,wl);
SetPlayerVirtualWorld(winner,0);
SetPlayerInterior(winner,0);
SetPlayerHealth(winner,100);
SetPlayerArmour(winner,100);
SetPlayerRandomPos(winner);
return 1;
}

So adicionar ao comando! "+Rep pra EditPawn"
Reply
#5

Funciono certinho mano Obrigado !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)