←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Taki dźwięk dla tt, a taki ct.

  • +
  • -
Bloody_'s Photo Bloody_ 16.05.2012

if(get_user_team(id) != get_user_team(i))
client_cmd(i, "spk sound/ttdzwiek/tt_powiedz.wav");
else
client_cmd(i, "spk sound/ctdzwiek/ct_powiedz.wav");

Witam. Czy te funkcję odtworzą dźwięki ( 1 do ct a 2 do tt )?

ps. jeśli by ktoś mógł to proszę podać gotowy codclass_skill_used :D
Quote

pfkers's Photo pfkers 16.05.2012

switch(get_user_team(id))
{
case 1: client_cmd(id, "spk sound/ttdzwiek/tt_powiedz.wav");
case 2: client_cmd(id, "spk sound/ctdzwiek/ct_powiedz.wav");
}

a moze tak da rade ?
Quote

  • +
  • -
Bloody_'s Photo Bloody_ 16.05.2012

nie chodzi mi oto:P chodzi mi oto że jak w klasie wcisnę e to u tt mówi siema tt, a u ct w tym samym czasie mówi siema ct
Edited by BloodMan, 16.05.2012 16:16.
Quote

  • +
  • -
ogieR8's Photo ogieR8 16.05.2012

if(get_user_team(id) != get_user_team(i)) client_cmd(i, "spk sound/ttdzwiek/tt_powiedz.wav");
else client_cmd(i, "spk sound/ctdzwiek/ct_powiedz.wav");


Co to index 'i' ? Jak na razie to tylko wygląda, jeśli Ty jesteś w innym teamie niż 'i' to 'tt_powiedz', a jeśli w tym samym teamie to 'ct_powiedz'. Rozwiązanie pfk jest dobre. A jak chcesz inaczej to zrób pętle dla graczy CT i tam odtwarzaj jeden dźwięk, a potem pętle dla graczy TT i tam 2 dźwiek, według mnie najbardziej pewne, bo tak to może działać (od pfk) wtedy, jeśli gracz kliknie, a nie Ty.
Edited by ogieR-, 16.05.2012 16:50.
Quote

  • +
  • -
Bloody_'s Photo Bloody_ 16.05.2012

@UP to nie jest czasem mój kod :s
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 17.05.2012

Rozwiązanie pfkers jest całkowicie prawidłowe, o ile id gracza przechowujesz w id. Musisz tylko umieścić ten kod w odpowiednim miejscu, tam gdzie ma zostać wywołany ten dźwięk ;)
Quote

  • +
  • -
Bloody_'s Photo Bloody_ 17.05.2012

switch(get_user_team(id))
{
case 1: client_cmd(id, "spk sound/ttdzwiek/tt_powiedz.wav");
case 2: client_cmd(id, "spk sound/ctdzwiek/ct_powiedz.wav");
}

tłumacząc to: switch(get_user_team(id))
na polski: wybierz(team_usera(id))

mogę się mylić ale mi się wydaje że to jest przy wyborze teamu :s
Quote

  • +
  • -
Droso's Photo Droso 17.05.2012

To nie jest przy wyborze teamu
To pobiera numer druzyny i wywołuje się case, w którym ustawiasz co ma się stać.
TT: 1
CT:2
SPECT: 3 (?)

i dla tego
case 1 i 2
Quote

Gość_21977_* 18.05.2012

for(id=1;id<=get_maxplayers();++id){
if(is_user_connected(id) && !is_user_hltv(id)){
switch(get_user_team(id)){
case 1: client_cmd(id, "spk sound/ttdzwiek/tt_powiedz.wav");
case 2: client_cmd(id, "spk sound/ctdzwiek/ct_powiedz.wav");
}
}
}


0 to unassigned, czyli niewybrany Team, np. podczas łączenia z serwerem
1 to Terro
2 to CT
3 to Spect
Quote

  • +
  • -
Bloody_'s Photo Bloody_ 18.05.2012

mam to was pytanie, a czy ta funkcja jest dobra?:

public xxxxx(id)
{
new num, players[32];
for(new a = 0; a < num; a++)
{
new i = players[a];

if(get_user_team(id) != get_user_team(i))
client_cmd(i, "spk sound/ttdzwiek/tt_powiedz.wav");
else
client_cmd(i, "spk sound/ctdzwiek/ct_powiedz.wavv");
}
}
Quote

  • +
  • -
ogieR8's Photo ogieR8 18.05.2012

Nie, a gdzie ustaliłeś num ? players[32] ? Nowa zmienna początkowo jest bez wartości, czyli chyba raczej '0'. Pętla będzie, gdy a jest mniejsze niż 0, ciekawe.. ; /
Quote

  • +
  • -
Bloody_'s Photo Bloody_ 19.05.2012

@UP boże... może wyciągłem z pluginu a ty już ciekawe. Proszę o pomoc.
Quote

  • +
  • -
radim's Photo radim 19.05.2012

if(get_user_team(id) != get_user_team(i))
client_cmd(i, "spk sound/ttdzwiek/tt_powiedz.wav");
else
client_cmd(i, "spk sound/ctdzwiek/ct_powiedz.wavv");
}
}
To jest też źle.Np. Jeśli będziesz w tt to tt_powiedz wywoła się dla ct'ków "tt_powiedz" a dla tt'ków "ct_powiedz"
Edited by radim, 19.05.2012 09:33.
Quote

  • +
  • -
ogieR8's Photo ogieR8 19.05.2012

Chłopie ogarnij się, dajesz public'a i się pytasz, czy jest to dobre, to Ci mówię, że nie i czego brakuję. Widzę słabo znosisz krytykę, co jest Twoim minusem. Zmienne nie są globalne, bo dopiero co zarejestrowane w tym publicu, wiec albo zapomniałeś im nadać wartość, albo nie dałeś całego public'a, więc co my Ci mamy więcej pomóc i odpowiadać, czy to jest poprawne ?
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 19.05.2012

1. już Ci wiele razy ktoś wspominał, ale chyba nie rozumiesz jak się sprawdza do jakiej drużyny należy gracz. używasz do tego funkcji get_user_team, która zwraca ID teamu w jakim znajduje się gracz. Następnie nie masz porównywać tego z get_user_team użytym na innym graczu, ale z jakimś numerem, oznaczającym konkretną drużynę, patrz dokumentacja funkcji.

2. Jak już koledzy wspomnieli, brakuje get_players w tym co napisałeś. Może wspomnieli o tym zbyt ofensywnie, ale Ty również zbyt ofensywnie odpowiedziałeś. Nikt nie czyta w Twoich myślach ani nie ma dostępu do Twojego komputera, więc nie wiemy czy nie wstawiłeś tego celowo, czy zapomniałeś umieścić w kodzie, więc odpowiadaj na przyszłość w normalny sposób.

3. Radzę zacząć od jakichś prostszych rzeczy, przyziemnych podstaw, bo widzę że nie potrafisz zrozumieć czasem kawałka kodu przez kogoś tu zamieszczonego i dalej robisz po swojemu, bo nie wiesz o co chodzi z tym. Porywasz się trochę motyką na słońce (jak wielu zresztą początkujących), a to nie jest dobry sposób nauczenia się pisania pluginów.
Quote

  • +
  • -
Bloody_'s Photo Bloody_ 21.05.2012

ogieR- sam się ogar
A wszystkim dziękuję za pomoc. Please close.
Quote

  • +
  • -
sebul's Photo sebul 21.05.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote