Comando /cofre -
FernandoDutra - 17.06.2016
Oi gente, entгo, eu estou adicionando alguns comandos "basicos" em um sistema de empresa, e decidi comeзar pelo /cofre [sacar/depositar] o problema, й que eu consigo comeзa-lo, porйm, nгo consigo termina-lo, poderiam me ajudar?
PHP Code:
CMD:cofre(playerid, params[])
{
new string[256];
if(BusinessInfo[PlayerInfo[playerid][BusinessID]][Owned] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 2,BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterX],BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterY],BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterZ]))
{
format(string, sizeof(string), "Estб empresa possui %d de lucros em seu cofre.", BusinessInfo[PlayerInfo[playerid][BusinessID]][Money]);
SendClientMessage(playerid, COLOR_GREY, string);
if(sscanf(params, "s[256]", options)) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: /cofre [sacar/depositar]"); // EU TRAVO NESSA PARTE AQUI, DAQUI PRA FRENTE NГO CONSIGO IR ;-;
}
}
else SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: Vocк nгo й dono de uma empresa.");
return 1;
}
E tenho algumas perguntas (que sempre na realidade, й no mбximo 2/3):
1 - Eu deveria colocar as opзхes de sacar/depositar dentro do IsPlayerInRangeOfPoint?
2 - Desta forma que eu iniciei, eu estou indo na direзгo correta para ter um comando funcional?
Re: Comando /cofre -
zSuYaNw - 17.06.2016
1 - A Funзгo
IsPlayerInRangeOfPoint verifica se o jogador estб perto de uma posiзгo x,y,z em radius.
2 - Exato, estб no caminho correcto.
Notei que vocк estб usando ZCMD e apenas 1 parвmetro em seu comando /cofre [sacar/depositar] dк uma olhada
neste tutorial, lhe serб muito ъtil!
Re: Comando /cofre -
F1N4L - 17.06.2016
1- Pode usar a funзгo
IsPlayerInRangeOfPointpara verificar se estб dentro da бrea de seu cofre e usar dois comandos (sу sugestгo): um para ver os lucros e outro para pegar os lucros.
2- Aparente, sim.
Sу uma outra dica para avisar player quando ele estiver longe de sua propriedade:
use
else nesta condicional.
Code:
.........
format(string, sizeof(string), "Estб empresa possui %d de lucros em seu cofre.", BusinessInfo[PlayerInfo[playerid][BusinessID]][Money]);
SendClientMessage(playerid, COLOR_GREY, string);
}
else SendClientMessage(params..., "Vocк estб longe da propriedade");
Re: Comando /cofre -
FernandoDutra - 17.06.2016
Obrigado pelas dicas pessoal, vou tentar faze-lo aqui.
Re: Comando /cofre -
ClaudineiCDS - 19.06.2016
PHP Code:
CMD:cofre(playerid, params[])
{
if(BusinessInfo[PlayerInfo[playerid][BusinessID]][Owned] == 1)
return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: Vocк nгo й dono de uma empresa.");
new str[40];
if(sscanf(params, "s[40]", str))
return SendClientMessage(playerid, COLOR_WHITE, "SERVER: /cofre [sacar/depositar]");
if(IsPlayerInRangeOfPoint(playerid, 2,BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterX],BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterY],BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterZ]))
{
format(string, sizeof(string), "Estб empresa possui %d de lucros em seu cofre.", BusinessInfo[PlayerInfo[playerid][BusinessID]][Money]);
SendClientMessage(playerid, COLOR_GREY, string);
if(strcmp(str, "sacar", true) == 0) {
//Coloque a Funзгo de sacar o dinheiro aqui;
}
if(strcmp(str, "depositar", true) == 0) {
//Coloque a Funзгo de depositar o dinheiro aqui;
}
}
else {
SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo estб perto de um Cofre!");
}
return 1;
}
Re: Comando /cofre -
FernandoDutra - 19.06.2016
Quote:
Originally Posted by ClaudineiCDS
PHP Code:
CMD:cofre(playerid, params[])
{
if(BusinessInfo[PlayerInfo[playerid][BusinessID]][Owned] == 1)
return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: Vocк nгo й dono de uma empresa.");
new str[40];
if(sscanf(params, "s[40]", str))
return SendClientMessage(playerid, COLOR_WHITE, "SERVER: /cofre [sacar/depositar]");
if(IsPlayerInRangeOfPoint(playerid, 2,BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterX],BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterY],BusinessInfo[PlayerInfo[playerid][BusinessID]][EnterZ]))
{
format(string, sizeof(string), "Estб empresa possui %d de lucros em seu cofre.", BusinessInfo[PlayerInfo[playerid][BusinessID]][Money]);
SendClientMessage(playerid, COLOR_GREY, string);
if(strcmp(str, "sacar", true) == 0) {
//Coloque a Funзгo de sacar o dinheiro aqui;
}
if(strcmp(str, "depositar", true) == 0) {
//Coloque a Funзгo de depositar o dinheiro aqui;
}
}
else {
SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo estб perto de um Cofre!");
}
return 1;
}
|
Obrigado de verdade pelo comando, porйm, agora estou com dificuldades no /comprar para setar o money para a empresa.
Poderia me ajudar?
Respuesta: Comando /cofre -
OverKiller - 20.06.2016
Mds quando vejo um cara como vc no mesmo nнvel que eu, fico com uma vontade ensana de programar, mas meu PC deu problemas de dll usando o sscanf. :/
Re: Comando /cofre -
F1N4L - 20.06.2016
Quote:
Originally Posted by FernandoDutra
Obrigado de verdade pelo comando, porйm, agora estou com dificuldades no /comprar para setar o money para a empresa.
Poderia me ajudar?
|
Vou lhe dar alguns passos para realizar o comando /comprar, espero que me compreenda:
1- Ao digitar o comando, vc deve verificar se o jogador estб prуximo (
IsPlayerInRangeOfPoint) (se quiser, claro).
2- Outra verificaзгo para ver se o player tem dinheiro e quanto ele tem (
GetPlayerMoney)
3- Depois disso, obviamente, precisamos PEGAR a quantia necessбria para compra da propriedade (
GivePlayerMoney)
Basicamente isso, espero que tenha entendido, caso nгo tenha poste sua dъvida.
Re: Comando /cofre -
zSuYaNw - 20.06.2016
Sу para lembrar, a funзгo GivePlayerMoney "Dб" dinheiro para o jogador,vocк terб que colocar o sinal de "-" a frente do valor para remover do jogador.
Removendo R$ 100 do jogador.
pawn Code:
GivePlayerMoney(playerid, -100);