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

Ilovenoobs

Użytkownik
  • Postów

    92
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Odpowiedzi opublikowane przez Ilovenoobs

  1. Kod jest niestety raczej poprawny, więc przedstawię ci moje ewentualne domysły co poza pluginem, może zawadzać.

    -Coś co uznaje kille innych graczy, za kille twojego vipa.

    -Jakiś plugin manipulujący killami, lub coś w tym guście?

    -Dodatkowe respawny, czy też coś w stylu duchów, nigdy nie wiadomo.

    Nie mam zasadniczo innych pomysłów wypadałoby też dowiedzieć się, co oznacza IsPlayerValid

    Edit!

    #include <sourcemod>
    #include <cstrike>
    
    public OnPluginStart()
    {
    	HookEvent("player_death",  Event_PlayerDeath);
    }
    
    public Action:Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
    {
    	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    		if(!IsValidPlayer(attacker) || attacker == GetClientOfUserId(GetEventInt(event, "userid"))) return;
    			new max = 16000;
    			new account = GetEntProp(attacker, Prop_Send, "m_iAccount");
    			new maccount = (account + 300); 
    		
    		if(account < max) SetEntProp(attacker, Prop_Send, "m_iAccount", maccount);
    			else SetEntProp(attacker, Prop_Send, "m_iAccount", max);
    				PrintHintText(attacker, "[VIP] Otrzymłeś +300$ za killa.");
    }

    Looknij to. Kompilowało mi się bez problemu bez linijki z warunkiem o validplayer, bo nie wiem co ma to symbolizować :D (Wiem, że boll z flagą itd, ale dla każdego może być to co innego i nie ma to wpływu na plugin z reguły).

    +Wiem, że kod jest prostacki i nieogarnięty, ale powinien działać

    • Super! 1
  2. @Linux` Akurat mój nowy serwer arenki 1v1, postawiłem na Fpsmaxie, a oni takiej informacji ci nie udostępniają. Jeżeli mam być szczery to mało co udostępniają. Dostajesz czyste FTP i skromną, niepełną konsole + możliwość włączenia/wyłączenia serwera. Mi to specjalnie nie przeszkadza, bo i tak wszystko robię ręcznie w FTP, więc nie potrzeba mi dodatków jak np. na pukawce, jednak jeżeli wystąpi jakiś błąd, to lepiej kupić nowy serwer, niżeli czekać na pomoc supportu, gdyż na odpowiedź czekasz zazwyczaj 2 tygodnie :P. Mimo wszystko, gdy cena za taki serwer wynosi raptem 2 po 11zł miesięcznie, to jednak nie ma na co narzekać. Co prawda stać mnie było na postawienie na lepszym hostingu i nie jest to problemem, jednak nie jest to po prostu opłacalne na chwilę obecną, żeby nowy serwer, gdzie nie liczę na szał graczy na wejściu stawiać na drogim hostingu.

    Edit:

    Usage: sv_setsteamaccount <login_token>
    Stopping 0 worker threads
    Starting 1 worker threads
    1 threads. 378,380 ticks
    exec: couldn't exec gamemode_casual_server.cfg
    PrecacheScriptSound 'Chicken.FlapWings' failed, no such sound script entry
    Commentary: Could not find commentary data file 'maps/de_dust_commentary.txt'.
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Error parsing BotProfile.db - unknown attribute 'Rank'
    Initializing Steam libraries for secure Internet server
    ************************************************
    * Unable to load Steam support library. *
    * This server will operate in LAN mode only. *
    *************** 

    Po reinstallu serwera dalej lipa ;F.

  3. A więc wracając do domu dostałem info, że jeden z moich serwerów leży i ni jak nie mogę go podnieść z panelu hostingu, według którego serwer jest ON. Jeżeli chodzi o pluginy to jest tam jedynie zestaw domyślnych pluginów sourcemoda +cały pakiet mapchoosera, multi1v1, plugin na stronki www franuga, oraz moje autorskie pluginy, więc można wykluczyć błąd w pluginach. Dodam też, że wczoraj serwer chodził bez problemu, a nic nie zmieniałem. Dorzucam log z konsoli

     

    Executing dedicated server config file
    Usage: sv_setsteamaccount <login_token>
    exec: couldn't exec gamemode_competitive_server.cfg
    PlayerModelInfo: missing terrorist models for map am_aztec2015. Adding the default model tm_phoenix.
    PlayerModelInfo: missing counter-terrorist models for map am_aztec2015. Adding the default model ctm_st6.
    PrecacheScriptSound 'Chicken.FlapWings' failed, no such sound script entry
    Commentary: Could not find commentary data file[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    dlopen failed trying to load:
    steamclient.so
    with error:
    /lib/i686/cmov/libpthread.so.0: version `GLIBC_2.12' not found (required by //home/s3479/bin/steamclient.so)
    [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.

     

    Warto też wspomnieć, że 2 z 5 moich serwerów też są na tym hostingu i działają bez problemu.

  4. Generalnie też bawiłem się ostatnio w tworzenie zabaw do JB i zrobiłem chowanego, ganianego, killday'a. Jednak w menu mam więcej zabaw niż tylko te, więc pewnie go nie udostępnię ;/. Nwm jak to dokładnie wygląda u ciebie, ale ja pokusiłem się o w pełni automatyczny chowany tj.

    Kiedy CT go włączy liczy na HUDZIE 60 sekund, po tym czasie CT jest odmrażane, a TT zamrażane i dostaje poświatę. Dopiero ostatni żywy terrorysta jest odmrażany. Warto dodać, że w tym czasie CT są nieśmiertelni :P.

  5. @Refresh

    Zrobiłem kalkulacje zysków/strat i wychodzi na to, że obecny przypływ to 485 bez utrzymania serwerów, a lekko ponad 300 po odliczeniu kosztów utrzymania serwerów. Dokładając, że niedługo będę robił kolejny serwer to będzie to zapewne 500zł miesięcznie przed odliczeniem kosztów utrzymania, a 300-400 po. Więc jak to wygląda w takim wypadku? Dodam, że pełnoletni będę dopiero w lipcu.

  6. Hej, a więc ciekawi mnie parę kwestii związanych z prawem polskim, bo wiadomo tam gdzie wchodzą pieniądze, tam są ludzie którzy chętnie je nam zabiorą.

    Także chciałbym się dowiedzieć jak to wygląda kiedy nasze serwery CS:GO zarabiają większe sumy. Rozważmy teraz dwie kwestie. Pierwsza:

    Ludzie wysyłają dla nas sms'y na hosting, więc kasa jest własnością hostingu (o ile dobrze rozumiem), dlatego nie musimy odprowadzać od tego podatku.

    Ludzie dają nam kody PSFC, a od PSFC nie ma ja odprowadzić podatku, więc znowu jesteśmy z niego zwolnieni, a przynajmniej tak mi się zdaje ^^

    To teraz trzecia kwestia, kiedy to zakładamy konto na dowolnym pośredniku SMS i dostajemy rzeczywiście na konto bankowe/PayPala wszystkie pieniądze z SMS'ów, co wtedy? Czy musimy odprowadzać od tego podatek? Jeżeli tak to od jakiej kwoty, oraz czy można tego uniknąć bez konsekwencji ;) Chciałbym też wiedzieć czy jeżeli tego podatku nie odprowadzamy co może nam grozić. Także ciekawym dla mnie jest, czy musimy rejestrować nasze serwery jako firmę żeby mieć interes w świetle prawa legalny. TO chyba tyle ile chciałbym wiedzieć ;) Miło byłoby, gdyby ktoś kto korzysta z takiego pośrednika SMS i zarabia na konto bankowe/paypala z prowadzenia serwerów dał znać ja kto wygląda.

  7. Zamień przede wszystkim OnClientConnected(client) na OnClientPostAdminCheck(client) .

    Do czego to zmierza? Mała prosta różnica, ale przy tej pierwszej rozpoznaje gracza przy dołączeniu na serwer, kiedy ma o nim tylko podstawowe informacje: Nick, steamid, kraj pochodzenia, ale serwer nie wie jeszcze jakie ma flagi. Przy tej drugiej komendzie podaje to, kiedy gracz jest już fizycznie na serwerze i ma potwierdzone prawa admina, więc serwer jest w stanie rozpoznać jego flagi. 

  8. Wygląda to naprawdę nieźle, ale na chwilę obecną nie mam czasu się w to zagłębiać, więc na wstępie zaznaczę, że wypowiadam się bez wiedzy o tej bibliotece/Core mode;a/Pluginach jak zwał, tak zwał ;). Po pierwsze projekt wygląda mega ciekawie, więc pierw pytania:

    Czy byłaby opcja przerobienia go na pluginy zombie/basebuilder itp. bez ingerencji w kod do wręcz budowania go od nowa?

    Czy naprawdę konieczna jest niestabilna budowa sourcemoda 1.8, czy można kompilować przy pomocy 1.7.3?

    Czy po skompilowaniu pluginu z pomocą 1.8 można go używać na starszej wersji sourcemoda?

    Jak ma się korzystanie z pluginów oddzielnie? Np. użycie samego systemu expa, statystyk i skilli(To tylko przykład)?

    Czy są opcje w menu odpowiadające za dawanie komuś expa itd? (Proszę cie nie rób tego na komendy, bo mają za dużo backdoorów, wiem jestem je*anym hipokrytą, ale nie rób ;) )

    Czy jest wsparcie dla klas premium? Dawanie ich na flagi?

    Czy jest wsparcie dla systemu misji, bądź system misji(Nie widzę tego w core :P ) ?

     

    Moje pomysły na rozwinięcie pluginu (Tak wiem, niektóre są wręcz masakryczne pod względem czasochłonności- przynajmniej dla mnie, ale to tylko pomysły nikt ci nie każę ich realizować)

    &Dodatkowy plugin odpowiadający za sklep zapisujący normalnie walutę.

    &Przykładowe klasy i itemy, dzięki którym będzie można łatwiej się połapać z czym to się je, nie twierdzę, że bez nich nie da się ogarnąć systemu, ale nie patrzyłem do niego, a naprawdę łatwiej jest o 10 razy zrozumieć system budowania klas patrząc na przykład.

    &Opcja Hudu pokazującego twój aktualny lvl, klase, (opcjonalnie)nazwę serwera.

    &Opcja dawania komuś lvl itp. w menu dostępnym na flage ROOT'a

    &Stworzenie skilla pozwalającego respić zwłoki, na które patrzymy w miejscu ich śmierci coś na wzór skilla medyka, czy respiratora z cs 1.6(Wiem to jest może za dużo, ale osobiście i have no idea how to do that).

     

    To chyba tyle, z chęcią bym się zagłębił i pomógł, ale na razie mam troszkę pełne ręce roboty, ode mnie masz jak najbardziej plusik za prace. 

  9. Plugin rolluje vipy z flagą A i O, pozwala na dawanie i zabieranie takich vipów wyznaczonych osobom, jeżeli macie vipy na inną flagę zmieńcie w odpowiednim miejscu w kodzie na wasze flagi. Tu macie listę flag AdminFlag ? admin ? SourceMod Scripting API Reference możecie też to przerobić na dawanie tymczasowych adminów.

     

    Komendy:

        !losujvipa Przypisane do flagi roota, bez możliwości nadpisania w overrides dla względu bezpieczeństwa, losuje vipa dla wszystkich nie-vipów na serwerze.
        !dajvipa @target/@me/@all/@ct/@t/nazwa_gracza Daje flagi A i O, lub wasze własne wyznaczonej osobie/osobom.
        !zabierzvipa @target/@me/@all/@ct/@t/nazwa_gracza Zabiera celowi flagi A i O, bądź te, które tam przypiszecie.

     

    Cvary: 

    "sm_noobsvipauto" "1"//włącza i wyłącza automatyczne losowanie vipa
    "sm_noobsvipreklamy" "1" //włącza i wyłącza reklamę, która informuje, że jestem autorem pluginu.

     

    Info  + prośba:

    Nie mam zamiaru supportować tego pluginu ponieważ nie robię pluginów za darmo(Kodeks zabrania ~Geralt Witcher3), ale takie osoby jak franug, Hanys robią je i nie raz użerają się z ludźmi, którzy chamsko proszą o update czy przysposobienie, więc ten plugin jest zapłatą od mojej skromnej osoby dla ludzi takich jak oni, co więcej chcę też na forum zostawić coś po sobie poza braniem płatnym zleceń  xD.

     

    Podziękowania:

    Francisco Franug & Hanys za niektóre składnie kodu, motywacje i pomysł.

     

    Czytaj ważne:

    Jeżeli masz zamiar edytować plugin proszę cię, byś nie usuwał info o autorze, ani reklamy. Jeżeli nie chcesz reklam,  po prostu daj CVAR na 0.

     

    Linki wrzucone na zippyshare ze względu na błąd przy wysyłaniu na forum, któryś z moderatorów może dodać do tematu pliki, jeżeli może.

    Pobranie: SP SMX

     

    • Super! 1
  10. Wykonalne i nie za trudne, ale generalnie nie będziesz mógł wtedy gagować takich osób.

    PRZESIEDZIAŁEM NAD TYM JE**NE 30 MINUT, WISISZ MI PIWO.

    Edit: Nieważne nie działa >.<

    #pragma semicolon 1
    
    #include <sourcemod>
    #include <sdktools>
    #include <cstrike>
    #include <clientprefs>
    #include <csgocolors>
    #include <loghelper>
    #include <sdkhooks>
    
    
    public Plugin:myinfo =
    {
    	name = "Color chat",
    	author = "Noobs",
    	description = "Kolorowy chat by noobs",
    	version = "1.0",
    	url = "noobstactics.gameclan.pl"
    };
    
    
    	
    
    new Handle:Colorchatenable;
    
    public OnPluginStart()
    {
    	CreateConVar("sm_color_chat_version", "1.0", "Colorchat ", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);
    	
    	Colorchatenable = CreateConVar("sm_colorchaton", "1", "Wlacza kolorowy chat", FCVAR_NONE, true, 0.0, true, 1.0);
    	AutoExecConfig(true, "sm_colorchat");
    	
    	//new String:CTag[][] = {"{default}", "{darkred}", "{pink}", "{green}", "{lightgreen}", "{lime}", "{red}", "{grey}", "{olive}", "{a}", "{lightblue}", "{blue}", "{d}", "{purple}", "{darkorange}", "{orange}"};
    	//new String:CTagCode[][] = {"\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x0A", "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", "\x10"};
    	RegConsoleCmd("say #dred", dredsay);
    	RegConsoleCmd("say #red", redsay);
    	RegConsoleCmd("say #pink", pinksay);
    	RegConsoleCmd("say #green", greensay);
    	RegConsoleCmd("say #lgreen", lgreensay);
    	RegConsoleCmd("say #lime", limesay);
    	RegConsoleCmd("say #grey", greysay);
    	RegConsoleCmd("say #olive", olivesay);
    	RegConsoleCmd("say #a", asay);
    	RegConsoleCmd("say #lblue", lbluesay);
    	RegConsoleCmd("say #blue", bluesay);
    	RegConsoleCmd("say #d", dsay);
    	RegConsoleCmd("say #purple", purplesay);
    	RegConsoleCmd("say #dorange", dorangesay);
    	RegConsoleCmd("say #orange", orangesay);
    	
    }
    
    
    public Action:dredsay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x02%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x02%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x02%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:redsay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x07%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x07%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x07%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:pinksay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x03%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x03%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x03%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:greensay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x04%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x04%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x04%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:lgreensay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x05%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x05%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x05%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:limesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x06%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x06%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x06%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:greysay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x08%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x08%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x08%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:olivesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x09%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x09%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x09%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:asay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x0A%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x0A%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x0A%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:lbluesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x0B%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x0B%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x0B%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:bluesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x0C%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x0C%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x0C%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:dsay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x0D%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x0D%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x0D%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:purplesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x0E%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x0E%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x0E%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:orangesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x0F%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x0F%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \x0F%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }
    
    public Action:dorangesay(client, args)
    {
    	if (GetConVarBool(Colorchatenable))
    	{
    		decl String:sTextToAll[1024];
    		GetCmdArgString(sTextToAll, sizeof(sTextToAll));
    		StripQuotes(sTextToAll);
    		LogPlayerEvent(client, "say=", sTextToAll);
    		
    		new team = GetClientTeam(client);
    		
    		if(IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01 %N: \x10%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 1)
    		{
    			PrintToChatAll("\x01*NIE ŻYJE* %N: \x10%s", client, sTextToAll);
    		}
    		else if(!IsPlayerAlive(client) && team != 2 && team != 3)
    		{
    			PrintToChatAll("\x01*OBSERWATOR* %N: \10%s", client, sTextToAll);
    		}
    		
    		return Plugin_Handled;
    	}
    	
    	return Plugin_Continue;
    }

     

  11. Ja osobiście jestem całkiem zadowolony z pukawki. Tak wiem, nie jest to odpowiedź na twoje pytanie. Brałbym z tych dwóch LiveServer, ale na pewno pukawka jest jeszcze lepszym wyborem, przynajmniej w mojej opinii. Cenie sobie dużo rzeczy w ich hostingu, od opcji robienia kont dla VH@, do obszernego w opcje panelu, lub auto-instalatora sourcemoda.

  12. Nie może czytać z pliku  franug_jb

    W tym wypadku myślę, że chodzi o plik .inc, include. Innymi słowy nie wrzuciłeś pliku franug_jb.inc do include, więc nie ma z czego czytać potrzebnych instrukcji ;F. To nie jest w sumie oczywiste?

×
×
  • Dodaj nową pozycję...