Wywolanie funkcji po dotnieciu innego gracza
KillerBee 26.11.2013
witam
mam oto taki kod (uzywam hamsandwich)
public DotykGracza(ent, id) { if(!pev_valid(ent) || !pev_valid(id)) return HAM_IGNORED; if(is_user_alive(id) && is_user_alive(ent)) { if(get_user_team(id) == 2 && get_user_team(ent) == 1) { // kod } if(get_user_team(id) == 1 get_user_team(ent) == 1) { // kod } } return HAM_IGNORED; } public Cos(id, pid) { // kod }
chce do tego dorobic ze jak TT dotknie innego TT to wlacza mu sie pasek od paki (bartime) i gdy odejdzie od niego znika i nie wykona sie funkcja Cos(id, pid)
bartime zeby trwal 4 sekundy i zeby po tym czasie wykonala sie funkcja Cos(id, pid)
id - indeks gracza dotykajacego
pid - index gracza dotykanego
Droso
26.11.2013
#define CZAS 2.0 public DotykGracza(ent, id) { if(!pev_valid(ent) || !pev_valid(id)) return HAM_IGNORED; new data[2]; data[0] = id; data[1] = ent; if(is_user_alive(id) && is_user_alive(ent)) { if(get_user_team(id) == 1 && get_user_team(ent) == 1) { if(!task_exists(6000+id)){ set_task(CZAS , "Cos", 6000+id, data, 2); createBarTime(id, CZAS, 0); } if(task_exists(5000+id)) remove_task(5000+id); set_task(0.1, "UsuwajEfekt", 5000+id, data, 2); } } return HAM_IGNORED; } public Cos(data[2]) { new id = data[0]; new pid = data[1]; if(task_exists(5000+id)) remove_task(5000+id); // twoj kod client_print(id, 3, "xD"); } public UsuwajEfekt(data[2]){ new id = data[0]; if(is_user_connected(id)) createBarTime(id, 1.0, 100); if(task_exists(6000+id)) remove_task(6000+id); } stock createBarTime(id, Float:fTime, startprogress = 0){ static barTime2; if(!barTime2) barTime2 = get_user_msgid("BarTime2"); message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id) write_short( floatround( fTime ) ); write_short( startprogress ); message_end(); }
Ale, lepsze będzie tak jak napisał Dark pobieranie odległości między graczami
KillerBee 26.11.2013
patrzac na twoj kod to gdy nawet odejdzie pasek jak i funkcja sie wykona
DarkGL moge prosic o przyklad? nie mam zielonego pojecia jak to moge zrobic
Droso
26.11.2013
patrzac na twoj kod to gdy nawet odejdzie pasek jak i funkcja sie wykona
DarkGL moge prosic o przyklad? nie mam zielonego pojecia jak to moge zrobic
Nope? Przetestuj?
Tylko, że dotyk między graczami występuje wtedy kiedy jeden biegnie w drugiego lub stoją na sobie.