[Pedido] Sistema de empresas bugada/incompleta
#1

Olб pessoal mais uma vez incomodando vcs com meus problemas rs.

Bom o meu gm й de base muca e nao sei em que o GM muca й baseado. Bom ele tem aquele tradicional sistema de props com /retirarlucro e sistema de pegar mercadoria em bs. Seguinte: o /retirarlucro estб bugado pois quando й usado pela primeira vez o valor da empresa cai para $0,00 e o sistema de contratar empregado e pegar mercadoria funciona mas nao й reconhecido pelo /retirarlucro.
Vou postar o pawn aki pra vcs verem e tambйm gostaria que me ajudassem a desbugar o /retirarlucro e para que quando a mercadoria nгo estiver entregue apareзa uma msg dizendo que a mercadoria nгo foi entregue. Agradeceria de montгo se me ajudassem. Obg e +rep a todos que contribuirem

Achei importante botar isso xD:
pawn Код:
#define MAX_PROPS 250
#define PASTA_PROP          "/Props/%s.ini"         //Diretуrio onde as contas sгo salvas
new fentrega[MAX_PLAYERS];
new proximaprop;
for(new p = 0; p < MAX_PROPS; p++)
{
format(string, sizeof(string),"/Props/prop%d.ini", p);
if(dini_Exists(string)){
new pickupid;
if(dini_Int(string,"TDono") == 0){
pickupid = CreatePickup(1578, 1, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"), -1);
dini_IntSet(string,"Id", pickupid);
new string2[222];
format(string2, sizeof(string2),"Empresa ID %d\n/infoempresa", p);
Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ")+0.75,20.0,0,1);
} else {
if(dini_Int(string,"TDono") == 1){
pickupid = CreatePickup(1580, 1, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"), -1);
dini_IntSet(string,"Id", pickupid);
new string2[222];
format(string2, sizeof(string2),"Empresa ID %d\n/infoempresa", p);
Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ")+0.75,20.0,0,1);
}
}
proximaprop++;
}
}
for(new p = 0; p < MAX_PROPS; p++)
{
format(string, sizeof(string), "/Props/prop%d.ini", p);
if(dini_Exists(string)){
if(pickupid == dini_Int(string, "Id")){
if(dini_Int(string, "TDono") == 1){
new str2[256];
format(str2, sizeof(str2), "[!] Use 'f' ou a tecla 'enter' para entrar nessa empresa.");
SendClientMessage(playerid, 0xFFFFFFAA, str2);
} else {
new str2[256];
format(str2, sizeof(str2), "[!] Use 'f' ou a tecla 'enter' para entrar nessa empresa.");
SendClientMessage(playerid, 0xFFFFFFAA, str2);
}
}
}
return 1;
}
for(new p = 0; p < MAX_PROPS; p++)
{
format(string, sizeof(string), "/Props/prop%d.ini", p);
if(strcmp(dini_Get(string, "Dono"), aname, false) == 0){
dini_Set(string, "Dono", inputtext);
}
}
public Up()
{
new string[256],string2[256];
SendClientMessageToAll(Amarelo, "As propriedades receberam suas dividas e lucros.");
for(new p=0; p<MAX_PROPS; p++){
new strx[256];
format(strx, sizeof(strx), "/Props/prop%d.ini", p);
if(dini_Exists(strx)){
if(dini_Int(strx, "TDono") == 1){
for(new i=0;i<MAX_PLAYERS;i++){
if(IsPlayerConnected(i)){
new pname[MAX_PLAYER_NAME];
GetPlayerName(i,pname,MAX_PLAYER_NAME);
new grana,grana2;
grana = random(dini_Int(strx, "Preco") /50);
grana2 = random(dini_Int(strx, "Preco") /100);
dini_IntSet(strx, "Grana", dini_Int(strx, "Grana")+grana2-grana);
if(strcmp(pname, dini_Get(string,"Dono"),false) == 0){
format(string2, sizeof(string2),"[%s]Sua empresa teve R$%d em dividas e R$%d de lucro, total: R$%d!",dini_Int(string, "Nome"),grana2,grana,grana-grana2);
SendClientMessage(i, Azul, string2);
}
}
}
}
}
}


return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{

if(Com[0][Fazendo][playerid] == 1){
new string2[256];
new string[256];
PlayerPlaySound(playerid, 1057, 0, 0, 0);
format(string2, sizeof(string2),"/Props/prop%d.ini", pentrega[playerid]);
if(dini_Int(string2,"TDono") == 0){
SendClientMessage(playerid, Vermelho,"Entrega cancelada pois o dono vendeu a propriedade!");
DisablePlayerRaceCheckpoint(playerid);
Com[0][Fazendo][playerid] = 0;
return 1;
}
format(string2,sizeof(string2),"{00FFFF}[%s] {FFFFFF}Entregue este pacote - /c(ancelar) entrega - para finalizar",dini_Get(string,"Nome"));
SendClientMessage(playerid, Branco,string2);
new ran = ram[playerid];
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,Com[ran][cX],Com[ran][cY],Com[ran][cZ],dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"),5);
Com[0][Fazendo][playerid] = 2;
return 1;
}
if(Com[0][Fazendo][playerid] == 2){
new string2[256];
new string[256];
new valor,prc;
PlayerPlaySound(playerid, 1057, 0, 0, 0);
format(string, sizeof(string),"/Props/prop%d.ini", pentrega[playerid]);
if(dini_Int(string,"TDono") == 0){
SendClientMessage(playerid, Vermelho,"Entrega cancelada pois o dono vendeu a propriedade!");
DisablePlayerRaceCheckpoint(playerid);
Com[0][Fazendo][playerid] = 0;
return 1;
}
valor = random(dini_Int(string, "Preco")/100);
prc = valor/100*dini_Int(string, "Renda");
format(string2, sizeof(string2),"Vendido ! R$%d([%d%%] da renda da propriedade й sua)", prc, dini_Int(string, "Renda"));
SendClientMessage(playerid, Azul, string2);
format(string2, sizeof(string2),"A empresa rendeu R$%d", valor-prc);
SendClientMessage(playerid, Azul, string2);
format(string2,sizeof(string2),"{00FFFF}[%s] {FFFFFF}Volte para a propriedade - /c(ancelar) entrega - para finalizar",dini_Get(string,"Nome"));
SendClientMessage(playerid, Branco,string2);
GivePlayerGrana(playerid, prc);
if(dini_Exists(string)){
dini_IntSet(string,"Grana",dini_Int(string,"Grana")+valor-prc);
}
new ran = random(sizeof(Com[]));
ram[playerid] = ran;
Com[0][Fazendo][playerid] = 1;
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"),Com[ran][cX],Com[ran][cY],Com[ran][cZ],5);
for(new i=0;i<MAX_PLAYERS;i++){
if(IsPlayerConnected(i)){
new pname[MAX_PLAYER_NAME];
GetPlayerName(i,pname,MAX_PLAYER_NAME);
if(strcmp(pname, dini_Get(string,"Dono"),false) == 0){
format(string2, sizeof(string2),"[%s]O seu empregado %s recebeu R$%d([%d%%] e sua propriedade lucrou R$%d!",dini_Get(string, "Nome"), dini_Int(string, "Emp"),prc, dini_Int(string, "Renda"),valor-prc);
SendClientMessage(playerid, Azul, string2);
}
}
}
return 1;
}
return 1;
}
forward JaTemMercadoria();
public JaTemMercadoria() {
new string[256];
for(new p = 0; p < MAX_CASAS; p++){
format(string, sizeof(string),"/Props/prop%d.ini", p);
dini_IntSet(string, "JaTemMercadoriaEmp", 0);
}
}
stock PropTEmp(propid){
new string[256];
format(string, 256,"/Props/prop%d.ini", propid);
if(dini_Int(string,"TEmp") == 1){
return 1;
} else {
return 0;
}
}
stock PropEmp(playerid, propid){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
new string[256];
format(string, 256,"/Props/prop%d.ini", propid);
if(dini_Int(string,"TEmp") == 1 && strcmp(pname, dini_Get(string,"Emp")) == 0){
return 1;
} else {
return 0;
}
}

stock EEmp(playerid){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
new string[256];
for(new propid;propid<MAX_PROPS;propid++){
format(string, 256,"/Props/prop%d.ini", propid);
if(dini_Int(string,"TEmp") == 1 && strcmp(pname, dini_Get(string,"Emp")) == 0){
return 1;
} else {
return 0;
}
}
return 0;
}

stock PropDono(playerid, propid){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
new string[256];
format(string, 256,"/Props/prop%d.ini", propid);
if(dini_Int(string,"TDono") == 1 && strcmp(pname, dini_Get(string,"Dono")) == 0){
return 1;
} else {
return 0;
}
}
for(new c = 0; c < MAX_PROPS; c++)
{
format(string, sizeof(string),"/Props/prop%d.ini", c);
if(dini_Int(string, "TInt") == 1){
if(newkeys==KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ")))
{
new strx[256];
new strx2[256];
format(strx, sizeof(strx),"/Interiores/int%d.ini", dini_Int(string,"Int"));
if(dini_Exists(strx)){
emcasa[playerid] = 1;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
CasaSX[playerid] = dini_Float(strx,"EX");
CasaSY[playerid] = dini_Float(strx,"EY");
CasaSZ[playerid] = dini_Float(strx,"EZ");
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(strx,"Int"));
SetPlayerPos(playerid, dini_Float(strx,"EX"), dini_Float(strx,"EY"), dini_Float(strx,"EZ"));
format(strx2, sizeof(strx2),"| INFO | Vocк entrou na Empresa %s ID:%d para sair use F", dini_Get(string, "Nome"),c);
SendClientMessage(playerid, 0x8080FFFF,strx2);
return 1;
}
}
}
}

Comandos do sistema:

pawn Код:
if(strcmp(cmdtext,"/comandosempresa", true) == 0) {
SendClientMessage(playerid, verdel," ");
SendClientMessage(playerid, verdel,"~~~~~~~~~~~~~~~~ Empresa Comandos ~~~~~~~~~~~~~~~~");
SendClientMessage(playerid, Branco,"- /comprarempresa: Compra uma propriedade.");
SendClientMessage(playerid, Branco,"- /venderempresa: Vende uma propriedade.");
SendClientMessage(playerid, Branco,"- /retirarlucro(Dono): Pega o dinhero da propriedade.");
SendClientMessage(playerid, Branco,"- /infoempresa: Ve informaзoes da propriedade");
SendClientMessage(playerid, Branco,"- /mentrega: Inicia entregas na propriedade");
SendClientMessage(playerid, Branco,"- /trabalho [ID]: Oferece um emprego na sua empresa");
SendClientMessage(playerid, Branco,"- /demitirempregado: Demite o empregado");
SendClientMessage(playerid, Branco,"- /sedemitir: Perde trabalho em uma propriedade.");
SendClientMessage(playerid, verdel,"~~~~~~~~~~~~~~~~ Empresa Comandos ~~~~~~~~~~~~~~~~");
return 1;
}
if(strcmp("/profs", cmdtext, true) == 0 ||strcmp("/profissoes", cmdtext, true) == 0)
{

if(strcmp(cmd,"/trabalho", true) == 0) {
new preco;
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho,"/trabalho [id]");
return 1;
}
preco = strval(tmp);
if(IsPlayerConnected(preco)){
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new c = 0; c < MAX_PROPS; c++)
{
format(string, sizeof(string),"/Props/prop%d.ini", c);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"))){
if(dini_Exists(string)){
if(PropTEmp(c) == 1){
return 1;
}
if(PropDono(playerid, c) == 1){
if(GetProps(preco) > 0){
SendClientMessage(playerid, Vermelho,"| ERRO | Este player й dono de uma Empresa!");
return 1;
}
format(STRX, sizeof(STRX),"| INFO | %s (ID: %d) estб convidando vocк pra trabalhar na Empresa dele.", pname, playerid);
SendClientMessage(preco, Amarelo, STRX);
SendClientMessage(preco, Amarelo,"* Para aceitar o convite, use: /aceitartrabalho   ||   Para recusar, use: /recusartrabalho");
SendClientMessage(playerid, Vermelho,"* Convite enviado.");
trabalho[preco] = 1;
trabalhoid[preco] = c;
convitede[preco] = playerid;
SetTimerEx("Moradia", 30000, false,"d",preco);
} else {
SendClientMessage(playerid, Vermelho,"** Vocк nгo tem permissгo.");
}
} else {
SendClientMessage(playerid, Vermelho,"Vocк nгo estб em uma propriedade.");
}
}
}
} else {
SendClientMessage(playerid, Vermelho,"** ID Invбlido.");
}
return 1;
}

if(strcmp(cmdtext,"/pmercadoria", true) == 0) {
new string2[256];
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new p = 0; p < MAX_CASAS; p++)
{
format(string, sizeof(string),"/Props/prop%d.ini", p);
if(dini_Exists(string)){
if(PlayerToPoint(3.0, playerid,-2185.292236,2416.197265,4.724721)){
fentrega[playerid] = 1;
format(string2, sizeof(string2),"| EMPRESA | %s Leve a entrega atй a empresa !",pname,p);
SendClientMessage(playerid, 0xFFFFFFAA,string2);
SendClientMessage(playerid, 0xFFFFFFAA,"| EMPRESA | Use /mentrega");
}
}
}
return 1;
}

if(strcmp(cmdtext,"/mentrega", true) == 0) {
for(new p = 0; p < MAX_PROPS; p++)
{
format(string, sizeof(string), "/Props/prop%d.ini", p);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(PropEmp(playerid, p) == 1){
SendClientMessage(playerid, Vermelho,"Vocк nгo й empregado dessa empresa");
if(fentrega[playerid] == 1){
}
fentrega[playerid] = 0;
SendClientMessage(playerid, Vermelho,"|EMPRESA| Mercadoria entregue com sucesso !");
Testeeeeeee[playerid] = SetTimerEx("JaTemMercadoria", 36000000, 0, "i", playerid);
                        JaTrabalhado[playerid] = 1;
}
}
}
return 1;
}


if(strcmp(cmd, "/sedemitir", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
new string2[256];
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Props/prop%d.ini", c);
if(dini_Exists(string)){
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(strcmp(dini_Get(string, "Morador"), pname, true) == 0 && dini_Int(string, "TMorador") == 1){
SendClientMessage(playerid, Verde, "Vocк agora nгo trabalha mais aqui !");
format(string2, sizeof(string2),"| EMPRESA | O jogador %s, se demitiu da empresa que trabalhava '%s' ID:%d.",pname);
SendClientMessageToAll(0xFFFFFFAA,string2);
dini_IntSet(string, "TEmp", 0);
dini_Set(string, "Emp", "Ninguem");
return 1;
} else {
SendClientMessage(playerid, Vermelho, "** Vocк nгo trabalha aqui!");
return 1;
}
} else {
SendClientMessage(playerid, Vermelho, "** Vocк nгo estб em uma propriedade.");
return 1;
}
}
}

return 1;
}

if(strcmp(cmdtext,"/demitirempregado", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new p = 0; p < MAX_CASAS; p++)
{
format(string, sizeof(string),"/Props/prop%d.ini", p);
if(dini_Exists(string)){
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"))){
if(dini_Int(string,"TEmp") == 1){
if(strcmp(dini_Get(string,"Dono"), pname, false) == 0 || pAdmin[playerid] >= 5){
new string2[256];
format(string2, sizeof(string2),"| EMPRESA | O jogador %s, demitiu seu empregado '%s'.",pname,dini_Get(string,"Emp"));
SendClientMessageToAll(0xFFFFFFAA,string2);
dini_IntSet(string,"TEmp", 0);
dini_Set(string,"Emp","Ninguem");
} else {
SendClientMessage(playerid, Vermelho,"Esta propriedade nгo й sua");
}
} else {
SendClientMessage(playerid, Vermelho,"Esta propriedade nгo tem empregado !");
}
}
}
}
return 1;
}

if(strcmp(cmdtext,"/aceitartrabalho", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string),"/Props/prop%d.ini", c);
if(dini_Int(string,"TEmp") == 1){
if(strcmp(dini_Get(string,"Emp"), pname, true) == 0){
dini_IntSet(string,"Emp", 0);
dini_Set(string,"Emp","Ninguem");
}
}
}
format(string, sizeof(string),"/Props/prop%d.ini", trabalhoid[playerid]);
if(dini_Exists(string)){
if(trabalho[playerid] == 1){
dini_IntSet(string,"TEmp", 1);
dini_Set(string,"Emp", pname);
SendClientMessage(playerid, Amarelo,"* Agora vocк trabalha em uma propriedade!");
SendClientMessage(convitede[playerid], Amarelo,"* O jogador aceitou!");
trabalho[playerid] = 0;
trabalhoid[playerid] = 0;
convitede[playerid] = 0;
} else {
SendClientMessage(playerid, Vermelho,"** Vocк nгo foi convidado!");
}
}
return 1;
}

if(strcmp(cmdtext,"/recusartrabalho", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(trabalho[playerid] == 1){
SendClientMessage(playerid, Amarelo,"* Vocк recusou.");
SendClientMessage(convitede[playerid], Amarelo,"** O jogador recusou.");
trabalho[playerid] = 0;
trabalhoid[playerid] = 0;
convitede[playerid] = 0;
} else {
SendClientMessage(playerid, Vermelho,"** Vocк nгo foi convidado!");
}
return 1;
}

if(strcmp(cmdtext,"/mentrega", true) == 0) {
new string2[256];
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new p = 0; p < MAX_CASAS; p++)
{
format(string, sizeof(string),"/Props/prop%d.ini", p);
if(dini_Exists(string)){
 new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"))){
if(PropEmp(playerid, p) == 1 || PropDono(playerid,p) == 1){
if(Com[0][Fazendo][playerid] == 1) return SendClientMessage(playerid, Vermelho,"Vocк jб estб fazendo entrega!");
Com[0][Fazendo][playerid] = 1;
pentrega[playerid] = p;
PlayerPlaySound(playerid, 1057, 0, 0, 0);
format(string2,sizeof(string2),"{00FFFF}[%s] {FFFFFF}Entrega iniciada, vб atй o checkpoint - /c(ancelar) entrega - para finalizar",dini_Get(string,"Nome"));
SendClientMessage(playerid, Branco,string2);
new ran = random(sizeof(Com));
ram[playerid] = ran;
Com[0][Fazendo][playerid] = 1;
SetPlayerRaceCheckpoint(playerid,0,dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"),Com[ran][cX],Com[ran][cY],Com[ran][cZ],5);
format(string2, sizeof(string2),"| EMPRESA | Leve a entrega atй o checkpoint!");
SendClientMessage(playerid, 0xFFFFFFAA,string2);
SendClientMessage(playerid, 0xFFFFFFAA,"| EMPRESA | Use /Mentrega");
} else {
SendClientMessage(playerid, Vermelho,"Vocк nгo й empregado nem dono daqui");
}
} else {
SendClientMessage(playerid, Vermelho,"Vocк nгo estб em uma propriedade");
}
}
}
return 1;
}

if(strcmp(cmd,"/cancelar", true) == 0 || strcmp(cmd,"/c", true) == 0) {
new tmp[256];
new string2[255];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, verdel,"/c(ancelar) entrega: Cancela uma entrega.");
}
format(string, sizeof(string),"/Props/prop%d.ini", pentrega[playerid]);
if(strcmp(tmp,"entrega",true) == 0){
if(Com[0][Fazendo][playerid] == 0) return SendClientMessage(playerid, Vermelho,"Vocк nгo estб fazendo entregas!");
format(string2,sizeof(string2),"{00FFFF}[%s] {FFFFFF}Entrega cancelada!",dini_Get(string,"Nome"));
SendClientMessage(playerid, Branco,string2);
DisablePlayerRaceCheckpoint(playerid);
Com[0][Fazendo][playerid] = 0;
return 1;
}
return 1;
}

if(strcmp(cmd,"/criarempresa", true) == 0) {
if(pAdmin[playerid] >= 5  || IsPlayerAdmin(playerid)){
new tmp[256];
new msg[256];
new plid;
new preco;
new iconidempresa;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_GREEN,"(ERRO) Use /criarempresa [preзo] [nome]");
return 1;
}
plid = strval(tmp);
msg = strrest(cmdtext, idx);
if(!strlen(msg)){
SendClientMessage(playerid, COLOR_GREEN,"(ERRO) Use /criarempresa [preзo] [nome]");
return 1;
}
preco = plid;
format(string, sizeof(string),"/Props/prop%d.ini", proximaprop);
if(!dini_Exists(string)){
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_Create(string);
dini_FloatSet(string,"PosX", X);
dini_FloatSet(string,"PosY", Y);
dini_FloatSet(string,"PosZ", Z);
dini_IntSet(string,"TInt", 1);
dini_IntSet(string,"Int", 13);
dini_IntSet(string,"TEmp", 0);
dini_IntSet(string, "Renda",50000);//go testar
dini_Set(string,"Emp","Ninguem");
dini_FloatSet(string,"Mundo", proximaprop);
dini_IntSet(string,"TDono", 0);
dini_Set(string,"Dono","Ninguem");
dini_IntSet(string,"Preco", preco);
dini_Set(string,"Nome", msg);
new pickupid;// vamo tirar
pickupid = CreatePickup(1578, 1, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"), -1);
dini_IntSet(string,"Id", pickupid);
DestroyDynamicMapIcon(dini_Int(string, "iconidempresa"));
iconidempresa = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 44, 0, -1, -1, -1, 100.0);
dini_IntSet(string, "iconidempresa", iconidempresa);
new string2[222];
format(string2, sizeof(string2),"Empresa ID %d\n/infoempresa", proximaprop);
Create3DTextLabel(string2,0xFFFFFFAA, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ")+0.75,20.0,0,1);
proximaprop++;
return 1;
}
}
}


if(strcmp(cmdtext,"/comprarempresa", true) == 0) {
new pname[MAX_PLAYER_NAME];
new iconidempresa;
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
for(new p = 0; p < MAX_CASAS; p++)
{
format(string, sizeof(string),"/Props/prop%d.ini", p);
if(dini_Exists(string)){
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"))){
if(dini_Int(string,"TDono") == 0){
if(GetPlayerGrana(playerid) >= dini_Int(string,"Preco")){
if((GetProps(playerid) < 1 && dini_Int(filena(playerid),"Vip") == 0) || (GetProps(playerid) < 1 && dini_Int(filena(playerid),"Vip") > 0)){
if(EEmp(playerid) == 1){
SendClientMessage(playerid, Vermelho,"Vocк nгo pode comprar uma empresa sendo empregado de outra!");
return 1;
}
dini_IntSet(string,"TDono", 1);
dini_Set(string,"Dono", pname);
GivePlayerGrana(playerid, -dini_Int(string,"Preco"));
new pickupid;
DestroyPickup(dini_Int(string,"Id"));
pickupid = CreatePickup(1580, 1, dini_Float(string,"PosX"), dini_Float(string,"PosY"), dini_Float(string,"PosZ"), -1);
dini_IntSet(string,"Id", pickupid);
DestroyDynamicMapIcon(dini_Int(string, "iconidempresa"));
iconidempresa = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 43, 0, -1, -1, -1, 100.0);
dini_IntSet(string, "iconidempresa", iconidempresa);
new string2[256];
dini_IntSet(file,"IDprop",p);
format(empresatext[playerid],20,"%i",p);
format(string2, sizeof(string2),"| EMPRESA | O jogador %s, comprou a Empresa nъmero '%d'.", pname,p);
SendClientMessageToAll(0xFFFFFFAA,string2);
} else {
SendClientMessage(playerid, Vermelho,"Vocк atingiu o mбximo de empresas(1 propriedade)");
}
} else {
SendClientMessage(playerid, Vermelho,"Vocк nгo tem dinheiro");
}
} else {
SendClientMessage(playerid, Vermelho,"Esta empresa nгo estб a venda !");
}
} else {
//SendClientMessage(playerid, Vermelho,"Vocк nгo estб em uma propriedade");
}
}
}
return 1;
}


if(strcmp(cmdtext, "/venderempresa", true) == 0) {
new pname[MAX_PLAYER_NAME];
new iconidempresa;
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
for(new p = 0; p < MAX_PROPS; p++)
{
format(string, sizeof(string), "/Props/prop%d.ini", p);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 1){
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0 || pAdmin[playerid] == 5 || IsPlayerAdmin(playerid)){
dini_IntSet(string, "TDono", 0);
dini_Set(string, "Dono", "Ninguem");
dini_Set(file, "Tprop", "0");
GivePlayerGrana(playerid, dini_Int(string, "Preco"));
new pickupid;
DestroyPickup(dini_Int(file, "Id"));
pickupid = CreatePickup(1578, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);//perae
dini_IntSet(string, "Id", pickupid);
DestroyDynamicMapIcon(dini_Int(string, "iconidempresa"));
iconidempresa = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 44, 0, -1, -1, -1, 100.0);
dini_IntSet(string, "iconidempresa", iconidempresa);
format(empresatext[playerid],20,"~r~N/A");
new string2[256];
if(pAdmin[playerid] < 5){
format(string2, sizeof(string2), "| EMPRESA | O jogador %s, vendeu a sua Empresa nъmero '%d'.",pname,p);
SendClientMessageToAll(0xFFFFFFAA,string2);
} else {
format(string, sizeof(string), "* O Administrador %s liberou a Empresa '%d'", pname,p);
SendClientMessageToAll(AdminCor, string);
}
} else {
SendClientMessage(playerid, Vermelho, "** Esta empresa nгo й sua!");
}
} else {
SendClientMessage(playerid, Vermelho, "** Esta empresa jб estб a venda!");
}
} else {
// SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
}
}
}
return 1;
}

if(strcmp(cmdtext, "/retirarlucro", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new p = 0; p < MAX_PROPS; p++)
{
format(string, sizeof(string), "/Props/prop%d.ini", p);
if(dini_Exists(string)){
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 1){
new strx[256];
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
if(fentrega[playerid] == 1 )
fentrega[playerid] = 0;
GivePlayerGrana(playerid, dini_Int(string, "Preco") / 4);
format(strx, sizeof(strx), "* Vocк pegou R$%d de sua empresa!", dini_Int(string, "Preco") / 4);
SendClientMessage(playerid, Amarelo, strx);
dini_IntSet(string, "Preco", 0);


} else {
SendClientMessage(playerid, Vermelho, "** Esta empresa nгo й sua!");
}
} else {
SendClientMessage(playerid, Vermelho, "** Esta empresa nгo tem dono!");
}
} else {
// SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
}
}
}
return 1;
}

bom espero que nao seja exaustivo . tinham outros comandos relacionados como /deletarprop mas nao achei necessario postar, por enquanto й so vlw galera pela atenзгo..
Reply
#2

Se puderem me auxilar... eu ficaria agradecido dб uma forcinha ai vlw
Reply
#3

Nгo sei se estou certo.
Mais ve se o erro й aqui.
pawn Код:
dini_IntSet(string, "Preco", 0);
Reply
#4

Aк amigo eu atй observei isso mas , se eu excluir essa linha (ja testei isso) o /retirarlucro funfa corretamente, porйm o player pode retirar lucro qtas vezes quiser; e eu quero botar pra ele poder retirar lucro somente qdo a mercadoria for entregue.
Reply
#5

anyone pra me dar uma ajudinha?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)