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