[Ajuda] Sistema de Empresa
#1

eu estou tentando converter o sistema de empresa da GM WERP porem eu estou com os seguintes erros e eu nгo tenho menor ideia de como arrumar isso.

ERROS
Quote:

C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(1014 : error 012: invalid function call, not a valid address
C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(1014 : warning 215: expression has no effect
C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(1014 : error 001: expected token: ";", but found ")"
C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(1014 : error 029: invalid expression, assumed zero
C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(1014 : fatal error 107: too many error messages on one line

LINHA DO ERRO
PHP код:
new donoempresaID = DOF2_GetInt(f(id), "EmpresaID"); 
COMANDO
PHP код:
        else if(!strcmp(tmp, "contratar", true))
        {
            for(new 
m = 0; m < MAX_EMPRESAS; m++)
            {
                if(
IsPlayerInRangeOfPoint(playerid, 3, EmpresaInfo[m][PickupX], EmpresaInfo[m][PickupY], EmpresaInfo[m][PickupZ]))
                {
                    
format(gStr, sizeof(gStr), "Empresas/Empresa%d.ini", EmpresaInfo[m][Numero]);
                    if(
strcmp(EmpresaInfo[m][Proprietario], GetPlayerNameEx(playerid), false))
                    {
                        
SendClientMessage(playerid, Vermelho, "Vocк nгo й dono(a) desta empresa!");
                        return 
1;
                    }
                    if(
strcmp(EmpresaInfo[m][Funcionario1], "Ninguem", false) && strcmp(EmpresaInfo[m][Funcionario2], "Ninguem", false) && strcmp(EmpresaInfo[m][Funcionario3], "Ninguem", false))
                    {
                        
SendClientMessage(playerid, Vermelho, "Jб excedeu o limite de funcionбrios em sua empresa!");
                        return 
1;
                    }
                    
tmp = strtok(cmdtext, idx);
                    if(!
strlen(tmp))
                    {
                        
SendClientMessage(playerid, Vermelho, "Uso vбlido: /Empresa Contratar [ID]");
                        return 
1;
                    }
                    new
                    
id = strval(tmp)
                    ;
                    if(
GetDistanceBetweenPlayers(playerid, id) > 5)
                    {
                        
SendClientFormat(playerid, Vermelho, "%s estб muito longe da empresa, peзa para ele vim mais prуximo!", GetPlayerNameEx(id));
                        return 
1;
                    }
                    if(!
IsPlayerConnected(id))
                    {
                        
SendClientMessage(playerid, Vermelho, "Jogador(a) nгo conectado(a)!");
                        return 
1;
                    }
                    if(
playerid == id)
                    {
                        
SendClientMessage(playerid, Vermelho, "Vocк nгo pode contratar vocк mesmo(a) para sua empresa!");
                        return 
1;
                    }
                    new 
donoempresaID = DOF2_GetInt(f(id), "EmpresaID");
                    if(
donoempresaID > 0)
                    {
                        
SendClientMessage(playerid, COR_ERRO, "Esse(a) jogador(a) й dono(a) de uma empresa!");
                        return 
1;
                    }
                    new 
contratadoID = DOF2_GetInt(f(id), "Contratado");
                    if(
contratadoID > 0)
                    {
                        if(!
strcmp(EmpresaInfo[contratadoID][Funcionario1], GetPlayerNameEx(playerid), true) || !strcmp(EmpresaInfo[contratadoID][Funcionario2], GetPlayerNameEx(playerid), true) || strcmp(EmpresaInfo[contratadoID][Funcionario3], GetPlayerNameEx(playerid), true))
                        {
                            
SendClientMessage(playerid, Vermelho, "Esse(a) jogador(a) jб й funcionбrio(a) de uma empresa!");
                        }
                        return 
1;
                    }
                    
format(gstring, sizeof(gstring), "%s estб lhe oferecendo um contrato para trabalhar na empresa dele.", GetPlayerNameEx(playerid));
                    
SendClientMessage(id, Azul, gstring);
                    
format(gstring, sizeof(gstring), "Vocк estб oferecendo para %s um contrato para ele(a) trabalhar na sua empresa.", GetPlayerNameEx(id));
                    
SendClientMessage(playerid, Azul, gstring);
                    
DonoEmpresa[id] = playerid;
                    
AceitarContrato[id] = 1;
                    
ContratoMsg[id] = 5;
                    
T_Contratado[id] = SetTimerEx("MensagemContrato", 3000, false, "d", id);
                    return 
1;
                }
            }
            return 
1; 
Reply
#2

Compila com o cуdigo abaixo o erro que der manda aqui e as 3 linhas sendo

Код:
Linha de cima da linha do erro
Linha do erro
Linha de baixo da linha do erro
Inclusive mande oque tem nesse f(playerid)

PHP код:
        else if(!strcmp(tmp, "contratar", true))  { 
            for(new 
m = 0; m < MAX_EMPRESAS; m++)  { 
                if(
IsPlayerInRangeOfPoint(playerid, 3, EmpresaInfo[m][PickupX], EmpresaInfo[m][PickupY], EmpresaInfo[m][PickupZ])) { 
                    
format(gStr, sizeof(gStr), "Empresas/Empresa%d.ini", EmpresaInfo[m][Numero]); 
                    if(
strcmp(EmpresaInfo[m][Proprietario], GetPlayerNameEx(playerid), false)) return SendClientMessage(playerid, Vermelho, "Vocк nгo й dono(a) desta empresa!"); 
                    if(
strcmp(EmpresaInfo[m][Funcionario1], "Ninguem", false) && strcmp(EmpresaInfo[m][Funcionario2], "Ninguem", false) && strcmp(EmpresaInfo[m][Funcionario3], "Ninguem", false)) 
                    { 
                        
SendClientMessage(playerid, Vermelho, "Jб excedeu o limite de funcionбrios em sua empresa!"); 
                        return 
1; 
                    } 
                    
tmp = strtok(cmdtext, idx); 
                    if(!
strlen(tmp)) return SendClientMessage(playerid, Vermelho, "Uso vбlido: /Empresa Contratar [ID]"); 
                    new  
id = strval(tmp); 
                    if(
GetDistanceBetweenPlayers(playerid, id) > 5) return SendClientFormat(playerid, Vermelho, "%s estб muito longe da empresa, peзa para ele vim mais prуximo!", GetPlayerNameEx(id)); 
                    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, Vermelho, "Jogador(a) nгo conectado(a)!"); 
                    if(
playerid == id) return SendClientMessage(playerid, Vermelho, "Vocк nгo pode contratar vocк mesmo(a) para sua empresa!"); 
                    new 
donoempresaID = DOF2_GetInt(f(id), "EmpresaID"); 
                    if(
donoempresaID > 0) return SendClientMessage(playerid, COR_ERRO, "Esse(a) jogador(a) й dono(a) de uma empresa!"); 
                    new 
contratadoID = DOF2_GetInt(f(id), "Contratado"); 
                    if(
contratadoID > 0) { 
                        if(!
strcmp(EmpresaInfo[contratadoID][Funcionario1], GetPlayerNameEx(playerid), true) || !strcmp(EmpresaInfo[contratadoID][Funcionario2], GetPlayerNameEx(playerid), true) || strcmp(EmpresaInfo[contratadoID][Funcionario3], GetPlayerNameEx(playerid), true)) {
                            
SendClientMessage(playerid, Vermelho, "Esse(a) jogador(a) jб й funcionбrio(a) de uma empresa!"); 
                        } 
                        return 
1; 
                    } 
                    
format(gstring, sizeof(gstring), "%s estб lhe oferecendo um contrato para trabalhar na empresa dele.", GetPlayerNameEx(playerid)); 
                    
SendClientMessage(id, Azul, gstring); 
                    
format(gstring, sizeof(gstring), "Vocк estб oferecendo para %s um contrato para ele(a) trabalhar na sua empresa.", GetPlayerNameEx(id)); 
                    
SendClientMessage(playerid, Azul, gstring); 
                    
DonoEmpresa[id] = playerid; 
                    
AceitarContrato[id] = 1; 
                    
ContratoMsg[id] = 5; 
                    
T_Contratado[id] = SetTimerEx("MensagemContrato", 3000, false, "d", id); 
                    return 
1; 
                } 
            } 
            return 
1; 
Reply
#3

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Compila com o cуdigo abaixo o erro que der manda aqui e as 3 linhas sendo

Код:
Linha de cima da linha do erro
Linha do erro
Linha de baixo da linha do erro
Inclusive mande oque tem nesse f(playerid)

PHP код:
        else if(!strcmp(tmp, "contratar", true))  { 
            for(new 
m = 0; m < MAX_EMPRESAS; m++)  { 
                if(
IsPlayerInRangeOfPoint(playerid, 3, EmpresaInfo[m][PickupX], EmpresaInfo[m][PickupY], EmpresaInfo[m][PickupZ])) { 
                    
format(gStr, sizeof(gStr), "Empresas/Empresa%d.ini", EmpresaInfo[m][Numero]); 
                    if(
strcmp(EmpresaInfo[m][Proprietario], GetPlayerNameEx(playerid), false)) return SendClientMessage(playerid, Vermelho, "Vocк nгo й dono(a) desta empresa!"); 
                    if(
strcmp(EmpresaInfo[m][Funcionario1], "Ninguem", false) && strcmp(EmpresaInfo[m][Funcionario2], "Ninguem", false) && strcmp(EmpresaInfo[m][Funcionario3], "Ninguem", false)) 
                    { 
                        
SendClientMessage(playerid, Vermelho, "Jб excedeu o limite de funcionбrios em sua empresa!"); 
                        return 
1; 
                    } 
                    
tmp = strtok(cmdtext, idx); 
                    if(!
strlen(tmp)) return SendClientMessage(playerid, Vermelho, "Uso vбlido: /Empresa Contratar [ID]"); 
                    new  
id = strval(tmp); 
                    if(
GetDistanceBetweenPlayers(playerid, id) > 5) return SendClientFormat(playerid, Vermelho, "%s estб muito longe da empresa, peзa para ele vim mais prуximo!", GetPlayerNameEx(id)); 
                    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, Vermelho, "Jogador(a) nгo conectado(a)!"); 
                    if(
playerid == id) return SendClientMessage(playerid, Vermelho, "Vocк nгo pode contratar vocк mesmo(a) para sua empresa!"); 
                    new 
donoempresaID = DOF2_GetInt(f(id), "EmpresaID"); 
                    if(
donoempresaID > 0) return SendClientMessage(playerid, COR_ERRO, "Esse(a) jogador(a) й dono(a) de uma empresa!"); 
                    new 
contratadoID = DOF2_GetInt(f(id), "Contratado"); 
                    if(
contratadoID > 0) { 
                        if(!
strcmp(EmpresaInfo[contratadoID][Funcionario1], GetPlayerNameEx(playerid), true) || !strcmp(EmpresaInfo[contratadoID][Funcionario2], GetPlayerNameEx(playerid), true) || strcmp(EmpresaInfo[contratadoID][Funcionario3], GetPlayerNameEx(playerid), true)) {
                            
SendClientMessage(playerid, Vermelho, "Esse(a) jogador(a) jб й funcionбrio(a) de uma empresa!"); 
                        } 
                        return 
1; 
                    } 
                    
format(gstring, sizeof(gstring), "%s estб lhe oferecendo um contrato para trabalhar na empresa dele.", GetPlayerNameEx(playerid)); 
                    
SendClientMessage(id, Azul, gstring); 
                    
format(gstring, sizeof(gstring), "Vocк estб oferecendo para %s um contrato para ele(a) trabalhar na sua empresa.", GetPlayerNameEx(id)); 
                    
SendClientMessage(playerid, Azul, gstring); 
                    
DonoEmpresa[id] = playerid; 
                    
AceitarContrato[id] = 1; 
                    
ContratoMsg[id] = 5; 
                    
T_Contratado[id] = SetTimerEx("MensagemContrato", 3000, false, "d", id); 
                    return 
1; 
                } 
            } 
            return 
1; 
ERROS
PHP код:
C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(10129) : error 012: invalid function call, not a valid address
C
:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(10129) : warning 215: expression has no effect
C
:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(10129) : error 001: expected token: ";", but found ")"
C:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(10129) : error 029: invalid expression, assumed zero
C
:\Users\Lucas\Desktop\Game mode Dten RPG\gamemodes\gmoutubro.pwn(10129) : fatal error 107: too many error messages on one line 
Linha de cima da linha do erro
PHP код:
if(playerid == id) return SendClientMessage(playerid, Vermelho, "Vocк nгo pode contratar vocк mesmo(a) para sua empresa!"); 
Linha do erro
PHP код:
new donoempresaID = DOF2_GetInt(f(id), "EmpresaID"); 
Linha de baixo da linha do erro
PHP код:
if(donoempresaID > 0) return SendClientMessage(playerid, Vermelho, "Esse(a) jogador(a) й dono(a) de uma empresa!"); 
Reply
#4

Oque tem dentro do f(playerid)
Reply
#5

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Oque tem dentro do f(playerid)
acho melhor tu olhar o gm original porque eu nao tou achando essa parada de f n

Reply
#6

licenзa

PHP код:
stock f(playerid)
{
    new
        
filePlayer[128];
    
format(filePlayer, sizeof(filePlayer), "Contas/%s.ini", PlayerName(playerid));
    return 
filePlayer;
} 
A gm esta com nome de WERP, me lembro dessa GM ha muito tempo no samp!
Desculpa ai se incomodei!
Reply
#7

Nгo sei se pode lhe ajudar, mas quando estava a procura de sistema de empresa, nгo consegui encontrar algo bбsico para implementar. Entгo encontrei aqui na board um sistema de casas, bem simples (comprar/vender/spawn).
Deu para transformar ele em um sistema de empresas, acrescentando lucro por um determinado tempo caso uma booleana de produtos estivesse verdadeira e a empresa tivesse dono.
Sei que pode nгo acrescentar em nada, mas acho que pode liberar ideias para o pessoal
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)