[Ajuda] FS de DINI bugando dedicado
#1

Aluguei um dedicado. Sу que o dini que salva/carrega os dados do player ta derrubando o server na hora de carregar.

Em server caseiro funcionou normal. Salvo/carrego/compilo tranquilo.

Segue aqui o dini que to usando:

Salvando money, armas e score. Peguei deste tуpico https://sampforum.blast.hk/showthread.php?tid=143657

Sу que no meu dedicado quando entra no server, ele derruba o server... Alguma luz?
Reply
#2

Posta o Code Dini que Salva/Carrega.
Reply
#3

pawn Код:
//
// Keeps the in game time synced to the server's time and
// draws the current time on the player's hud using a textdraw/
// (1 minute = 1 minute real world time)
//
//  Kye 2009

#include <a_samp>
#include <Dini>
#pragma tabsize 0

//--------------------------------------------------

new Text:txtTimeDisp;
new hour, minute;
new timestr[32];

forward UpdateTime();

//--------------------------------------------------


public UpdateTime()
{
    gettime(hour, minute);
    format(timestr,32,"%02d:%02d",hour,minute);
    TextDrawSetString(txtTimeDisp,timestr);
   
    SetWorldTime(hour);
   
    new x=0;
    while(x!=MAX_PLAYERS) {
        if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE) {
            SetPlayerTime(x,hour,minute);
         }
         x++;
    }
}

//--------------------------------------------------

public OnGameModeInit()
{
    // Init our text display
    txtTimeDisp = TextDrawCreate(605.0,25.0,"00:00");
    TextDrawUseBox(txtTimeDisp, 0);
    TextDrawFont(txtTimeDisp, 3);
    TextDrawSetShadow(txtTimeDisp,0); // no shadow
    TextDrawSetOutline(txtTimeDisp,2); // thickness 1
    TextDrawBackgroundColor(txtTimeDisp,0x000000FF);
    TextDrawColor(txtTimeDisp,0xFFFFFFFF);
    TextDrawAlignment(txtTimeDisp,3);
    TextDrawLetterSize(txtTimeDisp,0.5,1.5);
   
    UpdateTime();
    SetTimer("UpdateTime",1000 * 60,1);

    if(!fexist("dinheiro.ini")) dini_Create("dinheiro.ini");
    if(!fexist("score.ini")) dini_Create("score.ini");
    if(!fexist("Weapon.ini")) dini_Create("Weapon.ini");

    return 1;
}

//--------------------------------------------------

public OnPlayerSpawn(playerid)
{
    TextDrawShowForPlayer(playerid,txtTimeDisp);
   
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
   
    if(dini_Isset("Weapon.ini",PlayerName(playerid))) GivePlayerWeapon(playerid,dini_Int("Weapon.ini",PlayerName(playerid)));
   
    return 1;
}

//--------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
    TextDrawHideForPlayer(playerid,txtTimeDisp);
    return 1;
}

//--------------------------------------------------

public OnPlayerConnect(playerid)
{
    if(dini_Isset("dinheiro.ini",PlayerName(playerid))) GivePlayerMoney(playerid,dini_Int("dinheiro.ini",PlayerName(playerid)));
    if(dini_Isset("score.ini",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("score.ini",PlayerName(playerid)));
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    dini_IntSet("dinheiro.ini",PlayerName(playerid),GetPlayerMoney(playerid));
    dini_IntSet("score.ini",PlayerName(playerid),GetPlayerScore(playerid));
    dini_IntSet("Weapon.ini",PlayerName(playerid),GetPlayerWeapon(playerid));
    return 1;
}

stock PlayerName(playerid)
{
new Name[MAX_PLAYERS];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}
//--------------------------------------------------
O FS inteiro
Reply
#4

Nossa que VPS ruim, se eu fosse vc procurava outro VPS.
Reply
#5

O codigo estб correto.

Nгo encontrei nenhum erro nele, o que pode estar causando o crash no servidor й seu GM ou atй mesmo o conflito entre FS e algum outro que esteja carregado.

Verifique.
Reply
#6

Quote:
Originally Posted by Shadoww5
Посмотреть сообщение
O codigo estб correto.

Nгo encontrei nenhum erro nele, o que pode estar causando o crash no servidor й seu GM ou atй mesmo o conflito entre FS e algum outro que esteja carregado.

Verifique.
Ou talvez seja o vps q й ruim msm, ele eeculta escrita/carregamento usa mta cpu e fexa pra nun danificar memoria D:
Reply
#7

nao creio que o vps seja ruim... Pois nele tinha um sv com media de 150 players... Tbm nao creio q seja conflito pois testei ele sozinho com grandlarc... Sera q se eu por no gm, pod funcionar?
Reply
#8

Isto deve resolver o seu problema .


Faltavam alguns returns e algumas callbacks de Filterscripts nгo estavam definidas .


Fora esses nгo encontrei nenhum outro problema .


Aqui estб:


pawn Код:
//
// Keeps the in game time synced to the server's time and
// draws the current time on the player's hud using a textdraw/
// (1 minute = 1 minute real world time)
//
//  Kye 2009

#include <a_samp>
#include <Dini>

//--------------------------------------------------

new Text:txtTimeDisp;
new hour, minute;
new timestr[32];



//--------------------------------------------------


forward UpdateTime();
public UpdateTime()
{
    gettime(hour, minute);
    format(timestr,32,"%02d:%02d",hour,minute);
    TextDrawSetString(txtTimeDisp,timestr);

    SetWorldTime(hour);

    new x=0;
    while(x!=MAX_PLAYERS)
    {
        if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE)
        {
            SetPlayerTime(x,hour,minute);
        }
        x++;
    }
    return 1;
}

//--------------------------------------------------

public OnFilterScriptInit()
{
    // Init our text display
    txtTimeDisp = TextDrawCreate(605.0,25.0,"00:00");
    TextDrawUseBox(txtTimeDisp, 0);
    TextDrawFont(txtTimeDisp, 3);
    TextDrawSetShadow(txtTimeDisp,0); // no shadow
    TextDrawSetOutline(txtTimeDisp,2); // thickness 1
    TextDrawBackgroundColor(txtTimeDisp,0x000000FF);
    TextDrawColor(txtTimeDisp,0xFFFFFFFF);
    TextDrawAlignment(txtTimeDisp,3);
    TextDrawLetterSize(txtTimeDisp,0.5,1.5);

    UpdateTime();
    SetTimer("UpdateTime",60000,true);

    if(!fexist("dinheiro.ini")) dini_Create("dinheiro.ini");
    if(!fexist("score.ini")) dini_Create("score.ini");
    if(!fexist("Weapon.ini")) dini_Create("Weapon.ini");

    return 1;
}

//--------------------------------------------------

public OnPlayerSpawn(playerid)
{
    TextDrawShowForPlayer(playerid,txtTimeDisp);

    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);

    if(dini_Isset("Weapon.ini",PlayerName(playerid))) GivePlayerWeapon(playerid,dini_Int("Weapon.ini",PlayerName(playerid)), 1000);

    return 1;
}

//--------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
    TextDrawHideForPlayer(playerid,txtTimeDisp);
    return 1;
}

//--------------------------------------------------

public OnPlayerConnect(playerid)
{
    if(dini_Isset("dinheiro.ini",PlayerName(playerid))) GivePlayerMoney(playerid,dini_Int("dinheiro.ini",PlayerName(playerid)));
    if(dini_Isset("score.ini",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("score.ini",PlayerName(playerid)));
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    dini_IntSet("dinheiro.ini",PlayerName(playerid),GetPlayerMoney(playerid));
    dini_IntSet("score.ini",PlayerName(playerid),GetPlayerScore(playerid));
    dini_IntSet("Weapon.ini",PlayerName(playerid),GetPlayerWeapon(playerid));
    return 1;
}

stock PlayerName(playerid)
{
    new Name[MAX_PLAYERS];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}


public OnFilterScriptExit()
{
    return 1;
}
//--------------------------------------------------

Espero ter ajudado .
Reply
#9

funcionou '-' me passa msn por MP?
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)