Portal SAMP
[Ajuda] Problema no Sistema de Portão - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Problema no Sistema de Portão (/showthread.php?tid=1005)



Problema no Sistema de Portão - RocKFielD - 30/03/2021

Boa Tarde a todos, só venho aqui quando não tenho mais onde ocorrer para resolver o problema.

Ontem fiz adaptação de um sistema de portão para minha GM, já tinha feito antes e adaptei da mesma forma de outra gm que deu tudo certo na outra.

Porém nessa não deu certo, refiz ela e continuou com o problema

Código do Problema:
=================================================
[debug] Run time error 4: "Array index out of bounds"
[debug]  Accessing element at index 722 past array upper bound 499
[debug] AMX backtrace:
[debug] #0 001c8db0 in ?? () from GM.amx
[debug] #1 0004f8dc in public Itter_OnGameModeInit () from GM.amx
[debug] #2 native CallLocalFunction () [004743b0] from samp-server.exe
[debug] #3 00012180 in public Streamer_OnGameModeInit () from GM.amx
[debug] #4 native CallLocalFunction () [004743b0] from samp-server.exe
[debug] #5 00006808 in ?? () from GM.amx
[debug] #6 00000700 in public OnGameModeInit () from GM.amx

==============================
Esse sistema é DOF2, minha GM é dini, então usei um programa para voltar para dini, até pensei que era problema no Dini e decidi por minha GM inteira pra DOF2 pra testar mas sem sucesso, eu realmente não sei o que está acontecendo, já procurei desses erros em vários fóruns mas não obtive respostas suficientes para consertar..

Se puderem me ajudar por favor, agradeço.

Desde Já, Obrigado.


RE: Problema no Sistema de Portão - k2bi_YT - 30/03/2021

Esse código aparece quando é executando um comando?

Acho que o problema pode estar, caso tenha, no carregamento dos portões ao iniciar o server ou caso use, em enum/cmd.

Caso tenha preferência de postar o code, irá ajudar.


RE: Problema no Sistema de Portão - RocKFielD - 30/03/2021

(30/03/2021 17:51)k2bi_YT Escreveu: Esse código aparece quando é executando um comando?

Acho que o problema pode estar, caso tenha, no carregamento dos portões ao iniciar o server ou caso use, em enum/cmd.

Caso tenha preferência de postar o code, irá ajudar.

Não aparece quando executa o comando não, ele aparece quando ligo o server ele dá isso.

No caso quando boto a stock que é carregar os portões ele dá isso, eu retiro ela, liga normalmente, não consigo ligar ele quando tento carregar os portões.

No caso o carregar Portões eu boto no ongamemodeinit para iniciar junto.


RE: Problema no Sistema de Portão - k2bi_YT - 30/03/2021

Eu não aconselho usar stock nas funções porque mesmo contendo erro no script, irá ser ignorado.

Mande o code de carregar os portões, tenho certeza que o problema está ai.


RE: Problema no Sistema de Portão - RocKFielD - 30/03/2021

(30/03/2021 19:33)k2bi_YT Escreveu: Eu não aconselho usar stock nas funções porque mesmo contendo erro no script, irá ser ignorado.

Mande o code de carregar os portões, tenho certeza que o problema está ai.
==================================
stock CarregarPortoes()

{
new F[90];
for(new P; P < MAX_PORTOES; P++)
{
format(F, sizeof(F), PASTA_PORTOES, P);
if(!dini_Exists(F)) continue;
  _Portao[dini_Int(F, "ID")] = CreateDynamicObject(dini_Int(F, "Modelo"), dini_Float(F, "PosX"), dini_Float(F, "PosY"), dini_Float(F, "PosZ"), dini_Float(F, "PosXr"), dini_Float(F, "PosYr"), dini_Float(F, "PosZr"), -1, -1, -1, 200.0);
  new label[90];
format(label, sizeof(label), "{FFFFFF}ID: {FF0000}%d\n{FFFFFF}Aperte {FF0000}H {FFFFFF}Para Abrir", dini_Int(F, "ID"));
_TextPortao[dini_Int(F, "ID")] = CreateDynamic3DTextLabel(label, -1, dini_Float(F, "PosX"), dini_Float(F, "PosY"), dini_Float(F, "PosZ"), 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 200.0);
}
print("Portões carregados com sucesso!");
return 1;
}
==================================

Aqui está!


RE: Problema no Sistema de Portão - k2bi_YT - 30/03/2021

Teste e diga o resultado, não coloque como stock para caso de conter erros no code.

Obs: Recomendo que use uma enum para armazenar os valores, pois será bem mais rápido/otimizado na hora de ser usado em outras funções, vai por mim...
Código PHP:
CarregarPortoes()
{
    new 
file[64], label[128];
    for(new 
0MAX_PORTOES; ++i)
    {
        
format(filesizeof(file), PASTA_PORTOESi);
        if(!
dini_Exists(file)) continue;
        
_Portao[i] = CreateDynamicObject(dini_Int(file"Modelo"), dini_Float(file"PosX"), dini_Float(file"PosY"), dini_Float(file"PosZ"), dini_Float(file"PosXr"), dini_Float(file"PosYr"), dini_Float(file"PosZr"), -1, -1, -1200.0);
        
format(labelsizeof(label), "{FFFFFF}ID: {FF0000}%d\n{FFFFFF}Aperte {FF0000}H {FFFFFF}Para Abrir"i);
        
_TextPortao[i] = CreateDynamic3DTextLabel(label, -1dini_Float(file"PosX"), dini_Float(file"PosY"), dini_Float(file"PosZ"), 10.0INVALID_PLAYER_IDINVALID_VEHICLE_ID0, -1, -1, -1200.0);
    }
    print(
"Portões carregados com sucesso!");
    return 
1;




RE: Problema no Sistema de Portão - RocKFielD - 30/03/2021

(30/03/2021 19:55)k2bi_YT Escreveu: Teste e diga o resultado, não coloque como stock para caso de conter erros no code.

Obs: Recomendo que use uma enum para armazenar os valores, pois será bem mais rápido/otimizado na hora de ser usado em outras funções, vai por mim...
Código PHP:
CarregarPortoes()
{
    new 
file[64], label[128];
    for(new 
0MAX_PORTOES; ++i)
    {
        
format(filesizeof(file), PASTA_PORTOESi);
        if(!
dini_Exists(file)) continue;
        
_Portao[i] = CreateDynamicObject(dini_Int(file"Modelo"), dini_Float(file"PosX"), dini_Float(file"PosY"), dini_Float(file"PosZ"), dini_Float(file"PosXr"), dini_Float(file"PosYr"), dini_Float(file"PosZr"), -1, -1, -1200.0);
        
format(labelsizeof(label), "{FFFFFF}ID: {FF0000}%d\n{FFFFFF}Aperte {FF0000}H {FFFFFF}Para Abrir"i);
        
_TextPortao[i] = CreateDynamic3DTextLabel(label, -1dini_Float(file"PosX"), dini_Float(file"PosY"), dini_Float(file"PosZ"), 10.0INVALID_PLAYER_IDINVALID_VEHICLE_ID0, -1, -1, -1200.0);
    }
    print(
"Portões carregados com sucesso!");
    return 
1;

Boa Noite, desculpe a demora a responder, testei seu código e dá tudo certo mas não abre o portão, decidi readaptar novamente porém na primeira vez deu os mesmos erros no log só que de vez a ongamemodeinit tava dando com onplayerkeystatechange, readaptei novamente e agora estou com erros de DOF2 indefinido sendo que estou com a include inserida no pawno e dentro da gm (#include).


RE: Problema no Sistema de Portão - k2bi_YT - 30/03/2021

Pode listar como está o seu code de abrir o portão? Quando algo é alterado na base, o corpo inteiro deve ser revisado para evitar problemas lógicos.