compra e vendas entre players -
johntrybescripter - 18.01.2017
Ola, ja tentei algumas formas, da ultima vez tentei assim mas o bug й basicamente o mesmo, quero que quando o player aceite ele receba as drogas e debite dele o valor e o outro player receba o valor e ele perca a droga...
porйm quando o player aceita aparece pra ele as 2 coisas...
pawn Код:
CMD:vendermaconha(playerid, params[])
{
new string[128];
if(IsPlayerConnected(playerid))
{
// if(!IsPlayerPerto(playerid)) return SendClientMessage(playerid, Azul, "Jogador esta longe");
// if(!SetPlayerPos(playerid, 8.0, Posx,Posy,Posz)) return SendClientMessage(playerid, Azul, "Jogador esta longe");
if(sscanf(params, "uii", giveid, Gramas, GranaDrogas)) return SendClientMessage(playerid, Azul, "USE: /vendeermaconha [ID][Quantidade][Valor]");
if(pDados[playerid][Maconha] < Gramas) return SendClientMessage(playerid, Azul, "Vocк nгo tem essa quantidade de maconha");
if(GetPlayerMoney(giveid) < GranaDrogas) return SendClientMessage(playerid, Azul, "O jogador nгo tem essa grana");
if(GranaDrogas < 1 || GranaDrogas > 1500) return SendClientMessage(playerid, Azul, "Valor deve estar entre $1 e $1500");
GetPlayerName(giveid, Comprador, sizeof(Comprador));
GetPlayerName(playerid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "[%s] Esta lhe oferecendo %i gramas de maconha por [$%i], use /aceitar caso queira", Vendedor, Gramas, GranaDrogas);
SendClientMessage(giveid, Laranja, string);
format(string, sizeof(string), "Vocк ofereceu para [%s] %i gramas de maconha por [$%i]", Comprador, Gramas, GranaDrogas);
SendClientMessage(playerid, Laranja, string);
GetPVarInt(GranaDrogas,"GranaDrogas");
GetPVarInt(Gramas,"Gramas");
//SetPVarInt(GranaDrogas,"GranaDrogas",GranaDrogas);// = GetPlayerMoney(GranaVenda[playerid]));
//SetPVarInt(Gramas,"Gramas",Gramas);// GetPVarInt(Gramas, "Gramas"));
Vendas = 1;
}
return 1;
}
pawn Код:
CMD:aceitar(playerid) {
new string[128];
if(Vendas == 1)
{
// pDados[giveid][Maconha] += Gramas;
// pDados[giveid][Maconha] = GetPVarInt(Gramas,-"Gramas");
// pDados[playerid][Maconha] = GetPVarInt(Gramas, "Gramas");
// GivePlayerMoney(giveid, GetPVarInt(GranaDrogas,-"GranaDrogas"));
// GivePlayerMoney(playerid, GetPVarInt(GranaDrogas,"GranaDrogas")); // eu mudei playerid e giveid!
pDados[playerid][Maconha] = SetPVarInt(playerid,"Gramas",Gramas);
pDados[giveid][Maconha] = -SetPVarInt(giveid,"Gramas",Gramas);
GivePlayerMoney(playerid,-SetPVarInt(playerid,"GranaDrogas",GranaDrogas));
GivePlayerMoney(playerid, SetPVarInt(giveid, "GranaDrogas",GranaDrogas));
GetPlayerName(playerid, Comprador, sizeof(Comprador));
GetPlayerName(giveid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "Vocк aceitou comprar do [%s], %i gramas de maconha por [$%i]", Vendedor, GetPVarInt(Gramas, "Gramas"), GranaDrogas);
SendClientMessage(playerid, Laranja, string);
format(string, sizeof(string), "Vocк vendeu para %is %i gramas de maconha e recebeu $%i", Comprador, GetPVarInt(Gramas, "Gramas"), GranaDrogas);
SendClientMessage(giveid, Laranja, string);
Vendas = 0;
}
else
{
SendClientMessage(playerid, Azul, "Ninguem lhe ofereceu nada");
return 1;
}
return 1;
}
se alguйm puder ajudar agradeзo!
Re: compra e vendas entre players -
DiegoLeo - 18.01.2017
Tenta assim:
PHP код:
new Vendas[MAX_PLAYERS]// Mude o Vendas para esse!
CMD:vendermaconha(playerid, params[])
{
new string[128];
if(IsPlayerConnected(playerid))
{
// if(!IsPlayerPerto(playerid)) return SendClientMessage(playerid, Azul, "Jogador esta longe");
// if(!SetPlayerPos(playerid, 8.0, Posx,Posy,Posz)) return SendClientMessage(playerid, Azul, "Jogador esta longe");
if(sscanf(params, "uii", giveid, Gramas, GranaDrogas)) return SendClientMessage(playerid, Azul, "USE: /vendeermaconha [ID][Quantidade][Valor]");
if(pDados[playerid][Maconha] < Gramas) return SendClientMessage(playerid, Azul, "Vocк nгo tem essa quantidade de maconha");
if(GetPlayerMoney(giveid) < GranaDrogas) return SendClientMessage(playerid, Azul, "O jogador nгo tem essa grana");
if(GranaDrogas < 1 || GranaDrogas > 1500) return SendClientMessage(playerid, Azul, "Valor deve estar entre $1 e $1500");
GetPlayerName(giveid, Comprador, sizeof(Comprador));
GetPlayerName(playerid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "[%s] Esta lhe oferecendo %i gramas de maconha por [$%i], use /aceitar caso queira", Vendedor, Gramas, GranaDrogas);
SendClientMessage(giveid, Laranja, string);
format(string, sizeof(string), "Vocк ofereceu para [%s] %i gramas de maconha por [$%i]", Comprador, Gramas, GranaDrogas);
SendClientMessage(playerid, Laranja, string);
SetPVarInt(giveid, "Vendedor", playerid);
SetPVarInt(giveid, "Gramas", Gramas);
SetPVarInt(giveid, "ValorDroga", GranaDrogas);
//SetPVarInt(GranaDrogas,"GranaDrogas",GranaDrogas);// = GetPlayerMoney(GranaVenda[playerid]));
//SetPVarInt(Gramas,"Gramas",Gramas);// GetPVarInt(Gramas, "Gramas"));
Vendas[playerid] = 1;
}
return 1;
}
CMD:aceitar(playerid)
{
new string[128], giveid = GetPVarInt(playerid,"Vendedor");
if(Vendas[playerid] == 0) return SendClientMessage(playerid, Azul, "Ninguem lhe ofereceu nada");
pDados[playerid][Maconha] += GetPVarInt(playerid, "Gramas");
pDados[giveid][Maconha] -= GetPVarInt(playerid, "Gramas");
GivePlayerMoney(playerid,-SetPVarInt(playerid,"GranaDrogas",GranaDrogas));
GivePlayerMoney(giveid, SetPVarInt(giveid, "GranaDrogas",GranaDrogas));
GetPlayerName(playerid, Comprador, sizeof(Comprador));
GetPlayerName(giveid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "Vocк aceitou comprar do [%s], %i gramas de maconha por [$%i]", Vendedor, GetPVarInt(Gramas, "Gramas"), GranaDrogas);
SendClientMessage(playerid, Laranja, string);
format(string, sizeof(string), "Vocк vendeu para %is %i gramas de maconha e recebeu $%i", Comprador, GetPVarInt(Gramas, "Gramas"), GranaDrogas);
SendClientMessage(giveid, Laranja, string);
Vendas[playerid] = 0;
return 1;
}
Re: compra e vendas entre players -
johntrybescripter - 18.01.2017
vlww! vou tentar aqui
Re: compra e vendas entre players -
johntrybescripter - 18.01.2017
warning: 219: local variable "giveid" shadows a variable at a preceding level
Tipo, ta um problema semelhante, eu vendo para o player e eu mesmo aceito '-'
Re: compra e vendas entre players -
IlanZ - 18.01.2017
Код:
warning: 219: local variable "giveid" shadows a variable at a preceding level
Warning: 219: variбvel local "giveid" sombreia uma variбvel em um nнvel anterior
Tem 2 variaveis iguais, apague uma...
Re: compra e vendas entre players -
DiegoLeo - 18.01.2017
mude este comando
PHP код:
CMD:aceitar(playerid)
{
new string[128];
giveid = GetPVarInt(playerid,"Vendedor")
if(Vendas[playerid] == 0) return SendClientMessage(playerid, Azul, "Ninguem lhe ofereceu nada");
pDados[playerid][Maconha] += GetPVarInt(playerid, "Gramas");
pDados[giveid][Maconha] -= GetPVarInt(playerid, "Gramas");
GivePlayerMoney(playerid,-SetPVarInt(playerid,"GranaDrogas",GranaDrogas));
GivePlayerMoney(giveid, SetPVarInt(giveid, "GranaDrogas",GranaDrogas));
GetPlayerName(playerid, Comprador, sizeof(Comprador));
GetPlayerName(giveid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "Vocк aceitou comprar do [%s], %i gramas de maconha por [$%i]", Vendedor, GetPVarInt(Gramas, "Gramas"), GranaDrogas);
SendClientMessage(playerid, Laranja, string);
format(string, sizeof(string), "Vocк vendeu para %is %i gramas de maconha e recebeu $%i", Comprador, GetPVarInt(Gramas, "Gramas"), GranaDrogas);
SendClientMessage(giveid, Laranja, string);
Vendas[playerid] = 0;
return 1;
}
Re: compra e vendas entre players -
johntrybescripter - 18.01.2017
nossa verdade! vou testar aqui...
sу que eu fiz um loop agora.. acho que funcionou tb, jaja eu posto aqui, +rep pra vcs ai.
Re: compra e vendas entre players -
johntrybescripter - 18.01.2017
sem voces nunca teria conseguido, seus lindos!
entгo, eu pelo menos nгo me dou bem com esse pvart, dessa forma estava dando "certo", porйm o player nгo recebia a quantia de drogas e o valor tambйm era sempre 1 entгo resolvi fazer diferente.. um detalhe й que no comando vender no final ta "Vendas[playerid] = 1; na verdade й Vendas[giveid] = 1; entгo eu fiz assim:
pawn Код:
CMD:vender(playerid, params[])
{
new string[132];
if(sscanf(params, "uii", giveid, Gramas, GranaDrogas)) return SendClientMessage(playerid, Azul, "USE: /vendeermaconha [ID][Quantidade][Valor]");
if(pDados[playerid][Maconha] < Gramas) return SendClientMessage(playerid, Azul, "Vocк nгo tem essa quantidade de maconha");
if(GetPlayerMoney(giveid) < GranaDrogas) return SendClientMessage(playerid, Azul, "O jogador nгo tem essa grana");
if(GranaDrogas < 1 || GranaDrogas > 1500) return SendClientMessage(playerid, Azul, "Valor deve estar entre $1 e $1500");
GetPlayerName(giveid, Comprador, sizeof(Comprador));
GetPlayerName(playerid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "[%s] Esta lhe oferecendo %i gramas de maconha por [$%i], use /aceitar caso queira", Vendedor, Gramas, GranaDrogas);
SendClientMessage(giveid, Laranja, string);
format(string, sizeof(string), "Vocк ofereceu para [%s] %i gramas de maconha por [$%i]", Comprador, Gramas, GranaDrogas);
SendClientMessage(playerid, Laranja, string);
SetPVarInt(giveid, "Vendedor", playerid);
Vendas[giveid] = 1;
return 1;
}
pawn Код:
CMD:aceitar(playerid)
{
new string[128];
giveid = GetPVarInt(playerid,"Vendedor");
if(Vendas[playerid] == 0) return SendClientMessage(playerid, Azul, "Ninguem lhe ofereceu nada");
pDados[playerid][Maconha] += Gramas;
pDados[giveid][Maconha] -= Gramas;
GivePlayerMoney(playerid,-GranaDrogas);
GivePlayerMoney(giveid, GranaDrogas);
GetPlayerName(playerid, Comprador, sizeof(Comprador));
GetPlayerName(giveid, Vendedor, sizeof(Vendedor));
format(string, sizeof(string), "Vocк aceitou comprar do [%s], %i gramas de maconha por [$%i]", Vendedor, Gramas, GranaDrogas);
SendClientMessage(playerid, Laranja, string);
format(string, sizeof(string), "Vocк vendeu para [%s] %i gramas de maconha e recebeu [$%i]", Comprador, Gramas, GranaDrogas);
SendClientMessage(giveid, Laranja, string);
Vendas[playerid] = 0;
return 1;
}
Valeu galera, provavelmente eu volto pra pedir mais ajuda kkkkkkk!
beijos!