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.
|
[ROZWIĄZANE] Task - wysłanie do funkcji id atakujacego
#2
Napisano 15.06.2012 21:47
public funkcja(id,ofiara)
{
nalozyltask[ofiara]=id
set_task(0.5, "funkcja2", ofiara);
}
public funkcja2(id)
{
gracz_atakowany=id
gracz_atakujacy=nalozyltask[id]
}
Użytkownik Fryteczq edytował ten post 15.06.2012 21:47
#3
Gość_21977_*
Napisano 15.06.2012 22:31
Ten temat został przeniesiony z forum
AMX Mod X > Pytania
do
Scripting AMXX > Pytania
#4
Napisano 16.06.2012 02:31
Co do tematu. set_task
public funkcja(data[], len) {
ofiara = data[0];
atakujacy = data[1];
}
To jest przykładowa zawartość, dla
new data[2]
data[0] = ofiara
data[1] = atakujacy
set_task(10.0, "funkcja", atakujacy, data, 2);
Jest to jak widać bardzo dobra metoda do podania dowolnych danych do taska, bez używania zmiennych globalnych (które niepotrzebnie zajmują pamięć i mogą być "nadpisane" gdy wywoła się kila tasków dla jednego gracza, zanim pierwszy z nich się wykona). Jest proste, wygodne i zawsze działa
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.

#6
Napisano 16.06.2012 10:44
np
set_task(10.0, "funkcja", atakujacy+8123, data, 2);
a w funkcji na początku odejmujesz od wsyłanego ID dodaną wartość
public funkcja(id)
{
id-=8123;
//cos tam dalej robi
}
#7
Napisano 16.06.2012 12:15
if(player_b_bio[attacker_id]){
if(task_exists(id+TASK_POCISKI_BIO))
remove_task(id+TASK_POCISKI_BIO)
new data[2]
data[0] = id
data[1] = attacker_id
set_task(1.0, "Pociski_bio", attacker_id+TASK_POCISKI_BIO, data, 2, "a", 5);
}
public Pociski_bio(data[], len){
new attacker_id, id
id = data[0];
attacker_id = data[1];
if(is_user_alive(id)){
ExecuteHam(Ham_TakeDamage, id, 0, attacker_id, 10.0 , 1);
}
}I jak tu teraz zrobić te unikalne id taska bo ja nie kumam tego.
#8
Napisano 16.06.2012 14:03
@CheQ, w ten sposób nie da się pobrać wartości z tablicy data. Albo pobierasz id taska, albo data, innej opcji nie ma.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.

#10
Gość_21977_*
Napisano 16.06.2012 14:19
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty










