[Ajuda] Sistema de Empresa
#1

Bom dia,
Tenho um sistema de empresa, nela somente o FUNCIONБRIO deve colocar mercadoria para dar andamento na produзгo. Fui testar e achei um erro, o DONOda empresa consegue carregar a mesma. Como faзo para somente funcionбrios carregб-la? E como faзo para SOMENTE FUNCIONБRIOS poder pegar a mercadoria, pois qualquer player que chega no check point e digita /pegarmercadoria consegue pegar, sendo que nem й funcionбrio.
Cуdigo /entregarmercadoria:
PHP код:
if(strcmp(cmdtext,"/entregarmercadoria"true) == 0) {
new 
aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanamesizeof(aname));
format(filesizeof(file), P_CONTASaname);
for(new 
0MAX_CASASp++)
{
format(stringsizeof(string),"/Props/prop%d.ini"p);
if(
dini_Exists(string)){
if(
IsPlayerInRangeOfPoint(playerid2.0dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"))){
if(
strcmp(dini_Get(string"Emp"), anametrue) == 0)
{
if(
mercadorias[playerid] == 0) return SendClientMessage(playeridVermelho,"Vocк estб sem mercadoria vб pegar!");
if(
dini_Int(string"Produzindo") == 1) return SendClientMessage(playeridVermelho,"(ERRO) Vocк ja trabalhou espere dar a sua produзгo.");
if(
dini_Int(string"Produzindoi") == 1) return SendClientMessage(playeridVermelho,"(ERRO) Vocк ja trabalhou espere dar a sua produзгo.");
GetPlayerName(playeridanamesizeof(aname));
format(filesizeof(file), P_CONTASaname);
SendClientMessage(playeridVerde,"(INFO) Vocк entregou a mercadoria na empresa.  ");
SendClientMessage(playeridVerde,"(INFO) Espere dar 12 Horas para vocк pegar o seu lucro, para ver o tempo da sua produзгo use: '/InfoEmpresa'");
dini_IntSet(string"Produzindo"1);
dini_IntSet(string"ProduzindoT",0);
mercadorias[playerid] = 0;
return 
1;
} else {
SendClientMessage(playerid,Vermelho,"** Vocк precisa estar em uma Empresa ou nгo й funcionario dessa.!");
return 
1;
}
}
}
}

Cуdigo /pegarmercadoria (Vale lembrar que quando o player pega a mercadoria estб dando FLOOD na tela "Vocк pegou a mercadoria " aparece vбrias vezes para o jogador.
PHP код:
if(strcmp(cmdtext,"/pegarmercadoria"true) == 0) {
new 
aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanamesizeof(aname));
format(filesizeof(file), P_CONTASaname);
for(new 
0MAX_CASASp++)
{
format(stringsizeof(string),"/Props/prop%d.ini"p);
if(
dini_Exists(string)){
if(!(
PlayerToPoint(2.0playerid1714.8689,2295.7947,10.9824))){
SendClientMessage(playerid,Vermelho,"| ERRO | Vocк nгo estб no local para pegar a mercadoria!");
return 
1;
}
if(
strcmp(dini_Get(string"Emp"), anametrue) == 0)
{
mercadorias[playerid] = 1;
format(stringsizeof(string), "(INFO) Vocк pegou uma mercadoria para sua Empresa vб atй la e entregue /Entregarmercadoria");
SendClientMessage(playeridverdelstring);
}
}
}
return 
1;

Reply
#2

Olб, estou desativado do SA-MP a quase 1 ano, porйm me recordo de que para bloquear e deixar acesso a somente funcionбrios й:
PHP код:
if(pInfo[playerid][/*COLOCA A FUNЗГO DO FUNCIONБRIO AQUI*/]) 
Reply
#3

Eu tenho 3 anos e nгo lembro de nada kk
Learning, como assim funзгo do funcionбrio? E onde vou colocar esse cуdigo? Vou reabrir o servidor para meus colegas tomar conta, sу que nгo lembro mais...
Reply
#4

Alguйm pode explicar?
Reply
#5

usa uma variavel pra informar se o jogador tem empresa, exemplo:
Код:
new TemEmpresa[MAX_PLAYERS] = 0;

//quando o jogador comprar uma empresa use
TemEmpresa[playerid] = 1;

//quando o jogador for pegar mercadoria use uma verificaзгo
if(TemEmpresa[playerid] == 1) return SendClientMessage(playerid, -1, "Voce possui empresa nгo pode pegar mercadoria");

//Nгo se esqueзa de salvar a variavel na conta do jogador
Reply
#6

Quote:
Originally Posted by Kanuy
Посмотреть сообщение
usa uma variavel pra informar se o jogador tem empresa, exemplo:
Код:
new TemEmpresa[MAX_PLAYERS] = 0;

//quando o jogador comprar uma empresa use
TemEmpresa[playerid] = 1;

//quando o jogador for pegar mercadoria use uma verificaзгo
if(TemEmpresa[playerid] == 1) return SendClientMessage(playerid, -1, "Voce possui empresa nгo pode pegar mercadoria");

//Nгo se esqueзa de salvar a variavel na conta do jogador
A lуgica й basicamente essa, porйm esse cуdigo acaba se tornando inъtil, pois tudo deve comeзar no carregamento dos dados do player e verificar se ele tem alguma empresa. Mas esse cara nгo parece ter muito conhecimento e isto serб uma barreira pra ele se ele nгo estudar!
Reply
#7

Й, trabalho o dia todo, eu tinha meu GM arrumado porйm perdi, tem 3 anos que nгo mexo entгo nem lembro mais. Vou reabrir para meus colegas e preciso muito da ajuda de vocкs.
Reply
#8

Alguйm pode me ajudar?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)