Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

czudaczek - zdjęcie

czudaczek

Rejestracja: 13.07.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 24.08.2013 09:42
-----

Moje tematy

Jak poprawnie zrespawnowac gracza

31.07.2013 08:32

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 ?

Wykrywanie prawdziwego buyzone

13.07.2013 22:31

Witam, 

Chcialem zapytac o mozliwosc wykrywania prawdziwego buyzone, jakiej funkcji uzyc by wykryć czy taki jest na mapie.

Co mam na mysli mowiac prawdziwy buyzone ?

A wiec, na mapach typu fy_ aim_ awp_ np awp_india fy_snow itp, buyzone wystepuje, mamy ikonke koszyka zaraz po zespawnowaniu,

ale to jak ja to okreslam jest tylko taki teoretyczny buyzone bo nic na nim nie mozemy kupic, bronie leza na respie lub dostajemy je od razu jak np na awp_india.

 

Probuje przerobić plugin z respawnami, ktory bedzie wykrywał taka prawdziwa buyzone, czyli taka gdzie mozemy kupowac i usuwał bronie, po smierci gracza.

W przypadku mapek takich jak fy_snow, gdzie nie mozemy kupowac broni, zeby po smierci gracza, te bronie normalnie zostawaly tam gdzie gracz zginal.

 

Plugin z mini deatchmatchem mam juz zrobiony a jedynie potrzebuje tej funkcji lub jakiegos rozwiązania bo w sumie na awp_india, nie mozna kupowac ... bronie dostajemy, po pewnym czasie, gdy taki deatchmatch trwa kilka minut i bron znajduje sie na calej mapie dostaje crasha serwera.