[Ajuda] Checkpoint
#1

Тla a todos , meu problema й o seguinte eu fiz um sistema de banco ele tava funcionando normal, й um chekpoint , objetico os comandos do banco so funcionao se o player tever no checkpoint, entaum sгo 8 espalhados por LS, eu peguei o chekpoint 1(caixaeletronico1) e movo ele para um interior, funcionou, ele foi para o interior e quando entra enele aparece e msg e tudo, MAIS, deu um problema, os comandos que eram pra funcionar apenas no checkpoint criado, funcionam em qualquer lugar, nгo entendi por que aconteceu isso, se alguen pode me ajudar Obg, grato... *-*
Aqui os comandos que eram para funcionar apenas no checkpoint:
pawn Код:
if(strcmp(cmdtext, "/abrirconta", true) == 0) {
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
new checknome;
checknome = CPS_GetPlayerCheckpoint(playerid);
if(checknome == caixaeletronico1 || checknome == caixaeletronico2 || checknome == caixaeletronico3 || checknome == caixaeletronico4 || checknome == caixaeletronico5 || checknome == caixaeletronico6 || checknome == caixaeletronico7 || checknome == caixaeletronico8){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(file, "ContaBancaria") == 0){
new grana;
grana = GetPlayerGrana(playerid);
if(grana > 299){
format(string, sizeof(string), "(INFO) O jogador %s(id: %d) abriu uma conta bancбria.", aname, playerid);
SendClientMessageToAll(roxo, string);
dini_IntSet(file, "ContaBancaria", 1);
GivePlayerGrana(playerid, -300);
dini_IntSet(file, "SaldoBancario", 300);
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Para abrir uma conta bancбria vocк presisa de pelo menos 300 reais.");
}
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Vocк jб tem uma conta bancбria.");
}
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Vocк nгo estб em um banco.");
}
return 1;
}

if(strcmp(cmdtext, "/saldo", true) == 0) {
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
new checknome;
checknome = CPS_GetPlayerCheckpoint(playerid);
if(checknome == caixaeletronico1 || checknome == caixaeletronico2 || checknome == caixaeletronico3 || checknome == caixaeletronico4 || checknome == caixaeletronico5 || checknome == caixaeletronico6 || checknome == caixaeletronico7 || checknome == caixaeletronico8
|| checknome == bancoPref){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(file, "ContaBancaria") == 1){
format(string, sizeof(string), "(INFO) Bancos :: Brasil Second Life :: Vocк tem depositado em sua conta R$:%d.", dini_Int(file, "SaldoBancario"));
SendClientMessage(playerid, Verde, string);
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Vocк nгo tem uma conta bancбria.");
}
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Vocк nгo estб em um banco.");
}
return 1;
}

if(strcmp(cmdtext, "/saldocell", true) == 0) {
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(file, "ContaBancaria") == 1){
format(string, sizeof(string), "(INFO) Saldo pelo celular : Vocк tem depositado no Banco R$:%d.", dini_Int(file, "SaldoBancario"));
SendClientMessage(playerid, Verde, string);
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Vocк nгo tem uma conta bancбria.");
}
return 1;
}

if(strcmp(cmd, "/depositar", true) == 0)
{
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
new checknome;
new tmp[256];
checknome = CPS_GetPlayerCheckpoint(playerid);
if(checknome == caixaeletronico1 || checknome == caixaeletronico2 || checknome == caixaeletronico3 || checknome == caixaeletronico4 || checknome == caixaeletronico5 || checknome == caixaeletronico6 || checknome == caixaeletronico7 || checknome == caixaeletronico8
|| checknome == bancoPref)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "Use /depositar [quantia].");
}
new valor;
valor = strval(tmp);
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(file, "ContaBancaria") == 1)
{
new grana;
grana = GetPlayerGrana(playerid);
if(grana > valor-1 && valor > 0)
{
format(string, sizeof(string), "(INFO) Bancos :: Brasil Second Life ::: Vocк depositou a quantia de R$:%d.", valor);
SendClientMessage(playerid, Verde, string);
dini_IntSet(file, "SaldoBancario", dini_Int(file, "SaldoBancario")+valor);
GivePlayerGrana(playerid, -valor);
return 1;
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem todo este dinheiro.");
}

}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem uma conta bancбria.");
}
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo estб em um Banco.");
}
}

if(strcmp(cmd, "/sacar", true) == 0)
{
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
new checknome;
new tmp[256];
checknome = CPS_GetPlayerCheckpoint(playerid);
if(checknome == caixaeletronico1 || checknome == caixaeletronico2 || checknome == caixaeletronico3 || checknome == caixaeletronico4 || checknome == caixaeletronico5 || checknome == caixaeletronico6 || checknome == caixaeletronico7 || checknome == caixaeletronico8)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "Use /sacar [quantia].");
return 1;
}
new valor;
if(strfind(tmp, "-", true) != -1) // isso nгo deixa usar o -
{
SendClientMessage(playerid,Vermelho,"(ERRO) Valor invбlido!");
return 1;
}
if(strlen(tmp) > 8) // e aqui bloqueia o uso de mais de 8 nъmeros
{
SendClientMessage(playerid, Vermelho, "(ERRO) Valor invбlido!");
return 1;
}
valor = strval(tmp);
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(file, "ContaBancaria") == 1)
{
if(dini_Int(file, "SaldoBancario") > valor-1)
{
format(string, sizeof(string), "(INFO) Bancos BSL: Vocк sacou a quantia de R$%d.", valor);
SendClientMessage(playerid, Verde, string);
dini_IntSet(file, "SaldoBancario", dini_Int(file, "SaldoBancario")-valor);
GivePlayerGrana(playerid, valor);
return 1;
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem todo este dinheiro.");
}
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem uma conta bancбria.");
}
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo estб em um Banco.");
}
}
Se presisar postar mais alguma coisa so avisar, OBS:. nгo da nenhum erro ao copilar, mais os comandos funcionam em qualquer lugar e eu quero q eles funcionem apenas no checkpoint...
Reply
#2

IsPlayerInRangeOfPoint
Reply
#3

Para por o checkpoint em um interior, vocк deveria estar utilizando o Streamer do Incognito.

Vocк criou um tуpico а respeito disso, eu dei-lhe o cуdigo utilizando o streamer. No comando que vocк criou, estб utilizando CPS.

A funзгo responsбvel por verificar se o jogador estб em determinado checkpoint utilizando o streamer, й esta:

IsPlayerInDynamicCP(playerid, checkpointid);

[]s.

Murilo,
CPStream nгo suporta a criaзгo de checkpoints em interiores.
Reply
#4

Vocк fez esse sistema de banco ? pois identado igual tб dъvido que foi vocк mesmo.

Com cpstream coloca checkpoint em interior tambem.
Reply
#5

AFerreira nгo tem nenhum tutorial em PR ensinando a usar essa .INC ?
Reply
#6

Aduple post
- help alguen me explica melhor isso , desculpe mais eu nгo entendi ainda ** !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)