Witam mam otóż taki problem, ponieważ u mnie na serwerze co jakiś czas pokazuje się http://faq.pukawka.p...tml#fatal_error "Błąd o treści"
Może to jest powód?
public PozycjaZapisz(id)
{
    new szTemp[128], szMapa[32], szFile[128];
    get_mapname(szMapa, 31);
    
    formatex(szFile, 127, "addons/amxmodx/data/teleport/%s.ini", szMapa);
    formatex(szTemp, 127, "%f %f %f", origin[0], origin[1], origin[2]);
    write_file(szFile, szTemp, 0);
}
public PozycjaWczytaj()
{
    new szMap[32], szFile[128];
    get_mapname(szMap, 31);
    formatex(szFile, 127, "addons/amxmodx/data/teleport/%s.ini", szMap);
    
    if(file_exists(szFile))
    {
        new dane_tablicy[3][32], tablica[256], txtlen;    
        read_file(szFile, 0, tablica, 255, txtlen);
        if(txtlen > 3)
        {
            parse(tablica, dane_tablicy[0], 31, dane_tablicy[1], 31, dane_tablicy[2], 31);
            
            origin[0] = str_to_float(dane_tablicy[0]);
            origin[1] = str_to_float(dane_tablicy[1]);
            origin[2] = str_to_float(dane_tablicy[2]);
        }
    }
}
public fwdPlayerPreThink(id)
{
    static last_think;
    
    if(last_think > id && g_bPrzenikanie)
    {
        for(new i = 0; i <= get_maxplayers(); i ++)
        {
            if(is_user_alive(i))
            {                
                g_bSolid[i] = pev(i, pev_solid) == SOLID_SLIDEBOX ? true : false;
                pev(i, pev_origin, g_fOrigin[i]);
            }
            else
                g_bSolid[i] = false;
        }
    }
    last_think = id;
    
    if(g_bSolid[id] && g_bPrzenikanie)
    {
        for(new i = 0; i <= get_maxplayers(); i ++)
        {
            if(g_bSolid[i] && get_distance_f(g_fOrigin[id], g_fOrigin[i] ) <= 120 && i != id )
            {    
                set_pev(i, pev_solid, SOLID_NOT);
                g_bHasSemiclip[i] = true;
            }
        }
    }
    return FMRES_IGNORED;
}
public fwdPlayerPostThink(id)
{
    for(new i = 0; i <= get_maxplayers(); i ++)
    {
        if( g_bHasSemiclip[i] && g_bPrzenikanie)
        {
            set_pev(i, pev_solid, SOLID_SLIDEBOX);
            g_bHasSemiclip[i] = false;
        }
    }
}
public fwdAddToFullPack_Post(es_handle, e, ent, host, hostflags, player, pset)
{
    if(player && g_bPrzenikanie)
    {
        if( g_bSolid[host] && g_bSolid[ent] && get_distance_f(g_fOrigin[host], g_fOrigin[ent]) <= 120)
        {                
            set_es(es_handle, ES_Solid, SOLID_NOT);
            
            set_es(es_handle, ES_RenderMode, kRenderTransAlpha);
            set_es(es_handle, ES_RenderAmt, 85);
        }
    }
    return FMRES_IGNORED;
}
public fwKoniecRundy()
{
    remove_task(ZADANIE_GODMODE);
}
Pozycje zapisuje tak:
entity_get_vector(id, EV_VEC_origin, origin); PozycjaZapisz(id);
A tu wczytywanie pozycji:
public Teleport_Wlacz(bool:wartosc_tt, bool:wartosc_ct, god_tt, god_ct, hp_tt, hp_ct)
{
    PozycjaWczytaj();
        
    g_bPrzenikanie = true;
    
    for(new id = 0; id <= get_maxplayers(); id ++)
    {
        if(is_user_alive(id) && get_user_team(id) == 1 && wartosc_tt)
        {
            set_user_godmode(id, 1);            
            if(hp_tt > 0) set_user_health(id, hp_tt);
            entity_set_vector(id, EV_VEC_origin, origin)
        }
        
        if(is_user_alive(id) && get_user_team(id) == 2 && wartosc_ct)
        {            
            set_user_godmode(id, 1);
            if(hp_ct > 0) set_user_health(id, hp_ct);
            entity_set_vector(id, EV_VEC_origin, origin)    
        }
    }
   
    new dane[2]
    dane[0] = god_tt;
    dane[1] = god_ct;
    
    set_task(5.0, "Teleport_Wylacz", ZADANIE_GODMODE, dane, 1)
}
public Teleport_Wylacz(dane[2])
{
    remove_task(ZADANIE_GODMODE);
    
    g_bPrzenikanie = false;
    
    pobierz_ilosc();
    
    for(new id = 0; id <= get_maxplayers(); id ++)
    {
        if(is_user_alive(id) && get_user_team(id) == 1 && dane[0] == 1)
        {
            set_user_godmode(id, 0);
        }
        
        if(is_user_alive(id) && get_user_team(id) == 2 && dane[1] == 1)
        {            
            set_user_godmode(id, 0);
        }
    }
}
Plugin po wczytaniu pozycji dla wszystkich graczy, ma na celu teleportowanie do zapisanej pozycji, włączenie przenikania oraz nieśmiertelność. Po 5 sek powinno się wyłączyć wszystko i to działa, ale uważam że w tym kodzie jest coś nie tak.
Pozdrawiam


 
Dodatki SourceMod












