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

xWangan

Użytkownik
  • Postów

    358
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    27

Treść opublikowana przez xWangan

  1. Co mają skiny na serwerach do ingerencji w pliki gry? Z tego co kojarzę można zostać zbanowanym za tego typu ingerencje, ale kto wie :P
  2. W jaki sposób uruchamiasz pluginy AmxModX na serwerach do gier opartych o silnik source? Prosiłbym o podzielenie się tą wiedzą ( ?° ???? ?° )
  3. xWangan

    Zbanowanie konta

    Szczerze nie mam pojęcia w jakim dziale to dodać, także pisze tutaj. Prosiłbym o zbanowaniemojego konta z tego oto forum (ewentualnie zastosować jakiś odpowiednik). Nie chciałbym być kojarzony z tą stroną, a raczej tutejszą administracją i odbywającymi się tutaj przekrętami. Dla osób które rzeczywiście dają wiarę iż nowy właściciel forum to nie bicek(co jest możliwe, nie mówię że nie) to tutaj idealny przykład działania @macsch: Naprawdę nie wiem jakim trzeba być idiotom, aby krótko po rzekomym "przejęciu" forum próbować oszukać ludzi na pieniądze, i to jeszcze w taki tandetny sposób. Chyba nikt nie jest na tyle głupi aby uwierzyć, iż serwer inet koxów należy do Ciebie. Gdy ludzie się zainteresowali i poprosili o jakiś dowód posiadania to nagle został sprzedany? Pięknie... Szkoda tylko, że to kompletna bzdura... Po kontakcie z ekipą inet'u poprosiłem o oficjalną informacje na streamie aby nikt nie powiedział że to bzdury. https://oddshot.tv/shot/inetkoxTV/UzoOviw4OvhMCqscTWmzXPU2 Polityka dokładnie jak u bicka, zgaduję iż w przeciągu godziny ten temat zniknie ale co zrobisz. Pozdrawiam.
  4. Po za server.cfg jest kilka innych plików z których są wczytywane ustawienia. Dla przykładu gamemode_twojtryb.txt lub podany przez @SeeQ plik (chociaż raczej standardowo go nie masz, musiałbyś sam go utworzyć). Jeśli nie chcesz się bawić możesz dorzucić do pliku sourcemod.cfg, także powinno być okej. A co do prefixu serwera - to nie kwestia ustawienia przez nas. Jak sam widzisz serwer o którym mowa miał aktywną mapę z przedrostkiem dr_. Wszystkie mapy z tym przedrostkiem dodają prefix do Twojego serwera. Niestety, aczkolwiek mapy z prefixem deathrun_ już nie dają takiego efektu.
  5. Rzetelna opinia osoby która nawet nie testowała usługi, aczkolwiek co ja tam wiem. A po co ta agresja? Jest opcja zgłaszania postów i moderacja się tym zajmie, aczkolwiek lepiej przecież napisać kolejny nic nie wnoszący post... Wracając do tematu. Usługi nie testowałem więc się nie wypowiem, aczkolwiek Wasz regulamin wygląda okropnie. Znajdujemy w nim informacje o firmie "North-Gost Dawid Okoń" (Cokolwiek to jest, nie widziałem nigdzie wcześniej o tym informacji), mamy podwójny §8 punkt a sam regulamin jest tak sformatowany że odechciewa się nawet patrzeć na tą stronę. Poprawcie to. Tak swoją drogą regulamin dziwnie podobny do tego z tej strony: https://www.shoper.pl/regulamin/regulamin-hosting/ "KIM JEST NORTH-GAME?" Wydaje mi się iż nie kim a czym, ale kto wie :P
  6. Żałosna to jest twoja ignorancja. Udostępniona przez darka wersja ma masę błędów które aby korzystać ze sklepu trzeba naprawić. Dodatkowo jest to wersja 3.1.4, kiedy obecnie mamy już wersję 3.3.3. Bawienie się z tamtym kodem jest nieopłacalne i nawet dark to stwierdził...
  7. Z tego co kojarzę nawet jeśli dodajesz przez admin_simple to mając na serwerze sourcebans admin potrzebuje domyślnej flagi odbanowywania aby banować permamentnie. Jeśli nie chcesz aby mógł odbanowywać to po prostu w ustawieniach sourcebans'a zmieniasz opcję zdejmowania banow poprzez serwer.
  8. https://www.gameme.com/ordering
  9. Że tak powiem "Treści napisane bez wysiłku, czyta się bez przyjemności"
  10. Odezwałem się przez Wasz panel. Nie jestem jakimś specem a moja wiedza na temat serwerowni / sieci komputerowych jest niska więc mogę się mylić, ale sprawdzając http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr= widzę, że serwery neogear'u które sprawdzałem stoją na maszynach gdzie są po 3-4 serwery na tej adresacji, kiedy na adresacji mojego serwera stoi także ~~ 18 innych, więc wydaje mi się że trudno porównywać takie serwery. Dziękuję, chętnie przetestuję.
  11. Nikt nie mówi, że serwery w pakiecie Standard powinny mieć var 0, aczkolwiek wciskanie kitu że jesteście na tym samym poziomie co inne hostingi w czołówce w naszym kraju to pic na wodę i tyle. Może i jesteście, aczkolwiek chyba tylko i wyłącznie z serwerami PRO. W momencie gdy płacę za 32 slotowy serwer publiczny w pakiecie Standard i serwer potrafi przy 10-15 graczach momentalnie osiągnąć nawet 35(!) var, to chyba coś jest nie tak. I o ile jestem w stanie się zgodzić że mam dość wymagający mod serwera a mapa na której to się dzieje nie jest najlepiej zoptymalizowana (nie oszukując jest katastrofalna), to dalej ten serwer nie powinien mieć takich skoków. Już nawet to przemilczę bo jak wspominałem mapa jest jaka jest, aczkolwiek gdy w godzinach szczytu na serwerze na którym jest z 15-20 osób potrafi var podskakiwać do 10 to już jest to pic na wodę że macie jakość jak inne hostingi. I żeby nie było - czekałem z tą opinią dość trochę czasu bo chciałem porównać jak to będzie wyglądać na innych hostingach. Kilka dni temu testowaliśmy na hostingu 1s1k dokładnie tą samą paczkę z identyczną konfiguracją, przy 20 osobach. Var raz na jakiś czas podskoczył, ale daleko było do tego co się dzieje na serwerze u Państwa. Może to kwestia tego że mój serwer stoi jeszcze w Atmanie, aczkolwiek nie chcę marnować pieniędzy na testowanie jak to wygląda na nowych serwerach które są w tym momencie hostowane w etopie.
  12. Ja bym obstawiał na Pukawkę, patrząc po tych logach Twój serwer ma problemy z łączeniem z bazami danych. U mnie na serwerze często spotykany problem gdy Pukawka ma DDOS'y lub inne problemy, także możliwe że i w tym przypadku tak to jest :p
  13. Rezerwacja slota standardowo jest na flagę "a", natomiast aby to zadziałało trzeba także na swoim serwerze uruchomić funkcję rezerwacji slota. Do zrobienia w cfg/sourcemod/sourcemod.cfg
  14. Na prosty język pliki inc zapewniają kompatybilność z inną "rzeczą" / z innym pluginem. Sam fakt że tak łatwo możesz pisać pluginy jest taki a nie inny dzięki .inc z silnika na którym operujesz. Innymi słowy dzięki plikom .inc możesz łączyć kilka rzeczy, pobierać informacje z innego pluginu np. jeśli masz plugin na Zone który ma stworzone odpowiednie natywy, to możesz wykorzystać je w innym pluginie dzięki plikowi .inc i sprawić, że gdy ktoś przejdzie przez te Zone coś się wydarzy...
  15. Jak dla mnie wystarcza notepad++ z zainstalowanymi dodatkami które podpowiadają składnie kodu lub ułatwiają jego formatowanie, kwestia przyzwyczajenia danej osoby i środowiska jakie preferuje. Poradniki na yt jak poszukasz według fraz sourcepawn scripting znajdziesz po angielsku, po polsku nie wiem czy są jakieś warte uwagi, ja raczej wolałem robić na podstawie analizy kodów innych pluginów ; p
  16. No to może zobacz czy to jest ten plugin który podałem a nie wklejasz niepotrzebnie screeny... Komendy się zgadzają i opis podobnie, a te komiczne info na czacie może być dodane w jakimkolwiek pluginie na reklamy więc nie ma co szukac według tego...
  17. O to Ci chodzi? https://forums.alliedmods.net/showthread.php?p=1949715
  18. Proste - żadna z tych opcji. Plugin zakazany także jak dla mnie do wywalenia na dzień dobry. Jeśli chodzi o sam problem - w moim przypadku dochodziło do tego błędu podczas przeciążenia serwera, głównie z powodu niektórych map (np. wspomniany akai, gdzie wszystkie nasyfione dodatki na mapie razem z pluginami powodowały zbyt duże obciążenie). Można próbować wywalić dane mapy i zobaczyć czy to pomoże, czasami także problemem może być dany plugin, np. modele postaci. Aby dokładniej rozwiązać problem musisz po prostu testować, innej rady nie mogę dać ; p
  19. Spróbuj tego: #include <sourcemod> #include <sdktools> #include <sdkhooks> #include <cstrike> #define PARACHUTE_VERSION "2.5" //Parachute Model #define PARACHUTE_MODEL "parachute_carbon" //Parachute Textures #define PARACHUTE_PACK "pack_carbon" #define PARACHUTE_TEXTURE "parachute_carbon" new g_iVelocity = -1; new g_iMoney = -1; new g_maxplayers = -1; new String:g_game[30]; new String:path_model[256]; new String:path_pack[256]; new String:path_texture[256]; new String:mapa_serwera[64]; new Handle:g_fallspeed = INVALID_HANDLE; new Handle:g_enabled = INVALID_HANDLE; new Handle:g_linear = INVALID_HANDLE; new Handle:g_msgtype = INVALID_HANDLE; new Handle:g_cost = INVALID_HANDLE; new Handle:g_payback = INVALID_HANDLE; new Handle:g_welcome = INVALID_HANDLE; new Handle:g_roundmsg = INVALID_HANDLE; new Handle:g_version = INVALID_HANDLE; new Handle:g_model = INVALID_HANDLE; new Handle:g_decrease = INVALID_HANDLE; new Handle:g_button = INVALID_HANDLE; new x; new cl_flags; new cl_buttons; new Float:speed[3]; new bool:isfallspeed; new USE_BUTTON; new String:ButtonText[265]; new bool:inUse[MAXPLAYERS+1]; new bool:hasPara[MAXPLAYERS+1]; new bool:hasModel[MAXPLAYERS+1]; new Parachute_Ent[MAXPLAYERS+1]; public Plugin:myinfo = { name = "SM Parachute", author = "SWAT_88", description = "To use your parachute press and hold your E(+use) button while falling.", version = PARACHUTE_VERSION, url = "http://www.sourcemod.net/" }; public OnPluginStart() { LoadTranslations ("sm_parachute.phrases"); g_enabled = CreateConVar("sm_parachute_enabled","1"); g_fallspeed = CreateConVar("sm_parachute_fallspeed","100"); g_linear = CreateConVar("sm_parachute_linear","1"); g_msgtype = CreateConVar("sm_parachute_msgtype","1"); g_cost = CreateConVar("sm_parachute_cost","0"); g_payback = CreateConVar("sm_parachute_payback","75"); g_welcome = CreateConVar("sm_parachute_welcome","1"); g_roundmsg = CreateConVar("sm_parachute_roundmsg","1"); g_version = CreateConVar("sm_parachute_version", PARACHUTE_VERSION, "SM Parachute Version", FCVAR_NOTIFY); g_model = CreateConVar("sm_parachute_model","1"); g_decrease = CreateConVar("sm_parachute_decrease","50"); g_button = CreateConVar("sm_parachute_button","1"); g_iVelocity = FindSendPropOffs("CBasePlayer", "m_vecVelocity[0]"); g_iMoney = FindSendPropOffs("CCSPlayer", "m_iAccount"); g_maxplayers = GetMaxClients(); SetConVarString(g_version, PARACHUTE_VERSION); InitModel(); InitGameMode(); RegConsoleCmd("say",HandleSay,"",FCVAR_GAMEDLL); RegConsoleCmd("say_team",HandleSay,"",FCVAR_GAMEDLL); HookEvent("player_death",PlayerDeath); HookEvent("player_spawn",PlayerSpawn); HookConVarChange(g_enabled, CvarChange_Enabled); HookConVarChange(g_linear, CvarChange_Linear); HookConVarChange(g_cost, CvarChange_Cost); HookConVarChange(g_model, CvarChange_Model); HookConVarChange(g_button, CvarChange_Button); } public OnPluginEnd(){ CloseHandle(g_fallspeed); CloseHandle(g_enabled); CloseHandle(g_linear); CloseHandle(g_msgtype); CloseHandle(g_cost); CloseHandle(g_payback); CloseHandle(g_welcome); CloseHandle(g_roundmsg); CloseHandle(g_version); CloseHandle(g_model); CloseHandle(g_decrease); } public InitModel(){ Format(path_model,255,"models/parachute/%s",PARACHUTE_MODEL); Format(path_pack,255,"materials/models/parachute/%s",PARACHUTE_PACK); Format(path_texture,255,"materials/models/parachute/%s",PARACHUTE_TEXTURE); } public InitGameMode(){ GetGameFolderName(g_game, 29); if(StrEqual(g_game,"tf",false)){ SetConVarInt(g_button,2); SetButton(2); } else{ SetButton(1); } } public OnMapStart(){ new String:path[256]; strcopy(path,255,path_model); StrCat(path,255,".mdl") PrecacheModel(path,true); strcopy(path,255,path_model); StrCat(path,255,".dx80.vtx") AddFileToDownloadsTable(path); strcopy(path,255,path_model); StrCat(path,255,".dx90.vtx") AddFileToDownloadsTable(path); strcopy(path,255,path_model); StrCat(path,255,".mdl") AddFileToDownloadsTable(path); strcopy(path,255,path_model); StrCat(path,255,".sw.vtx") AddFileToDownloadsTable(path); strcopy(path,255,path_model); StrCat(path,255,".vvd") AddFileToDownloadsTable(path); strcopy(path,255,path_model); StrCat(path,255,".xbox.vtx") AddFileToDownloadsTable(path); strcopy(path,255,path_pack); StrCat(path,255,".vmt") AddFileToDownloadsTable(path); strcopy(path,255,path_pack); StrCat(path,255,".vtf") AddFileToDownloadsTable(path); strcopy(path,255,path_texture); StrCat(path,255,".vmt") AddFileToDownloadsTable(path); strcopy(path,255,path_texture); StrCat(path,255,".vtf") AddFileToDownloadsTable(path); GetCurrentMap(mapa_serwera, sizeof(mapa_serwera)); if(StrContains(mapa_serwera, "de_rats_1337", false) != -1) { SetCvar("sm_parachute_enabled", "1"); } else SetCvar("sm_parachute_enabled", "0"); } public OnEventShutdown() { UnhookEvent("player_death",PlayerDeath); UnhookEvent("player_spawn",PlayerSpawn); } public OnClientPutInServer(client) { inUse[client] = false; hasPara[client] = false; hasModel[client] = false; g_maxplayers = GetMaxClients(); CreateTimer (20.0, WelcomeMsg, client); } public OnClientDisconnect(client){ g_maxplayers = GetMaxClients(); CloseParachute(client); } public Action:PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast){ new client; client = GetClientOfUserId(GetEventInt(event, "userid")); if (GetConVarInt(g_cost) == 0){ CreateTimer (1.0, RoundMsg, client); } return Plugin_Continue; } public Action:PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast){ new client; client = GetClientOfUserId(GetEventInt(event, "userid")); hasPara[client] = false; EndPara(client); return Plugin_Continue; } public Action:RoundMsg(Handle:timer, any:client){ if(GetConVarInt(g_roundmsg) == 1){ if(IsClientConnected (client) && IsClientInGame(client)) PrintMsg(client,"Have Got Free Parachute"); } return Plugin_Continue; } public StartPara(client,bool:open) { decl Float:velocity[3]; decl Float:fallspeed; if (g_iVelocity == -1) return; if((GetConVarInt(g_enabled)== 1 && hasPara[client]) || (GetConVarInt(g_enabled) == 1 && GetConVarInt(g_cost) == 0)){ fallspeed = GetConVarFloat(g_fallspeed)*(-1.0); GetEntDataVector(client, g_iVelocity, velocity); if(velocity[2] >= fallspeed){ isfallspeed = true; } if(velocity[2] < 0.0) { if(isfallspeed && GetConVarInt(g_linear) == 0){ } else if((isfallspeed && GetConVarInt(g_linear) == 1) || GetConVarFloat(g_decrease) == 0.0){ velocity[2] = fallspeed; } else{ velocity[2] = velocity[2] + GetConVarFloat(g_decrease); } TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, velocity); SetEntDataVector(client, g_iVelocity, velocity); SetEntityGravity(client,0.1); if(open) OpenParachute(client); } } } public EndPara(client) { if(GetConVarInt(g_enabled)== 1 ){ SetEntityGravity(client,1.0); inUse[client]=false; CloseParachute(client); } } public OpenParachute(client){ decl String:path[256]; strcopy(path,255,path_model); StrCat(path,255,".mdl") if(GetConVarInt(g_model) == 1){ Parachute_Ent[client] = CreateEntityByName("prop_dynamic_override"); DispatchKeyValue(Parachute_Ent[client],"model",path); SetEntityMoveType(Parachute_Ent[client], MOVETYPE_NOCLIP); DispatchSpawn(Parachute_Ent[client]); hasModel[client]=true; TeleportParachute(client); } } public TeleportParachute(client){ if(hasModel[client] && IsValidEntity(Parachute_Ent[client])){ decl Float:Client_Origin[3]; decl Float:Client_Angles[3]; decl Float:Parachute_Angles[3] = {0.0, 0.0, 0.0}; GetClientAbsOrigin(client,Client_Origin); GetClientAbsAngles(client,Client_Angles); Parachute_Angles[1] = Client_Angles[1]; TeleportEntity(Parachute_Ent[client], Client_Origin, Parachute_Angles, NULL_VECTOR); } } public CloseParachute(client){ if(hasModel[client] && IsValidEntity(Parachute_Ent[client])){ RemoveEdict(Parachute_Ent[client]); hasModel[client]=false; } } public Check(client){ if(GetConVarInt(g_enabled)== 1 ){ GetEntDataVector(client,g_iVelocity,speed); cl_flags = GetEntityFlags(client); if(speed[2] >= 0 || (cl_flags & FL_ONGROUND)) EndPara(client); } } public OnGameFrame() { if(GetConVarInt(g_enabled) == 0) return; for (x = 1; x <= g_maxplayers; x++) { if (IsClientInGame(x) && IsPlayerAlive(x)) { cl_buttons = GetClientButtons(x); if (cl_buttons & USE_BUTTON) { if (!inUse[x]) { inUse[x] = true; isfallspeed = false; StartPara(x,true); } StartPara(x,false); TeleportParachute(x); } else { if (inUse[x]) { inUse[x] = false; EndPara(x); } } Check(x); } } } stock GetNextSpaceCount(String:text[],CurIndex){ new Count=0; new len = strlen(text); for(new i=CurIndex;i<len;i++){ if(text[i] == ' ') return Count; else Count++; } return Count; } stock SendHintText(client, String:text[], any:...){ new String:message[192]; VFormat(message,191,text, 2); new len = strlen(message); if(len > 30){ new LastAdded=0; for(new i=0;i<len;i++){ if((message[i]==' ' && LastAdded > 30 && (len-i) > 10) || ((GetNextSpaceCount(text,i+1) + LastAdded) > 34)){ message[i] = '\n'; LastAdded = 0; } else LastAdded++; } } new Handle:HintMessage = StartMessageOne("HintText",client); if (GetUserMessageType() == UM_Protobuf) PbSetString(HintMessage, "text", message); else { BfWriteByte(HintMessage,-1); BfWriteString(HintMessage,message); } EndMessage(); } public PrintMsg(client,String:msg[]){ new String:translation[256]; if(GetConVarInt(g_enabled) == 0) return; Format(translation, 255, "%T", msg, LANG_SERVER, ButtonText); if(GetConVarInt(g_msgtype) == 1){ PrintToChat(client,"\x01\x04[SM Parachute]\x01 %s", translation); } else if(GetConVarInt(g_msgtype) == 2) { new Handle:panel = CreatePanel(); DrawPanelText(panel,translation); SendPanelToClient(panel,client,PanelHandle,5); } else if(GetConVarInt(g_msgtype) == 3){ SendHintText(client,translation); } } public PanelHandle(Handle:menu, MenuAction:action, param1, param2){ } public BuyParachute(client){ new money; new cost; if (g_iMoney == -1) return; if (hasPara[client] == false){ money = GetEntData(client,g_iMoney); cost = GetConVarInt(g_cost); if (cost == 0){ PrintMsg(client,"Have Free Parachute"); } else{ if((money - cost)<0){ PrintMsg(client,"No Money"); } else{ hasPara[client] = true; SetEntData(client,g_iMoney,money-cost); PrintMsg(client,"Have Bought Parachute"); } } } else{ PrintMsg(client,"Have Parachute"); } } public SellParachute(client){ new money; new Float:payback; new String:pb[10]; if (g_iMoney == -1) return; if (hasPara[client] == true){ money = GetEntData(client,g_iMoney); payback = GetConVarInt(g_cost)*(GetConVarFloat(g_payback)/100); if ((money + payback) > 16000){ SetEntData(client,g_iMoney,16000); } else{ FloatToString(payback,pb,9); SetEntData(client,g_iMoney,money+StringToInt(pb)); } hasPara[client] = false; PrintMsg(client,"Sold Parachute"); } else{ if (GetConVarInt(g_cost)==0){ PrintMsg(client,"Sell Free Parachute"); } else{ PrintMsg(client,"No Parachute"); } } } public Action:HandleSay(client, args){ new String:line[30]; if(GetConVarInt(g_enabled) == 0) return Plugin_Continue; if (args > 0){ GetCmdArg(1,line,sizeof(line)); if (strcmp(g_game,"cstrike",false)==0){ if (StrEqual(line, "!bp", false) || StrEqual(line, "!buy_parachute", false)) BuyParachute(client); else if(StrEqual(line, "!sp", false) || StrEqual(line, "!sell_parachute", false)) SellParachute(client); } else{ SetConVarInt(g_cost,0); if (StrEqual(line, "!bp", false) || StrEqual(line, "!buy_parachute", false)) PrintMsg(client,"Have Free Parachute"); else if(StrEqual(line, "!sp", false) || StrEqual(line, "!sell_parachute", false)) PrintMsg(client,"Sell Free Parachute"); } } return Plugin_Continue; } public Action:WelcomeMsg (Handle:timer, any:client) { if(GetConVarInt(g_enabled) == 0) return Plugin_Continue; if (GetConVarInt (g_welcome) == 1 && IsClientConnected (client) && IsClientInGame (client)) { PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Welcome", LANG_SERVER); if (GetConVarInt(g_cost)==0){ PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Parachute For Everyone", LANG_SERVER); } else{ PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Buy Help", LANG_SERVER); PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Sell Help", LANG_SERVER); } } return Plugin_Continue; } public CvarChange_Enabled(Handle:cvar, const String:oldvalue[], const String:newvalue[]){ if (StringToInt(newvalue) == 0){ for (new client = 1; client <= g_maxplayers; client++){ if (IsClientInGame(client) && IsPlayerAlive(client)){ if (hasPara[client]){ SetEntityGravity(client,1.0); SetEntityMoveType(client,MOVETYPE_WALK); SellParachuteOff(client,GetConVarInt(g_cost)); } PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Disabled", LANG_SERVER); } } } else{ for (new client = 1; client <= g_maxplayers; client++){ if (IsClientInGame(client) && IsPlayerAlive(client)){ PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Enabled", LANG_SERVER); if (GetConVarInt(g_cost)==0){ PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Parachute For Everyone", LANG_SERVER); } else{ PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Buy Help", LANG_SERVER); PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Sell Help", LANG_SERVER); } } } } } public CvarChange_Linear(Handle:cvar, const String:oldvalue[], const String:newvalue[]){ if (StringToInt(newvalue) == 0){ for (new client = 1; client <= g_maxplayers; client++){ if (IsClientInGame(client) && IsPlayerAlive(client) && hasPara[client]){ SetEntityMoveType(client,MOVETYPE_WALK); } } } } public CvarChange_Cost(Handle:cvar, const String:oldvalue[], const String:newvalue[]){ if (StringToInt(newvalue) == 0){ for (new client = 1; client <= g_maxplayers; client++){ if (IsClientInGame(client) && IsPlayerAlive(client)){ if (hasPara[client]) SellParachuteOff(client,StringToInt(oldvalue)); PrintToChat(client,"\x01\x04[SM Parachute]\x01 %T", "Parachute For Everyone", LANG_SERVER); } } } else{ if (strcmp(g_game,"cstrike",false) != 0) SetConVarInt(g_cost,0); } } public CvarChange_Button(Handle:cvar, const String:oldvalue[], const String:newvalue[]){ if (StringToInt(newvalue) == 1){ SetButton(1); } else if(StringToInt(newvalue) == 2){ SetButton(2); } } public CvarChange_Model(Handle:cvar, const String:oldvalue[], const String:newvalue[]){ if (StringToInt(newvalue) == 0){ for (new client = 1; client <= g_maxplayers; client++){ if (IsClientInGame(client) && IsPlayerAlive(client)){ CloseParachute(client); } } } } public SellParachuteOff(client,cost){ new money; new Float:payback; new String:pb[10]; if (g_iMoney == -1) return; if (hasPara[client] == true){ money = GetEntData(client,g_iMoney); payback = cost*(GetConVarFloat(g_payback)/100); if ((money + payback) > 16000){ SetEntData(client,g_iMoney,16000); } else{ FloatToString(payback,pb,9); SetEntData(client,g_iMoney,money+StringToInt(pb)); } hasPara[client] = false; } } public SetButton(button){ if (button == 1){ USE_BUTTON = IN_USE; ButtonText = "E"; } else if(button == 2){ USE_BUTTON = IN_JUMP; ButtonText = "Space"; } } stock void SetCvar(char[] scvar, char[] svalue) { Handle cvar = FindConVar(scvar); if(cvar != INVALID_HANDLE) SetConVarString(cvar, svalue, true); }
  20. Może model z tego pluginu? https://forums.alliedmods.net/showthread.php?t=200556
  21. sm_allow_awp_pickup "1" na 0. sm_weapon_restrict_immunity "0" na 1. Domyślnie na flagę rezerwacji slota, jak chcesz na inną możesz zmienić w overrides dodając sm_restrict_immunity_level
  22. Ale jaki plugin, jakiś link, informacje, jak masz skonfigurowany, cokolwiek?
×
×
  • Dodaj nową pozycję...