[DUV] SISTEMA SIMPLES DE PAGAMANETO
#1

Olб pessoal estou aqui para lhes pedir para que me de uma ajuda:

sou novo no pawn (+/- 1 mes apenas) e creio que pelo meu grande interesse e pelas minhas pesquisas e testes jб executados consiga criar um GM bem legal de RP...

Bom vamos ao que interessa...

Minha Dъvida:

gostaria de criar um comando que fosse parecido com isso:

Quote:

/pagar [id] [valor]

jб pesquisei e nгo encontrei tutorial parecido

fui estudar o GM VLC (feito pelo CAIO)que й o que eu uso para aprender alguns cуdigos (APENAS APRENDER, NADA DE COPIAR)

e nгo entendi muita coisa.. se alguem pudesse criar um tutorial do genero ficaria agradecido.

ABRASS

ai fica a parte do gm que tentei estudar e nada

Код:
if(strcmp(cmd, "/pagar", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: /pagar [ id ] [quantidade]");
				return 1;
			}
	    giveplayerid = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: /pagar [ id ] [quantidade]");
				return 1;
			}
			moneys = strval(tmp);
			if(moneys > 1000 && PlayerInfo[playerid][pNivel] < 1)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Voce deve ser level 1 para pagar mais de 1000");
				return 1;
			}
			if(moneys > 4000 && PlayerInfo[playerid][pNivel] < 2)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Voce deve ser level 2 para pagar mais de 4000");
				return 1;
			}
			if(moneys > 10000 && PlayerInfo[playerid][pNivel] < 3)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Voce deve ser level 3 para pagar mais de 10000");
				return 1;
			}
			if(moneys > 1000000 && PlayerInfo[playerid][pNivel] < 4)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Voce deve ser level 4 para pagar mais de 10000");
				return 1;
			}
			if(moneys < 1 || moneys > 1000000)
			{
			  SendClientMessage(playerid, COLOR_GRAD1, "Minimo R$1 - Mбximo R$1000000.");
			  return 1;
			}
			if (IsPlayerConnected(giveplayerid))
			{
			  if(giveplayerid != INVALID_PLAYER_ID)
			  {
			    if(PlayerInfo[giveplayerid][pLocal] == 106)
					{
						SendClientMessage(playerid, COLOR_GRAD1, "Impossivel usar este comando neste local");
						return 1;
					}
					if (ProxDetectorS(20.0, playerid, giveplayerid))
					{
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
						playergrana = GetPlayerMoneyEx(playerid);
						if (moneys > 0 && playergrana >= moneys)
						{
						  ConsumingMoney[giveplayerid] = 1;
							GivePlayerMoneyEx(playerid, (0 - moneys));
							GivePlayerMoneyEx(giveplayerid, moneys);
							format(string, sizeof(string), "  Voce pagou %s(Para: %d), R$%d.", giveplayer,giveplayerid, moneys);
							PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
							SendClientMessage(playerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "  Vocк recebeu R$%d de %s(ID: %d).", moneys, sendername, playerid);
							SendClientMessage(giveplayerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "%s pagou R$%d para %s", sendername, moneys, giveplayer);
							PayLog(string);
							if(moneys >= 1000000)
							{
								ABroadCast(COLOR_YELLOW,string,1);
							}
							PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
							format(string, sizeof(string), "* %s deu alguma grana para %s.", sendername ,giveplayer);
							ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						}
						else
						{
							SendClientMessage(playerid, COLOR_GRAD1, "  Pagamento Invalido.");
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "  Jogador estб longe.");
					}
				}//invalid id
			}
			else
			{
				format(string, sizeof(string), "  %d nгo й um jogador ativo.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
	}
OBS: algumas variaveis foram criadas antes lб no GAmeModeIni.....
Reply
#2

Pede ajuda no tуpico do gamemode. E para a prуxima nгo uses capslock no titulo do tуpico.
Reply
#3

Peguei de um gm
pawn Код:
new giveplayerid, moneys, idx;
  new giveplayer[MAX_PLAYER_NAME];
  new sendername[MAX_PLAYER_NAME];
  new playermoney;
  new tmp[256];
    if(strcmp(cmd, "/transferir", true) == 0) {
        tmp = strtok(cmdtext, idx);

        if(!strlen(tmp)) {
            SendClientMessage(playerid, COR_BRANCO, "Use: /pagar [id] [quantidade]");
            return 1;
        }
        giveplayerid = strval(tmp);

        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) {
            SendClientMessage(playerid, COR_BRANCO, "Use: /pagar [id] [quantidade]");
            return 1;
        }
        moneys = strval(tmp);




        if (IsPlayerConnected(giveplayerid)) {
            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
            GetPlayerName(playerid, sendername, sizeof(sendername));
            playermoney = GetPlayerMoney(playerid);
            if (moneys > 0 && playermoney >= moneys) {
                GivePlayerMoney(playerid, (0 - moneys));
                GivePlayerMoney(giveplayerid, moneys);
                format(string, sizeof(string), "Voce enviou %s (id: %d), $%d.", giveplayer,giveplayerid, moneys);
                SendClientMessage(playerid, COR_BRANCO, string);
                format(string, sizeof(string), "Vocк recebeu $%d de %s (id: %d).", moneys, sendername, playerid);
                SendClientMessage(giveplayerid, COR_BRANCO, string);
                printf("%s(playerid:%d) transferiu %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
            }
            else {
                SendClientMessage(playerid, COR_BRANCO, "Erro ao pagar jogador");
            }
        }
        else {
                format(string, sizeof(string), "%d nгo estб online", giveplayerid);
                SendClientMessage(playerid, COR_BRANCO, string);
            }
        return 1;
    }
Reply
#4

Se voce quizer pode usar um timer pra cada x hora ele dar x de dinheiro e mandar uma mensagem
Reply
#5

Quote:
Originally Posted by lucas_loky
Se voce quizer pode usar um timer pra cada x hora ele dar x de dinheiro e mandar uma mensagem
Mas desde quando tem isso haver com o que ele pediu rapaz?
Reply
#6

[DUV] SISTEMA SIMPLES DE PAGAMANETO

Ele queria um sistema simples de pagamento,ele estava pensando em fazer com /pagar,eu sugeri isso...Lamento se voce nao gostou
Reply
#7

A dъvida dele:
Quote:
Originally Posted by Dan_hp
gostaria de criar um comando que fosse parecido com isso:

Quote:

/pagar [id] [valor]

Tua resposta а dъvida dele:
Quote:
Originally Posted by lucas_loky
Se voce quizer pode usar um timer pra cada x hora ele dar x de dinheiro e mandar uma mensagem
O que raio tem haver as cuecas com as meias?
Reply
#8

Quote:
Originally Posted by RoamPT
A dъvida dele:
Quote:
Originally Posted by Dan_hp
gostaria de criar um comando que fosse parecido com isso:

Quote:

/pagar [id] [valor]

Tua resposta а dъvida dele:
Quote:
Originally Posted by lucas_loky
Se voce quizer pode usar um timer pra cada x hora ele dar x de dinheiro e mandar uma mensagem
O que raio tem haver as cuecas com as meias?
Ambos sгo roupa interior.

Comando /givecash id valor - ripado do LVDM.
Reply
#9

Desculpe me se me expressei mal e voce nao conseguiu entender,mas,o que eu quiz dizer foi :

Se voce quizer pode usar um timer pra cada x horas ele dar x de dinheiro e mandar uma mensagem,simulando um Dia de Pagamento

Russo,isso que eu ia falar xD,os dois sao roupas
Reply
#10

Quote:
Originally Posted by RoamPT
A dъvida dele:
Quote:
Originally Posted by Dan_hp
gostaria de criar um comando que fosse parecido com isso:

Quote:

/pagar [id] [valor]

Tua resposta а dъvida dele:
Quote:
Originally Posted by lucas_loky
Se voce quizer pode usar um timer pra cada x hora ele dar x de dinheiro e mandar uma mensagem
O que raio tem haver as cuecas com as meias?
sauhsuahushaushuahusha....... Usar SetTimer num cmd de /pagar suahsuhaushuash
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)