[Ajuda] Se pegou nao pega mais
#1

Galera eu tou criando umas pickups no server para ajudar os play sу que eu nгo quero que o pessoal fique toda hora pegando pickup pq ai fica chato nй aн o que eu pensei й botar pro play poder pegar tal pickup se n pegou ai se pegou sу pega dnv qnd morrer aн eu tlgd cm faz o if lб e tal mбs eu n tou conseguindo fazer acontecer seria assim : peguei a vida tento pegar denovo aparece a msg vocк ja pegou vida, tendeu?
Reply
#2

Ex:
Код:
new pickupvida[2]; // esse й o new do pickup
new verificavida[2];

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == pickupvida[0])
{
if(verificarvida[0] == 1) return SendClientMessage(...);
else if(verificarvida[0] == 0)
{
SetPlayerHealth(...);
verificarvida[0] = 1;
}
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
verificarvida[0] = 0;
verificarvida[1] = 0;
}


ou

public OnPlayerDeath(playerid, killerid, reason)
{
for(new i=0; i<2; i++)
verificarvida[i] = 0;

}
Mais ou menos assim...
Reply
#3

Quote:
Originally Posted by iLordGG
Посмотреть сообщение
Ex:
Код:
new pickupvida[2]; // esse й o new do pickup
new verificavida[2];

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == pickupvida[0])
{
if(verificarvida[0] == 1) return SendClientMessage(...);
else if(verificarvida[0] == 0)
{
SetPlayerHealth(...);
verificarvida[0] = 1;
}
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
verificarvida[0] = 0;
verificarvida[1] = 0;
}


ou

public OnPlayerDeath(playerid, killerid, reason)
{
for(new i=0; i<2; i++)
verificarvida[i] = 0;

}
Mais ou menos assim...
ss eu tenho um cуdigo semelhante a esse porem eu tou falando onde vou jogar pra dizer que aquela pickup tem limite entende?
Reply
#4

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == pickupvida[0])
{
if(verificarvida[0] == 1) return SendClientMessage(playerid, -1, "* Vocк ja pegou sua vida, agora sу depois de morrer!"); // aqui, se ja pegou uma vez й definido como 1, entao manda mensagem dizendo que o player ja pegou o pickup uma vez dai sу dps de morrer.. muda a frase dai :v
else if(verificarvida[0] == 0) // aqui й se ainda nao pegou dai seta a vida e bota o verificador pra 1, dizendo que ja pegou uma vez...
{
SetPlayerHealth(...);
verificarvida[0] = 1;
}
}
return 1;
}

na onplayerdeath й tudo definido os verificadores pra 0, faz tambйm no onplayerdisconnect e connect...
Reply
#5

Quote:
Originally Posted by iLordGG
Посмотреть сообщение
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == pickupvida[0])
{
if(verificarvida[0] == 1) return SendClientMessage(playerid, -1, "* Vocк ja pegou sua vida, agora sу depois de morrer!"); // aqui, se ja pegou uma vez й definido como 1, entao manda mensagem dizendo que o player ja pegou o pickup uma vez dai sу dps de morrer.. muda a frase dai :v
else if(verificarvida[0] == 0) // aqui й se ainda nao pegou dai seta a vida e bota o verificador pra 1, dizendo que ja pegou uma vez...
{
SetPlayerHealth(...);
verificarvida[0] = 1;
}
}
return 1;
}

na onplayerdeath й tudo definido os verificadores pra 0, faz tambйm no onplayerdisconnect e connect...
n й isso mano tou falando assim a funзгo
PHP код:
CreatePickup(124221503.33591432.358510.1191, -1); 
onde eu boto??
Reply
#6

Quote:
Originally Posted by nasser
Посмотреть сообщение
n й isso mano tou falando assim a funзгo
PHP код:
CreatePickup(124221503.33591432.358510.1191, -1); 
onde eu boto??
ongamemodeinit
Reply
#7

Quote:
Originally Posted by GiromB
Посмотреть сообщение
ongamemodeinit
aff cara n ta entendendo aн como o sistema vai saber que aquela pickup nгo pode ser pega mais de 1 vez a cada morte?? ta entendendo agr?
Reply
#8

CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld);
https://sampwiki.blast.hk/wiki/PickupTypes
Reply
#9

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld);
https://sampwiki.blast.hk/wiki/PickupTypes
Meu Deus viu olha esquece vou dar meu jeito aq
Reply
#10

Alterando o tipo da pickup vocк altera o que acontece com ela para o jogador quando o mesmo pega ela. Nesse link descreve o que cada tipo faz, exemplo:
Код:
CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1); //desaparece ao pegar, aparece denovo depois de 15 segundos
CreatePickup(1242, 3, 1503.3359, 1432.3585, 10.1191, -1); //desaparece ao pegar, aparece denovo depois de morrer
Agora se quiser com mensagem de erro e que o pickup nunca desapareзa:
Код:
new Pck, bool:PegouPck[MAX_PLAYERS];

public OnGameModeInit()
{
	Pck = CreatePickup(1242, 1, 1503.3359, 1432.3585, 10.1191, -1);
	return 1;
}

public OnPlayerSpawn(playerid)
{
    PegouPck[playerid] = false;
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	if(pickupid == Pck)
	{
	    if(PegouPck[playerid] == true)
	    {
	        SendClientMessage(playerid, 0xFF0000FF, "Vocк jб pegou o pickup!");
	    }
	    else
	    {
	        SendClientMessage(playerid, 0x00FF00FF, "Vocк pegou o pickup com sucesso!");
	        PegouPck[playerid] = true;
	    }
	    return 1;
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)