Código da public AtualizarServer2
Código:
forward AtualizarServer2();
public AtualizarServer2()
{
if(salvandoserver == 1 ) return 1;
String_Gigante[0] = EOS;
new tranc[200];
for(new c; c<MAX_CASAS; c++)
{
if(Casa[c][casaExiste] == 1)
{
format(String_Gigante, 400, "");
if(Casa[c][casaTipo] != 3) format(tranc, 200, "{9C9C9C}Casa ID %d\n\n", c);
else format(tranc, 200, "{9C9C9C}Apartamento ID %d\n\n", c);
strcat(String_Gigante, tranc);
if(!Comparar(Nome(-1), Casa[c][casaDono])) format(tranc, 50, "{ffffff}Dono: {00ffff}%s\n",Casa[c][casaDono]);
else
{
if(Casa[c][casaTipo]!=3)format(tranc, 200, "{00ff00}CASA A VENDA !\n{9C9C9C}Use /comprarcasa para comprar\n{ffffff}Valor da casa: {00ff00}R$ %s\n", ConvertMoney( Casa[c][casaPreco]));
else format(tranc, 200, "{00ff00}APARTAMENTO A VENDA !\n{9C9C9C}Use /comprarcasa para comprar\n{ffffff}Valor do apartamento: {00ff00}R$ %s\n", ConvertMoney( Casa[c][casaPreco]));
}
strcat(String_Gigante, tranc);
if(Casa[c][casaChave] == 0) format(tranc, 50, "{ffffff}Trancada: {00ffff}nao\n");
else format(tranc, 100, "{ffffff}Trancada: {ff0000}SIM\n");
strcat(String_Gigante, tranc);
format(tranc, 150, "{ffffff}Tipo casa: {ffff00}%s\n", tipocasa(Casa[c][casaTipo]));
strcat(String_Gigante, tranc);
format(tranc, 150, "{ffffff}Descricao: {00ffff}%s\n", Casa[c][casaDescricao]);
strcat(String_Gigante, tranc);
format(tranc, 150, "{ffffff}Designer: {00ff00}%s\n", Casa[c][casaDesigner]);
strcat(String_Gigante, tranc);
if(Casa[c][casaChave] == 0)
{
if(Casa[c][casaTipo]!=3)strcat(String_Gigante, "\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER {ffffff}para\nentrar na casa");
else strcat(String_Gigante, "\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER {ffffff}para\nentrar no apartamento");
}
if(IsValidDynamic3DTextLabel(Casa[c][casaEntrar3D])) UpdateDynamic3DTextLabelText( Casa[c][casaEntrar3D], 0xffffff99, String_Gigante);
new pla = pegarinfo3( -1,-1,-1,c,-1 );
if(pla != -1)
{
if(vInfo[pla][vGaragem] == 1)format (String_Gigante, sizeof String_Gigante, "{ffff00}Garagem Casa: %d\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER{ffffff} para\npegar o veiculo", c);
else format(String_Gigante, sizeof String_Gigante, "{ffff00}Garagem Casa: %d\n{ffffff}Saia do veiculo para guardar-lo", c);
}
if(IsValidDynamic3DTextLabel(Casa[c][casaGaragem3D])) UpdateDynamic3DTextLabelText( Casa[c][casaGaragem3D], 0xffffff99, String_Gigante);
if(!Comparar(Nome(-1), Casa[c][casaDono]))
{
if(Casa[c][casaData] != getdate()+7)
{
if(casacontas[c] > 6*60)
{
Casa[c][casaContas] += 200+random(500);
casacontas[c] = 0;
}
casacontas[c] ++;
}
}
}
}
for(new el; el<MAX_CAIXAS_ELETRONICOS; el++)
{
if(CaixaEletronico[el][caixaeletronicoExiste] != 1) continue;
if(CaixaEletronico[el][caixaeletronicoFundos] >= 150000) continue;
if(CaixaEletronico[el][caixaeletronicoHora] >= gettime()) continue;
CaixaEletronico[el][caixaeletronicoHora] = gettime()+60*10;
CaixaEletronico[el][caixaeletronicoFundos] += random(20000);
atualizarcaixaeletronico(el, 1);
}
for(new d; d<MAX_DINAMITES; d++)
{
if(Dinamite[d][dinamiteExiste] == 0) continue;
if(Dinamite[d][dinamiteExiste] == 3) format(String_Gigante, 200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{ffff00}DESARMANDO...", Dinamite[d][dinamiteDono]);
if(Dinamite[d][dinamiteExiste] == 2) format(String_Gigante, 200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{00ff00}INSTALANDO...", Dinamite[d][dinamiteDono]);
if(Dinamite[d][dinamiteExiste] == 1 || Dinamite[d][dinamiteExiste] == 5 ) format(String_Gigante, 200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{ffffff}Explosao: {ffff00}%s", Dinamite[d][dinamiteDono], ConvertTime(Dinamite[d][dinamiteTempo]-gettime()));
if(!IsValidDynamic3DTextLabel(Dinamite[d][dinamite3D])) Dinamite[d][dinamite3D] = CreateDynamic3DTextLabel( String_Gigante, 0xffffff99, Dinamite[d][dinamiteX], Dinamite[d][dinamiteY], Dinamite[d][dinamiteZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Dinamite[d][dinamiteMundo], Dinamite[d][dinamiteInterior], -1, STREAMER_3D_TEXT_LABEL_SD, -1, 0 );
UpdateDynamic3DTextLabelText( Dinamite[d][dinamite3D], 0xFFFFFF99,String_Gigante);
if(Dinamite[d][dinamiteExiste] == 1 && Dinamite[d][dinamiteTempo] <= gettime()) explodirdinamite(d);
if(Dinamite[d][dinamiteExiste] == 5 && Dinamite[d][dinamiteTempo] <= gettime()) explodirdinamite(d, 1);
}
for(new po; po<MAX_POSTOS; po++)
{
if(Posto[po][postoExiste] == 1)
{
format(String_Gigante,300,
"{ffff00}[ %s ID %d ]\n\
{ffffff}Preco por Litro: {00ff00}R$ %s\n\n\
{ffffff}Digite {00ffff}/abastecer{ffffff} para\nabastecer seu veiculo aqui", Posto[po][postoNome], po, ConvertMoney(Posto[po][postoPreco]));
if(IsValidDynamic3DTextLabel(Posto[po][posto3D]))UpdateDynamic3DTextLabelText( Posto[po][posto3D], 0xffffff99,String_Gigante);
}
}
for(new de; de<MAX_BEBEDORES; de++)
{
if(Bebedor[de][bebedorExiste] == 1)
{
format(String_Gigante,300,"Bebedor ID %d\nAperte F ou ENTER para\nbeber agua aqui", de);
if(IsValidDynamic3DTextLabel(Bebedor[de][bebedor3D]))UpdateDynamic3DTextLabelText( Bebedor[de][bebedor3D], 0xffffff99,String_Gigante);
}
}
return 1;
}
(16/10/2023 11:00)pushline Escreveu: Poste o log do crashdetect sem traduzi-lo.Estou compilando normalmente sem o -d3
De uma olhada na função AtualizarServer2, aparenta ser ela que está quebrando seu server.
E aparentemente seu crashdetect não mostrou a linha do erro, estás compilando com "-d3"?