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

TakaSytuacjaZiom

Użytkownik
  • Postów

    45
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Treść opublikowana przez TakaSytuacjaZiom

  1. Cześć, jakie pluginy warto mieć na serwerze z arenkami? Używać rankme od kento czy tylko ten wbudowany? Dodatkowo, jak powinna wyglądać taka zupełnie podstawowa konfiguracja?
  2. Temat do zamknięcia, skorzystałem ostatecznie z timera oraz Datapack, wszystko działa jak należy, dziękuję za pomoc ?
  3. Przyjrzę się temu, w razie problemów będę pisał. Dzięki wielkie za konkrety ?
  4. Siemka, można jakoś opóźnić wykonanie danej części funkcji, nie dzieląc jej na kolejne? Przykładowo mam funkcję, która wypisuje coś na czacie i po dajmy na to pięciu sekundach ma wykopać gracza, czyli coś w ten deseń: Jakieś podpowiedzi, pomysły?
  5. Nie działa z nowymi wersjami LR Core niestety
  6. Cześć, jest jakaś w pełni działająca alternatywa Levels Ranks działająca ze wsparciem RankMe? Lub jakiś sposób, aby do najnowszej wersji LR dodać wsparcie rankme?
  7. Siemka, korzystam z nowego coda, chcę stworzyć klasę, która będzie miała USP-S oraz M1A1-S, ale pojawia się taki problem, że przy zrespieniu gracza, bronie zostają upuszczone :/ Nie korzystam z żadnych blokad broni ani nic, jakieś pomysły? :/ Bronie są poprawnie zadeklarowane: new const String:bronie[] = "#weapon_m4a1_silencer#weapon_usp_silencer#weapon_flashbang";
  8. Tak, dokładnie. Dobrze mówisz, tylko tutaj z tego co się bawiłem, jeśli ja zabijam przeciwnika, to on wybucha :/ Ale chyba właśnie podsunąłeś rozwiązanie tym ma_klase[client] :D Zaraz się pobawię i dam znać, czy działa jak należy z tym ;D EDIT: Działa, dziękuję :D
  9. Po if(GetVectorDistance(origin, origin_player) <= 200.0); jest niepotrzebny średnik tylko, a tak to git ;) Tylko, żeee... Jeśli ja zabijam kogoś to wtedy on wybucha (nie ma klasy), to jest jedyny bubel :/ Jak powinien wyglądać ten warunek? Nie będzie tutaj potrzebne to? new killer = GetClientOfUserId(GetEventInt(event, "attacker"));
  10. Coś mi się tutaj chyba nie zgadza... Najpierw powinna nastąpić eksplozja ginącego (czyli gracza używającego tej klasy, który został zabity). Następnie pętla powinna sprawdzić wszystkich graczy po kolei czy są w przeciwnym teamie oraz czy są w obszarze dajmy na to 200 jednostek (Warunek if(GetVectorDistance(spawn, origin_player) <= 200)). I na koniec wszyscy gracze w danym obszarze (200 jednostek przykładowo wg. powyższego if'a), otrzymują damage 40+inteligencja (Czyli: cod_inflict_damage(i, client, 40+inteligencja);). Dobrze to rozumiem? public Action:SmiercGracza(Handle:event, String:name[], bool:dontbroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); new Float:iorigin[3]; PerformExplode(client); for(new i = 1; i <= MaxClients; i++) { if(GetClientTeam(client) != GetClientTeam(i)) continue; if(!IsClientInGame(i) || !IsPlayerAlive(i)) continue; decl Float:origin_player[3]; GetEntPropVector(client, Prop_Send, "m_vecOrigin", origin_player); decl Float:spawn[3]; GetEntPropVector(i, Prop_Send, "m_vecOrigin", spawn); GetClientEyePosition(i, iorigin); if(GetVectorDistance(spawn, origin_player) <= 200) cod_inflict_damage(i, client, 40+inteligencja); } return Plugin_Continue; } Tak to powinno być? Czy źle to robię?
  11. Chyba jest ok, ale coś źle ustawiam chyba. To ma być do klasy COD mod, ma to wyglądać tak, że gracz grający tą klasą po śmierci wybucha i zadaje obrażenia pobliskim przeciwnikom, coś w stylu jakby dropnął odbezpieczony granat. Masz może pomysł jak to ustawić? W poniższym kodzie zostawiam pozostałości po poprzedniej próbie, może coś się przyda ;D #include <sourcemod> #include <sdkhooks> #include <sdktools> #include <csgocolors> #include <codmod> new const String:nazwa[] = "test"; new const String:opis[] = "Wybucha po śmierci, 40 dmg + int"; new const String:bronie[] = "#weapon_elite"; new const inteligencja = 0; new const zdrowie = 0; new const obrazenia = 0; new const wytrzymalosc = 0; new const kondycja = 15; new bool:ma_klase[65]; new g_ExplosionSprite; public Plugin:myinfo = { name = nazwa, version = "1.0", }; public OnPluginStart() { CreateTimer(0.5, RegisterStart, 0); HookEvent("player_death", SmiercGracza); } public Action:RegisterStart(Handle:timer) { cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja); } public OnMapStart() { //sprite_explosion = PrecacheModel("materials/sprites/blueflare1.vmt"); PrecacheSound("weapons/hegrenade/explode5.wav"); g_ExplosionSprite = PrecacheModel("materials/sprites/sprite_fire01.vmt"); } public cod_class_enabled(client) { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1) { ma_klase[client] = true; return COD_CONTINUE; } PrintToChat(client, " \x06Klasa dostępna tylko dla VIPów!"); return COD_STOP; } public cod_class_disabled(client) { ma_klase[client] = false; } public Action:SmiercGracza(Handle:event, String:name[], bool:dontbroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); /*new killer = GetClientOfUserId(GetEventInt(event, "attacker")); if(!IsValidClient(killer) || GetClientTeam(client) == GetClientTeam(killer)) return Plugin_Continue; new Float:forigin[3], Float:iorigin[3]; GetClientEyePosition(client, forigin); for(new i = 1; i <= MaxClients; i++) { if(!IsClientInGame(i) || !IsPlayerAlive(i)) continue; if(GetClientTeam(client) == GetClientTeam(i)) continue; GetClientEyePosition(i, iorigin); if(GetVectorDistance(forigin, iorigin) <= 100.0) cod_inflict_damage(i, client, GetClientHealth(i)+1); }*/ PerformExplode(client); /*EmitSoundToAll("weapons/hegrenade/explode5.wav", client, SNDCHAN_AUTO, SNDLEVEL_GUNFIRE); TE_SetupExplosion(forigin, sprite_explosion, 10.0, 1, 0, 100, 100); TE_SendToAll();*/ return Plugin_Continue; } public PerformExplode(target) { decl Float:location[3]; GetEntPropVector(target, Prop_Send, "m_vecOrigin", location); location[2] += 20.0; TE_SetupExplosion(location, g_ExplosionSprite, 10.0, 1, 0, 70, 5000); TE_SendToAll(); }
  12. Siemanko, mógłby ktoś napisać dla mnie skrypt, który po śmierci gracza utworzy eksplozję? Chcę, aby był damage oraz radius jak przy granacie zaczepnym :)
  13. Language phrase "Killing" not found Widocznie nie wrzuciłeś plików do folderu translations
  14. Nie działa przyznawanie dodatkowych pieniędzy. Na start gracz dostaje 1000$, VIP powinien dostać dodatkowe 500$, ale ich nie dostaje :/ Co do errorlogów, nie ma nic :/
  15. https://forums.alliedmods.net/showthread.php?t=303671 wypróbuj tego :)
  16. Hmm wygląda na to że runda odpala się tak jak powinna i triggeruje playerspawn poprawnie :/
  17. To jest część kodu, którą próbowałem wychwycić co jest nie tak ;) Jest to fragment VIPa z generatora: #include <sourcemod> #include <cstrike> #include <sdktools> #pragma semicolon 1 #pragma newdecls required public Plugin myinfo = { name = "[CS:GO] VIP", author = "xBonio & Avgariat & Vasto_Lorde", description = "VIP Generator by cs-plugin.com", version = "1.0", url = "http://cs-plugin.com" }; public void OnPluginStart() { HookEvent("player_spawn", PlayerSpawn); HookEvent("player_death", PlayerDeath); } public Action PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(GetEventInt(event, "userid")); if(!IsPlayerVIP(client)) return; SetEntProp(client, Prop_Send, "m_ArmorValue", ); SetEntProp(client, Prop_Send, "m_bHasHelmet", 1); SetEntityHealth(client, 150); int money = GetEntProp(client, Prop_Send, "m_iAccount"); SetEntProp(client, Prop_Send, "m_iAccount", money+500); if(GetClientTeam(client) == CS_TEAM_CT) if(GetEntProp(client, Prop_Send, "m_bHasDefuser") == 0) GivePlayerItem(client, "item_defuser"); } public Action PlayerDeath(Handle event, const char[] name, bool dontBroadcast) { int attacker = GetClientOfUserId(GetEventInt(event, "attacker")); if(!IsValidPlayer(attacker) || !IsPlayerVIP(attacker)) return; int health = GetClientHealth(attacker); SetEntityHealth(attacker, health+10); int money = GetEntProp(attacker, Prop_Send, "m_iAccount"); SetEntProp(attacker, Prop_Send, "m_iAccount", money+100); bool headshot = GetEventBool(event, "headshot", false); if(headshot) { money = GetEntProp(attacker, Prop_Send, "m_iAccount"); SetEntProp(attacker, Prop_Send, "m_iAccount", money+100); } if(GetClientHealth(attacker) > 200) SetEntityHealth(attacker, 200); } stock bool IsValidPlayer(int client) { if(client >= 1 && client <= MaxClients && IsClientInGame(client) && !IsFakeClient(client) && !IsClientSourceTV(client)) return true; return false; } stock bool IsPlayerVIP(int client) { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1 && !(GetUserFlagBits(client) & ADMFLAG_ROOT)) return true; return false; }
  18. Plugin ma dawać hp i dodatkową kasę. Działa bez problemu, jedynie w pierwszej rundzie drugiej połowy nie dodaje środków na konto gracza, natomiast przydziela bez problemu HP, co wydaje mi się nieco dziwne... #include <sourcemod> #include <cstrike> #include <sdktools> #pragma semicolon 1 public void OnPluginStart() { HookEvent("player_spawn", PlayerSpawn); } public Action PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(GetEventInt(event, "userid")); SetEntityHealth(client, 150); int money = GetEntProp(client, Prop_Send, "m_iAccount"); SetEntProp(client, Prop_Send, "m_iAccount", money+500); }
  19. Siema, mam prawdopodobnie problem z ustawieniem rund u siebie. Mianowicie problem objawia się tym, że pierwsza runda po zmianie drużyn tak jakby nie jest triggerowana jako nowa runda. Dochodzę do takiego wniosku po tym, że mam plugin, który na początku każdej rundy coś robi, dajmy na to przyznaje pieniądze graczowi. I tylko w pierwszej rundzie drugiej połowy to się nie dzieje. Plugin testowy zrobił dla mnie profesjonalista, więc raczej nie może to być wina pluginu. Macie jakieś pomysłu o co może chodzić lub gdzie szukać problemu? :/
  20. Siemanko, jest jakiś sposób, żeby wrzucać ilość graczy na serwerze do bazy danych mysql? Powiedzmy, że co minutę lub co 5 minut miałby się odświeżać status serwera i nowe dane miały by być dodane do bazy (nie zastąpione, dodane w nowym rekordzie). Ktoś coś? :D
  21. Przecież tutaj masz odpowiedź ;) Musisz przyznać użytkownikowi dostęp do bazy. Osobiście korzystam z hostingu mydevil.net, mają dobrze opisane u siebie: https://wiki.mydevil.net/MySQL#.C5.81.C4.85czenie_si.C4.99_do_bazy_spoza_MyDevil_2
  22. Może nie jest zakazane, ale to jest po prostu żałosne ;) Akurat ilość postów mi zwisa na tym forum xD
×
×
  • Dodaj nową pozycję...