Witam, mam pytanie jak poprawnie zrespawnowac gracza ?
Wiele tematow o tym bylo i probowalem juz chyba wszelkimi sposobami przez moduł fun, ham, cs ... moze sa jeszcze jakies inne sposoby ktorych nie probowalem.
Problem polega na tym, ze gracz sie respawnuje w 80 % przypadkow, ale raz na jakis czas ten gracz sie zrespawnuje ale zapada sie pod ziemie ... tzn jego model zapada sie w ziemie.
Probowalem zabezpieczyc swojego mini dm komenda /respawn zeby w przypadku gdy gracz zginie na respie podczas respawnu, to sam mogl sie odrodzic.
Problem jednak polega na tym, ze wg amxmodx ten gracz nadal zyje, zniknal z mapy ale ma status alive.
Powylaczalem wszystkie pluginy i zostawilem tylko swojego mini dm wiec raczej nie gryzie sie z innymi pluginami,
Mam takie wrazenie ze gracze, ktorzy sie dobrze respawnuja, spadaja z niewielkiej wysokosci na ziemie a ci ktorzy zle, jakby od razu respawnowali sie w ziemi...
Zastanawialem sie czy problem nie tkwi w czasie w jakim respawnuje gracza po smierci ale regulowalem go od 0.5 do 1.5 sekundy i dalej to samo
public client_putinserver(id) { set_task(2.0, "CheckTeam", id+291,_,_,"b"); } public DeathMsg() { new victim=read_data(2); set_task(1.5, "respawn_player", victim) } public pfn_keyvalue(entid) { new classname[20], key[18], value[3] copy_keyvalue(classname, charsmax(classname), key, charsmax(key), value, charsmax(value)) if (equal( classname, "info_map_parameters" ) && equal( key, "buying" ) && equal( value, "0" )) buying_on=true if (equal( classname, "game_player_equip") && (containi(key,"weapon_")!=-1)) taking_mapweapon=true } public respawn_player(id) { if(is_user_connected(id) && !is_user_alive(id)) { dllfunc(DLLFunc_Spawn, id) set_task(1.2, "daj_bronie" ,id) } } public daj_bronie(id) { if(is_user_alive(id)) { give_item(id, "item_suit") //give_item(id, "weapon_knife") } }
Moze problemem jest wykrywanie smierci gracza przez ten event ?, bo cialo jeszcze nie spadnie na ziemie po smierci a ja juz gracza respawnuje, moze powinienem usuwac cialo gracza zanim go odrodze ?