BulgaR Opublikowano Grudzień 3, 2015 o 15:11 Udostępnij Opublikowano Grudzień 3, 2015 o 15:11 W tym poradniku pokaze w jaki sposob dodac dynamit do klasy/itemu. Na poczatek musimy standardowo utworzyc jakas klase lub item a nastepnie gdzies na gorze dodajemy: new ilosc_dynamitow_gracza[MAX_PLAYERS+1] Nastepnie szukamy: public OnClientPutInServer(client) { i do srodka dodajemy: ilosc_dynamitow_gracza[client] = 0; nastepnie szukamy: public Action:Prethink(client) { if(!IsValidClient(client) || IsFakeClient(client) || freeze_time) return Plugin_Continue; if(IsPlayerAlive(client)) { new buttons = GetClientButtons(client); new ile = poziom_gracza[client]-1 >= 0? doswiadczenie_poziomu[poziom_gracza[client]-1]: 0; new Float:procent_gracza = 0.0; procent_gracza = (float(doswiadczenie_gracza[client]-ile)/float(doswiadczenie_poziomu[poziom_gracza[client]]-ile))*100.0; PrintHintText(client, "[Klasa: <b>%s</b>]\n[Xp: <b>%0.1f</b>/<b>100.0%%</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]", nazwy_klas[klasa_gracza[client]], procent_gracza, poziom_gracza[client], nazwy_itemow[informacje_itemu_gracza[client][0]], moc_itemu[client]); new String:weapon[32]; GetClientWeapon(client, weapon, sizeof(weapon)); i teraz dodajemy do switcha klasy lub itemu sprawdzanie czy gracz naciska klawisz, jesli tak to wykonujemy funkcje dynamitu. Nizej przyklad dla klasy Saper: Do: switch(klasa_gracza[client]) { dodaje case Saper: { if(!oldbuttons1[client] && buttons & IN_USE) { if(ilosc_dynamitow_gracza[client]) { new Float:fOrigin[3]; new Float:iOrigin[3]; GetClientEyePosition(client, Float:fOrigin); for(new i = 1, max = GetMaxClients(); i <= max; ++ i) { if(!IsClientInGame(i) || !IsPlayerAlive(i)) continue; if(GetClientTeam(client) == GetClientTeam(i)) continue; GetClientEyePosition(i, Float:iOrigin); if(GetVectorDistance(fOrigin, iOrigin) <= 200.0) SDKHooks_TakeDamage(i, client, client, ((klasa_gracza[i] == Obronca || informacje_itemu_gracza[i][0] == 30)? 0.0: 40.0+(inteligencja_gracza[client]+bonusowa_inteligencja_gracza[client])/6), DMG_GENERIC); } TE_SetupBeamRingPoint(fOrigin, 20.0, 200.0, sprite_laser, sprite_halo, 0, 10, 0.6, 6.0, 0.0, {255, 255, 255, 128}, 10, 0); TE_SendToAll(); ilosc_dynamitow_gracza[client]--; } else PrintToChat(client, "[COD:MW] Wykorzystales juz moc swojej klasy w tej rundzie!"); oldbuttons1[client] = 1; } else if(oldbuttons1[client] && !(buttons & IN_USE)) oldbuttons1[client] = 0; } Po nacisnieciu a nastepnie puszczeniu klawisza E, bedzie wykonywany kod dynamitu. Musimy jeszcze przypisac odpowiednia ilosc dynamitow dla warunku jaki przypisalismy. Tak wiec jezeli ma to byc dla klasy to przechodzimy do odrodzenia, a jezeli dla itemu to do dajitem. Ja pokaze na tej samej klasie na ktorej dodalem wykonywanie kodu dynamitu, a wiec szukam: public Action:Odrodzenie(client) { if(!IsValidClient(client) || !IsPlayerAlive(client)) return; if(!klasa_gracza[client]) WybierzKlase(client); else { if(nowa_klasa_gracza[client]) { klasa_gracza[client] = nowa_klasa_gracza[client]; nowa_klasa_gracza[client] = 0; ilosc_apteczek_gracza[client] = 0; CS_UpdateClientModel(client); WczytajDane(client, klasa_gracza[client]); } switch(klasa_gracza[client]) { i dodaje: Do switch(klasa_gracza[client}) case Saper: ilosc_dynamitow_gracza[client] = 2; Opcjonalnie, jezeli nie chcemy by w momencie zmiany klasy dynamit nie przechodzil na inna klase to do if(nowa_klasa_gracza[client]), dodajemy resetowanie dynamitu czyl: ilosc_dynamitow_gracza[client] = 0; Autorem poradnika jest @Linux`. Oryginalny temat: [cs:go]CodMod_Stary - Dodanie dynamitu do klasy - Tutoriale - AMXX.pl: Support AMX Mod X 1 Podziękuj! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się