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

Jak sprawdzić czy gracz zmienił slot.

cs:go

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

#1 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 13.02.2015 14:36

Witam. Jest jakiś sposób na sprawdzenie czy gracz zmienił slot/broń. na razie zrobiłem sprawdzanie czy gracz zmienił slot (broń będę sprawdzać podobnie) i chciałem zapytać czy jest jakiś bardziej optymalny sposób.

/* Plugin Template generated by Pawn Studio */

#include <sourcemod>
#include <sdkhooks>

#define MAX_SLOTOW 33

#define BRON_KROTKA 1
#define BRON_DLUGA 2
#define NOZ 3
#define GRANATY 4

public Plugin:myinfo =
{
    name = "Zmiana broni gracza",
    author = "Sniper Elite",
    description = "Reaguje na zmiane broni oraz zwraca jej slot",
    version = "1.0",
    url = "http://csfifka.pl/"
}

new const String:bronieKrotkie[][] = {
    "weapon_glock",
    "weapon_p250",
    "weapon_fiveseven",
    "weapon_hkp2000",
    "weapon_deagle",
    "weapon_elite",
    "weapon_tec9", // End of Primary weapons
};

new String: bronieDlugie[][] =  {
    "weapon_ssg08",
    "weapon_mp9",
    "weapon_mp7",
    "weapon_awp",
    "weapon_mag7",
    "weapon_ump45",
    "weapon_sawedoff",
    "weapon_p90",
    "weapon_nova",
    "weapon_famas",  
    "weapon_xm1014",
    "weapon_bizon",
    "weapon_galilar",
    "weapon_m4a1",
    "weapon_ak47",
    "weapon_aug",
    "weapon_sg556",
    "weapon_scar20",
    "weapon_m249",
    "weapon_g3sg1",
    "weapon_negev" // End of Primary weapons
}

new String: noz[] = "weapon_knife";

new String: granaty[][] = {
    "weapon_hegrenade",
    "weapon_incgrenade",
    "weapon_smokegrenade",
    "weapon_molotov"
}
    
new aktualnySlot[MAX_SLOTOW]

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_PreThinkPost, OnPreThinkPost)
}

public OnPreThinkPost(client)
{
    if(IsPlayerAlive(client))
    {
        if(aktualnySlot[client] == -1)
            aktualnySlot[client] = ZwrocSlot(client)
        else
        {
            new slot = ZwrocSlot(client)
            if(slot)
            {
                if(aktualnySlot[client] != slot)
                {
                    aktualnySlot[client] = slot
                    PrintToChatAll("Wlasnie zmieniles slot na nr: %i", aktualnySlot[client]);
                }
            }
        }
    }
}  

public ZwrocSlot(client)
{
    new String: currentWeapon[31]
    GetClientWeapon(client, currentWeapon, sizeof(currentWeapon))
    
    if(StrEqual(currentWeapon, noz))
    {
        return NOZ;
    }
    new i;
    for(i = 0; i < sizeof(bronieKrotkie); i++)
    {
        if(StrEqual(currentWeapon, bronieKrotkie[i]))
        {
            return BRON_KROTKA;
        }
    }
    for(i = 0; i < sizeof(bronieDlugie); i++)
    {
        if(StrEqual(currentWeapon, bronieDlugie[i]))
        {
            return BRON_DLUGA;
        }
    }
    for(i = 0; i < sizeof(granaty); i++)
    {
        if(StrEqual(currentWeapon, granaty[i]))
        {
            return GRANATY;
        }
    }
    return 0
}

W PreThinku się średnio to sprawdza, wiem, ale nie mam lepszego pomysłu.


  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.






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