SA-MP Forums Archive
[Ajuda] Ammu Nation - 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] Ammu Nation (/showthread.php?tid=646625)



Ammu Nation - BuDweiSeR - 20.12.2017

Bom estou com uma dъvida sou novo em pawn e nгo tenho um profundo conhecimento sobre a linguagem ainda. Bom, O que eu queria?

Й o Seguinte, queria fazer umas Lojas de Ammu Nation, Alguns com interiores diferentes e outros com interiores iguais, no total sгo 10 lojas de ammu nation, e queria apenas 1 comando para todas. Como sгo mais de 1 interior terei de criar 1 CP para cada interior e nгo sei como verificar varios CP's com o IsPlayerInRangeOfPoint e usar apenas 1 comando para todas os CP's das ammu nation.


Outra duvida, No cуdigo abaixo, Como faзo para descongelar o player caso ele nгo tiver dinheiro para comprar tal item, Pois se ele comprar ele й descongelado mas se nгo comprar, ele permanece congelado.
Код:
public OnPlayerSelectedMenuRow(playerid, row)
{
	if(GetPlayerMenu(playerid) == MenuArmas)
    {
         switch(row)
         {
              case 0: //Ak-47
              {
              if(GetPlayerMoney(playerid) < 4000) SendClientMessage(playerid, COR_ERRO,"| ERRO | Vocк nгo possui R$4000 para comprar estб arma!");
              GivePlayerWeapon(playerid, 30, 999);
              TogglePlayerControllable(playerid, 1);
              }



Re: Ammu Nation - Kledson - 20.12.2017

Seria isso?
PHP код:
CMD:entrarammu(playeridparams[])
{
if(
IsPlayerInRangeOfPoint(playerid,RatioXYZ)) //O Ratio significa uma бrea para suas coordenadas X,Y,Z, tipo vc pode colocar 2.0 no lugar do Ratio
SetPlayerInterior(playeridID);//Troque o ID pelo interior da ammu nation
SetPlayerPos(playeridX,Y,Z);//Coordenadas para o player spawnar dentro do interior
{
if(
IsPlayerInRangeOfPoint(playerid,RatioXYZ))//segundo ammu nation que vc quer colocar.
SetPlayerInterior(playeridID);//igual acima.
SetPlayerPos(playeridX,Y,Z);//tambem igual eu disse acima
}

Se der erro me avise, tbm sou novato.
Se der certo adicione mais IsPlayerInRangeOfPoint


Re: Ammu Nation - BuDweiSeR - 20.12.2017

Nгo, Tipo jб estб criado as Ammu Nation, Tudo certinho entrar Sair, Mas os Interiores das Ammus sгo diferentes e as variaveis dos CP's tambйm, Eu queria saber como faзo para usar apenas 1 Comando para todas as Ammus?

Exemplo: /armas para todas as Ammus


Код:
CMD:armas(playerid, params[])
{
	if(!IsPlayerInRangeOfPoint(playerid, 7.0, 290.1914,-109.2383,1001.5156)) return SendClientMessage(playerid, COR_ERRO, "| ERRO | Vocк nгo estб em uma Ammu Nation!");
	TogglePlayerControllable(playerid, 0);
	ShowMenuForPlayer(MenuArmas, playerid);
	return 1;
}
Em, if(!IsPlayerInRangeOfPoint(playerid, 7.0, 290.1914,-109.2383,1001.5156)) estб б cordenada de apenas 1 CP, Sabendo que sгo outros CP's tambйm, em interiores diferentes.


Re: Ammu Nation - Kledson - 20.12.2017

Quote:
Originally Posted by BuDweiSeR
Посмотреть сообщение
Nгo, Tipo jб estб criado as Ammu Nation, Tudo certinho entrar Sair, Mas os Interiores das Ammus sгo diferentes e as variaveis dos CP's tambйm, Eu queria saber como faзo para usar apenas 1 Comando para todas as Ammus?

Exemplo: /armas para todas as Ammus


Код:
if(IsPlayerInRangeOfPoint(playerid,X, Y, Z))
No X, Y, Z coloco a cordenada sу de 1 CP...
Poise, й tipo um /entrar que dependendo do lugar q vc tб , vc entra em um certo interior, й sу trocar o ID do interior para cada local do IsPlayerInRangeOfPoint. Se nao for isso me desculpe, pq nao entendi e vou ter q sair do pc agr.


Re: Ammu Nation - Kledson - 20.12.2017

Quote:
Originally Posted by BuDweiSeR
Посмотреть сообщение
Nгo, Tipo jб estб criado as Ammu Nation, Tudo certinho entrar Sair, Mas os Interiores das Ammus sгo diferentes e as variaveis dos CP's tambйm, Eu queria saber como faзo para usar apenas 1 Comando para todas as Ammus?

Exemplo: /armas para todas as Ammus


Код:
CMD:armas(playerid, params[])
{
	if(!IsPlayerInRangeOfPoint(playerid, 7.0, 290.1914,-109.2383,1001.5156)) return SendClientMessage(playerid, COR_ERRO, "| ERRO | Vocк nгo estб em uma Ammu Nation!");
	TogglePlayerControllable(playerid, 0);
	ShowMenuForPlayer(MenuArmas, playerid);
	return 1;
}
Em, if(!IsPlayerInRangeOfPoint(playerid, 7.0, 290.1914,-109.2383,1001.5156)) estб б cordenada de apenas 1 CP, Sabendo que sгo outros CP's tambйm, em interiores diferentes.
Ataa, vc vai ter q colocar um if de verificar qual interior o player estб. Leia: https://sampwiki.blast.hk/wiki/GetPlayerInterior


Re: Ammu Nation - zMorningStar - 20.12.2017

Amigo, para fazer o comando funcionar em todas as coordenadas, tente fazer assim:

PHP код:
CMD:armas(playeridparams[])
{
    
// Aqui vocк coloca todas as coordenadas
    
if(!IsPlayerInRangeOfPoint(playerid7.0290.1914,-109.2383,1001.5156)) &&
    !
IsPlayerInRangeOfPoint(playerid7.0290.1914,-109.2383,1001.5156)) &&
    !
IsPlayerInRangeOfPoint(playerid7.0290.1914,-109.2383,1001.5156))
    {
        
TogglePlayerControllable(playerid0);
        
ShowMenuForPlayer(MenuArmasplayerid);
    }
    else
    {
        
SendClientMessage(playeridCOR_ERRO"| ERRO | Vocк nгo estб em uma Ammu Nation!");
    }
    return 
1;

#Concertado.


Re: Ammu Nation - BuDweiSeR - 22.12.2017

Resolvido