Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Linux`

Użytkownik
  • Postów

    210
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    22

Odpowiedzi opublikowane przez Linux`

  1. O ile dobrze pamietam musisz w public canuse odblokowac mozliwosc posiadania alternatywnej broni przypisanej pod usp w silniku csgo.

     

    hkp2000 > usp

    m4a1 > m4a1s

    p228 > cz75a

     

    i tak dalej. Ta gra zawiera bardzo duzo bledow, cod byl pisany tez dosc dawno i nie byl juz rozwijany od tamtego momentu dlatego zawiera duzo niedogodnosci. Moge jedynie polecic ci przejscie na nowego cod moda.

  2. >
    
    #include <sourcemod>
    #include <sdktools>
    #include <codmod>
    
    new const String:nazwa[] = "Buty Szturmowego";
    new const String:opis[] = "Nie slychac twoich krokow";
    
    new bool:ma_item[65];
    public Plugin:myinfo =
    {
        name = nazwa,
        author = "Linux`",
        description = "Cod Item",
        version = "1.0",
        url = "http://steamcommunity.com/id/linux2006"
    };
    public OnPluginStart()
    {
        cod_register_item(nazwa, opis, 0, 0);
        AddNormalSoundHook(DzwiekiGracza);
    }
    public OnClientPutInServer(client)
    {
        if(!IsFakeClient(client))
            SendConVarValue(client, FindConVar("sv_footsteps"), "0");
    }
    public cod_item_enabled(client)
    {
        ma_item[client] = true;
    }
    public cod_item_disabled(client)
    {
        ma_item[client] = false;
    }
    public Action:DzwiekiGracza(clients[64], &numclients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
    {
        if(!IsValidClient(entity) || IsFakeClient(entity))
            return Plugin_Continue;
    
        if((StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1) && StrContains(sample, "suit") == -1)
        {
            if(!ma_item[entity])
                EmitSoundToAll(sample, entity);
    
            return Plugin_Handled;
        }
    
        return Plugin_Continue;
    }
    
    

     

    Na zyczenie dodaje poprawiona wersje do tematu.

  3. #include <sourcemod>
    #include <sdkhooks>
    #include <sdktools>
    #include <codmod>
    
    new String:nazwy_broni[][] =
    {
    	"weapon_none", // 0
    	"weapon_negev", // 1
    	"weapon_m249", // 2
    	"weapon_awp", // 3
    	"weapon_scar20", // 4
    	"weapon_g3sg1", // 5
    	"weapon_aug", // 6
    	"weapon_sg556", // 7
    	"weapon_m4a1_silencer", // 8
    	"weapon_m4a1", // 9
    	"weapon_ak47", // 10
    	"weapon_ssg08", // 11
    	"weapon_famas", // 12
    	"weapon_galilar", // 13
    	"weapon_bizon", // 14
    	"weapon_p90", // 15
    	"weapon_ump45", // 16
    	"weapon_mp9", // 17
    	"weapon_mp7", // 18
    	"weapon_mac10", // 19
    	"weapon_sawedoff", // 20
    	"weapon_mag7", // 21
    	"weapon_xm1014", // 22
    	"weapon_nova", // 23
    	"weapon_fiveseven", // 24
    	"weapon_elite", // 25
    	"weapon_revolver", // 26
    	"weapon_deagle", // 27
    	"weapon_cz75a", // 28
    	"weapon_tec9", // 29
    	"weapon_p250", // 30
    	"weapon_hkp2000", // 31
    	"weapon_usp_silencer", // 32
    	"weapon_glock", // 33
    	"weapon_knife", // 34
    	"weapon_taser", // 35
    	"weapon_decoy", // 36
    	"weapon_hegrenade", // 37
    	"weapon_incgrenade", // 38
    	"weapon_molotov", // 39
    	"weapon_flashbang", // 40
    	"weapon_smokegrenade", // 41
    	"weapon_c4" // 42
    };
    new naboje_broni[][] =
    {
    	{0, 0}, // 0
    	{150, 200}, // 1
    	{100, 200}, // 2
    	{10, 30}, // 3
    	{20, 90}, // 4
    	{20, 90}, // 5
    	{30, 90}, // 6
    	{30, 90}, // 7
    	{20, 40}, // 8
    	{30, 90}, // 9
    	{30, 90}, // 10
    	{10, 90}, // 11
    	{25, 90}, // 12
    	{35, 90}, // 13
    	{64, 120}, // 14
    	{50, 100}, // 15
    	{25, 100}, // 16
    	{30, 120}, // 17
    	{30, 120}, // 18
    	{30, 100}, // 19
    	{7, 32}, // 20
    	{5, 32}, // 21
    	{7, 32}, // 22
    	{8, 32}, // 23
    	{20, 100}, // 24
    	{30, 120}, // 25
    	{8, 8}, // 26
    	{7, 35}, // 27
    	{12, 12}, // 28
    	{32, 120}, // 29
    	{13, 26}, // 30
    	{13, 52}, // 31
    	{12, 24}, // 32
    	{20, 120}, // 33
    	{0, 0}, // 34
    	{-1, 1}, // 35
    	{-1, 1}, // 36
    	{-1, 1}, // 37
    	{-1, 1}, // 38
    	{-1, 1}, // 39
    	{-1, 2}, // 40
    	{-1, 1}, // 41
    	{-1, 1} // 42
    };
    
    new const String:frakcja[] = "Normalne";
    new const String:nazwa[] = "Zwinne Palce";
    new const String:opis[] = "Posiadasz natychmiastowe przeladowanie broni";
    
    new bool:ma_item[65];
    public Plugin:myinfo =
    {
    	name = nazwa,
    	author = "Linux`",
    	description = "Cod Item",
    	version = "1.0",
    	url = "http://steamcommunity.com/id/linux2006"
    };
    public OnPluginStart()
    {
    	cod_register_item(frakcja, nazwa, opis, 0, 0);
    }
    public cod_item_enabled(client)
    {
    	ma_item[client] = true;
    }
    public cod_item_disabled(client)
    {
    	ma_item[client] = false;
    }
    public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapons)
    {
    	if(!IsValidClient(client) || !ma_item[client])
    		return Plugin_Continue;
    
    	if(!IsPlayerAlive(client))
    		return Plugin_Continue;
    
    	new active_weapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
    	if(active_weapon != -1)
    	{
    		new naboje = GetEntData(active_weapon, FindSendPropInfo("CWeaponCSBase", "m_iClip1"));
    		if((!naboje || buttons & IN_RELOAD) && !(buttons & IN_ATTACK))
    		{
    			new String:weapon[32];
    			GetClientWeapon(client, weapon, sizeof(weapon));
    			new weaponid = GetUserWeaponId(weapon);
    			if(weaponid && naboje < naboje_broni[weaponid][0] && naboje_broni[weaponid][1])
    			{
    				new amunicja = GetEntProp(active_weapon, Prop_Send, "m_iPrimaryReserveAmmoCount");
    				if(amunicja)
    				{
    					SetEntData(active_weapon, FindSendPropInfo("CWeaponCSBase", "m_iClip1"), (naboje+amunicja < naboje_broni[weaponid][0])? naboje+amunicja: naboje_broni[weaponid][0]);
    					SetEntProp(active_weapon, Prop_Send, "m_iPrimaryReserveAmmoCount", (amunicja-(naboje_broni[weaponid][0]-naboje) < 1)? 0: amunicja-(naboje_broni[weaponid][0]-naboje));
    				}
    			}
    		}
    	}
    
    	return Plugin_Continue;
    }
    public GetUserWeaponId(String:weapon[])
    {
    	for(new i = 1; i < sizeof(nazwy_broni); i ++)
    	{
    		if(StrEqual(weapon, nazwy_broni[i]))
    			return i;
    	}
    
    	return -1;
    }

     

    • Super! 1
  4. Czego nie rozumiesz? Wyciagasz funkcje z pluginu i wrzucasz do np perku, odpowiednio argumentujac.

     

    Kod na rozbrajanie

    public OnPluginStart()
    {
    	HookEvent("bomb_begindefuse", BombBeginDefuse);
    	HookEvent("bomb_abortdefuse", BombAbortDefuse);
    }
    public Action:BombBeginDefuse(Handle:event, const String:name[], bool:dontBroadcast)
    {
    	new client = GetClientOfUserId(GetEventInt(event, "userid"));
    	if(!IsValidClient(client))
    		return Plugin_Continue;
    
    	CreateTimer(0.1, C4Timer, client);
    	return Plugin_Continue;
    }
    public Action:BombAbortDefuse(Handle:event, const String:name[], bool:dontBroadcast)
    {
    	new client = GetClientOfUserId(GetEventInt(event, "userid"));
    	if(!IsValidClient(client))
    		return Plugin_Continue;
    
    	SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 0);
    	return Plugin_Continue;
    }
    public Action:C4Timer(Handle:timer, any:client)
    {
    	if(!IsValidClient(client))
    		return Plugin_Continue;
    
    	new ent = FindEntityByClassname(-1, "planted_c4");
    	if(ent != -1)
    	{
    		SetEntPropFloat(ent, Prop_Send, "m_flDefuseCountDown", GetGameTime()+1.0);
    		SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 1);
    	}
    
    	return Plugin_Continue;
    }

     

  5. Dlaczego chcesz czyscic bronie co 5 sekund? Jezeli planujesz zabierac je jednorazowo to lepiej wywolywac to przy spawnie, nowej rundzie itp. Natomiast jezeli chcesz po prostu zablokowac calkowicie posiadanie tych broni, lepiej bedzie wowczas wychwycic moment stworzenia bytu.

     

    #include <sourcemod>
    #include <sdkhooks>
    #include <sdktools>
    
    public OnPluginStart()
    {
    
    }
    public OnEntityCreated(entity, const String:classname[])
    {
    	if(entity > MaxClients && IsValidEntity(entity))
    	{
    		if(StrContains(classname, "weapon_knife", false) == -1 && !StrEqual(classname, "weapon_hegrenade") && StrContains(classname, "weapon_", false) != -1)
    			SDKHook(entity, SDKHook_Spawn, OnEntitySpawned);
    	}
    }
    public Action:OnEntitySpawned(entity)
    {
    	AcceptEntityInput(entity, "kill");
    }

     

  6. 26 minut temu, Blokers napisał:

    #include <sourcemod>
    #include <clientprefs>

    Handle g_hClientCookie;

    public void OnPluginStart() {
        RegConsoleCmd("sm_viptest", cmd_viptest);
        
        g_hClientCookie = RegClientCookie("csgo_viptest", "Vip Test", CookieAccess_Private);
    }

    public Action cmd_viptest(int iClient, int iArgs) {
        char sBuffer[64];
        GetClientCookie(iClient, g_hClientCookie, sBuffer, sizeof(sBuffer));
        
        int iTimeClient = StringToInt(sBuffer);
        
        if (iTimeClient == -1) {
            PrintToChat(iClient, "[VIP] Vipa mozna aktywowac tylko raz!");
        } else {
            if (iTimeClient < GetTime()) {
                int iVipTime = 172800; // 2 days
                Format(sBuffer, sizeof(sBuffer), "%i", (GetTime() + iVipTime));
                
                SetClientCookie(iClient, g_hClientCookie, sBuffer);
                
                AddUserFlags(iClient, Admin_Reservation);
                
                PrintToChat(iClient, "[VIP] Vip zostal aktywowany na 2 dni!");
            } else {
                PrintToChat(iClient, "[VIP] Juz aktywowales swojego vipa!");
            }
        }
    }

    public void OnClientCookiesCached(int iClient) {
        char sBuffer[64];
        GetClientCookie(iClient, g_hClientCookie, sBuffer, sizeof(sBuffer));
        
        int iTimeClient = StringToInt(sBuffer);
        
        if (iTimeClient > 0) {
            if (iTimeClient < GetTime()) {
                SetClientCookie(iClient, g_hClientCookie, "-1");
            } else {
                AddUserFlags(iClient, Admin_Reservation);
            }
        }
    }

     

     

     

    VIP NA DWA DNI I FLAGE A

     

    A to nie tak, ze teraz wystarczy tylko zmieniac czas u siebie na komputerze by miec uprawnienia na zawsze? :P.

    Jesli juz to zapis tylko mysql.

     

    @

    Widze to tak, tworzysz zapis i dodajesz rekord do bazy z data przy pierwszym logowaniu gracza na serwer. Potem porownujesz czy od tej daty minely 2 dni, jesli nie, to ustawiasz uprawnienia przy podlaczeniu.

    • Super! 1
  7. Ktos ma za ciebie wszystko wykonac a ty chcialbys tylko odcinac kupony? Rownie dobrze mozna samemu sobie zainwestowac w hostingi i domene, potem z nikim nie trzeba sie dzielic i byc na czyjejs lasce. Predzej taka osoba znalazla by sponsora ktory zakupi potrzebne uslugi i otrzyma te maksymalnie 50% zyskow bez jakich kolwiek praw administratora. Twoja oferta jest kompletnie nie logiczna.

    • Super! 1
  8. + bardzo dobra jakosc

    + bardzo dobra cena

    + dobrze sprawny support

     

    - slaba reklama, mala ilosc klientow co przeklada sie na ryzyko ogloszenia upadlosci

    - brak testowych serwerow

    - brak publikacji dem, chyba ze na wlasna reke np przez skrypt zamieszczony na innym serwerze www

    - bardzo amatorski panel hostingu

  9. 4 godziny temu, g napisał:

    w css jeszcze ktoś gra? XD

     

    Wszyscy twoim zdaniem powinni przejsc na ten smiec csgo?

     

    Minimalne ustawienie cvarow typu sv_minrate, sv_minupdaterate spowoduje ze klient nie bedzie mogl odbierac mniejszych wartosci zatem takim plugin jest kompletnie zbedny.

    • Super! 1
  10. -nobots w komendzie startowej nic nie wniesie, poniewaz takie boty sa czytane przez serwer jako gracze. Mozna by je wykrywac po sid ale jest z tym troche roboty. Poczytaj o pluginie ani cheat SMAC, powinien rozwiazac twoj problem.

    • Super! 1
  11. Stawialbym na ktorys z tych pluginow

     

     15 "SM CS:GO Franug Knives" (3.0.5 private version) by Franc1sco franug
     23 "CS:GO GiveNamedItem Hook Franug Edition" (3.0.5 private version) by Franc1sco franug and Neuro Toxin
     34 "SM CS:GO Weapon Paints" (6.1 private version) by Franc1sco franug

  12. 4 godziny temu, Mesharsky | H2K napisał:

    Jak wypuścisz takiego moda to będzie sztosik, 24/7 będę grał :D 

     

    To pewnie bedzie zwykly mod typu cod/diablo z modelami i nazwami bohaterow :).

    Zas co do tematu, kazdy model odzwierciedla tak naprawde w jakims znaczeniu bohatera, herosa czy inna postac o tej tematyce.

  13. Przy ustawianiu predkosci gracza na 0 tak to wlasnie wyglada, nie ma to zadnego znaczenia czy wywolujesz to przez natyw czy bezposrednio funkcje. Tak wiec tutaj sie nic na to nie zaradzi, tak to w grze po prostu wyglada. Ustaw moze mniejsza ilosc ujemnych punktow, wowczas uzyskasz efekt spowolnienia - moze bardziej przypadnie ci do gustu.

  14.  #include <sourcemod>
    #include <sdkhooks>
    #include <sdktools>
    #include <codmod>
    
    new const String:nazwa[] = "Miotacz lodu";
    new const String:opis[] = "Posiadasz 1/LW szans na zamrożenie przeciwnika";
    
    new bool:ma_item[65],
        wartosc_itemu[65];
    
    new Handle:mrozenie_task[65];
    public Plugin:myinfo =
    {
        name = nazwa,
        author = "Linux`",
        description = "Cod Item",
        version = "1.0",
        url = "http://steamcommunity.com/id/linux2006"
    };
    public OnPluginStart()
    {
        cod_register_item(nazwa, opis, 1, 1);
    }
    public OnClientPutInServer(client)
    {
        SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
    }
    public OnClientDisconnect(client)
    {
    	SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
    	if(mrozenie_task[client] != INVALID_HANDLE)
    	{
    		KillTimer(mrozenie_task[client]);
    		mrozenie_task[client] = INVALID_HANDLE;
    	}
    }
    public cod_item_enabled(client, wartosc)
    {
        ma_item[client] = true;
        wartosc_itemu[client] = wartosc;
    }
    public cod_item_disabled(client)
    {
        ma_item[client] = false;
    }
    public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype)
    {
        if(!IsValidClient(attacker) || !ma_item[attacker])
            return Plugin_Continue;
    
        if(!IsValidClient(client) || !IsPlayerAlive(client))
            return Plugin_Continue;
    
        if(GetClientTeam(client) == GetClientTeam(attacker))
            return Plugin_Continue;
    
        if(GetRandomInt(1, wartosc_itemu[attacker]) == 1)
            FreezePlayer(client)
    
        return Plugin_Continue;
    }
    public Action:FreezePlayer(client)
    {
    	if(mrozenie_task[client] != INVALID_HANDLE)
    		return Plugin_Continue;
    
    	cod_set_user_bonus_trim(client, cod_get_user_trim(client, 0, 1, 0)-10000);
    	mrozenie_task[client] = CreateTimer(3.0, UnFreezePlayer, client, TIMER_FLAG_NO_MAPCHANGE);
    	PrintToChat(client, "[COD:MW] Zostaniesz odmrozony za 3 sekundy.");
    
    	SetEntityRenderColor(client, 255, 0, 170, 174);
    	return Plugin_Continue;
    }
    public Action:UnFreezePlayer(Handle:timer, any:client)
    {
    	if(!IsValidClient(client))
    		return Plugin_Continue;
    
    	cod_set_user_bonus_trim(client, cod_get_user_trim(client, 0, 1, 0)+10000);
    	mrozenie_task[client] = INVALID_HANDLE;
    
    	SetEntityRenderColor(client, 255, 255, 255, 255);
    	return Plugin_Continue;
    }

     

    • Super! 1
×
×
  • Dodaj nową pozycję...