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
 

Zdjęcie
CS:GO

[Cod Nowy] Automatyczny wybór klasy po X sekundach

cs:go

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 08.04.2017 23:18

W tym tutorialu postaram się przedstawić w jaki sposób możemy dodać automatyczny wybór klasy dla gracza po określonym przez nas czasie.

 

Na początku dodajemy nowe zmienne globalne:

new auto_klasa_gracza[65],
    Float:time_klasa_gracza[65];

teraz do public Action:UsunUmiejetnosci(client) dodajemy ich resetowanie a więc:

auto_klasa_gracza[client] = 0;
time_klasa_gracza[client] = 0.0;

następnie przechodzimy do public Action:PokazInformacje(Handle:timer, any:client) i zamieniamy go na:

public Action:PokazInformacje(Handle:timer, any:client)
{
	if(!IsValidClient(client))
		return;

	if(IsPlayerAlive(client))
	{
		WybierzAutoKlase(client);
		if(auto_klasa_gracza[client])
			PrintHintText(client, "<font color='#008000'>[Klasa: <b>%s</b> (<b>%is</b>)]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[client]], auto_klasa_gracza[client], doswiadczenie_gracza[client], poziom_gracza[client], nazwy_itemow[item_gracza[client]], wytrzymalosc_itemu_gracza[client]);
		else
			PrintHintText(client, "<font color='#008000'>[Klasa: <b>%s</b>]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[client]], doswiadczenie_gracza[client], poziom_gracza[client], nazwy_itemow[item_gracza[client]], wytrzymalosc_itemu_gracza[client]);
	}
	else
	{
		new spect = GetEntProp(client, Prop_Send, "m_iObserverMode");
		if(spect == 4 || spect == 5) 
		{
			new target = GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
			if(target != -1 && IsValidClient(target))
				PrintHintText(client, "<font color='#FFFFFF'>[Klasa: <b>%s</b>]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], poziom_gracza[target], nazwy_itemow[item_gracza[target]], wytrzymalosc_itemu_gracza[target]);
		}
	}

	hud_task[client] = CreateTimer(0.5, PokazInformacje, client, TIMER_FLAG_NO_MAPCHANGE);
}

oraz gdzieś na dole pluginu dodajemy:

public Action:WybierzAutoKlase(client)
{
    new Float:gametime = GetGameTime();
    if(gametime > time_klasa_gracza[client]+1.0)
    {
        if(!klasa_gracza[client])
        {
            if(!auto_klasa_gracza[client])
                auto_klasa_gracza[client] = IsFakeClient(client)? 3: 30;    // czas wyboru klasy przez bota 3 sekundy, przez gracza 30;

            if(wczytane_dane[client] && !freezetime)
            {
                if(auto_klasa_gracza[client] > 1)
                    auto_klasa_gracza[client] --;
                else
                {
                    nowa_klasa_gracza[client] = GetRandomInt(1, ilosc_klas);
                    UstawNowaKlase(client);
                    ZastosujAtrybuty(client);
                    DajBronie(client);

                    PrintToChat(client, "[COD:MW] Twoja klasa zostala wybrana automatycznie.");
                }
            }
        }
        else if(auto_klasa_gracza[client])    
            auto_klasa_gracza[client] = 0;

        time_klasa_gracza[client] = gametime;
    }

    return Plugin_Continue;
}

teraz wystarczy już zapisać i ponownie skompilować silnik by cieszyć się dodatkiem.

 

 

 

Silnik wraz z paczką modyfikacji, można nabyć wyłącznie poprzez kontakt ze mną. Więcej o tym w sygnaturze.


  • +
  • -
  • 1

b35020692_qesnxqa.png






Również z jednym lub większą ilością słów kluczowych: cs:go

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych