-
Postów
70 -
Dołączył
-
Ostatnia wizyta
Odpowiedzi opublikowane przez Danix
-
-
Witam przychodze z zapytaniem
jak uzyc tego
forward Action OnBanClient(int client, int time, int flags, const char[] reason, const char[] kick_message, const char[] command, any source)
Nie rozumiem jak uzyc tego int time, int flags, jak uzyc to const char, kick)message, lub czegos takiego
native bool GetCommandLine(char[] commandLine, int maxlen)
Dokladnie to nie wiem jak uzyc w jakimkolwiek nawiasie intow, charpw itp, itd. Ktos wyjasni pls
-
#include <sourcemod> #include <sdktools> public void OnPluginStart(){ RegConsoleCmd("sm_menubroni", bronie); } public Action bronie(int client, int args){ Menu gMenu = new Menu(gMenu_Handler); gMenu.SetTitle("Wybierz broń!"); gMenu.AddItem("1", "BROŃ - AK-47"); gMenu.AddItem("2", "BROŃ - NEGEV"); gMenu.AddItem("3", "[ON/OFF] wiadomości przy wybieraniu broni"); gMenu.Display(client, 140000000); } public int gMenu_Handled(Menu menu, MenuAction action, int client, int Position, int a) { switch(action) { case MenuAction_Select: { switch(a) { case 0: { GivePlayerItem(client, "weapon_ak47"); PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala } case 1: { GivePlayerItem(client, "weapon_negev"); PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala } case 2: { FakeClientCommandEx(client, "sm_menubroni"); PrintToChat(client, "\x03 Wiadomości zostały: (wlaczone/wylaczone}"); // i tu te if powinny byc by wlaczac/wylaczac opcje " gMenu.AddItem("3", "[ON/OFF] wiadomości przy wybieraniu broni");", ze wlaczam wylaczam wiadomosci. cos tam ogarniam te ify, ale nie na tyle by zrobic z tego jakos dzialajaca rzecz } } } case MenuAction_End: delete menu; } return 0; }
-
16 godzin temu, SUPER TIMOR napisał:
https://sm.alliedmods.net/new-api/helpers/FindTarget
Po co kombinować z pętlami, skoro możemy użyć gotowej funkcji FindTarget?
Handler do CMD wyglądałby mniej więcej tak:
public Action CMD_Komenda(int client, int args) { if(args > 1) { ReplyToCommand(client, "Musisz użyć jednego argumentu - nicku gracza!"); return Plugin_Handled; } char buffer[64]; GetCmdArg(1, buffer, sizeof(buffer)); int target = FindTarget(client, arg1); if(target > -1) { char steamID[64]; GetClientAuthId(target, AuthId_Steam2, steamID, sizeof(steamID) ReplyToCommand(client, "SteamID gracza %N - %s", target, steamID); } else ReplyToCommand(client, "Nie znaleziono gracza."); return Plugin_Handled; }
To nie działa ? Chyba, ze to nie jest w pelni gotowe xD ja rejestruje komende i dodaje includy jak cos
-
3 godziny temu, Maroxx napisał:
robisz pętle po wszystkich graczach na serwerze i sprawdzasz czy wpisany nick zgadza się z jakims graczem na serwerze, jeśli tak to pobierasz jego steamid i wypisujesz na czacie, a jesli nie również możesz wypisać informację na czacie że danego gracza nie ma na serwerze.
Tak to rozumiem
#include <sourcemod> public Plugin myinfo = { name = "cos", author = "grafit", description = "pobiera steamod", version = "0.0.0", url = "jakas siec" }; #include <sourcemod> public void OnPluginStart() { RegConsoleCmd("sm_steamid", CMD_steamid); } /* wyswietla steamid */ petla(all, "*%N*", nick if good download steamid, steamIdBuffer); public Action CMD_steamid(int client, int args) { char steamIdBuffer[64]; GetClientAuthId(client, AuthId_Steam2, steamIdBuffer, sizeof(steamIdBuffer)); PrintToChat(client, "Twoje STEAMID to: %s ", steamIdBuffer); }
No tak to rozumiem XD jak mowisz ze mam jakies petle robic po wszystkich graczach nie wiem jak to zrobic itd @Maroxx XD
- 1
-
18 minut temu, dredek | Cs-Creativ.pl napisał:
Przecież po wpisaniu komendy status w konsoli wyskakuje steam id każdego gracza.
Na serwerze mam konsole zablokowane
-
Witam, wie ktos moze jak zrobic taki plugin, ktory po wpisaniu np !steamid (nick gracza, ktorego chcemy steamid) pokazuje steamid, umiem jedynie zrobic, na wyswietlenie steamid tylko swojego. Po prostu !steamid nick i tyle?
-
18 godzin temu, emce napisał:
Patrz! Idziesz do źródła pluginu..
https://forums.alliedmods.net/showthread.php?t=299733
czytasz opis i wiesz że za to gdzie ma być ranga masz dane od "mode" lukasz co możesz wstawić?
"mode" "both" // "mode" is identifier. Set tag mode (valid values are: "both" - "scoreboard" - "chat", Default is "both")
I z tego co wnika zamiast both wstawiasz sobie scoreboard.
(o ile dobrze zrozumiałem pytanie *)
Nie do konca o to mi chodzilo, dobry to ja w tlumaczeniu nie jestem, ale i tak sobie poradzilem w inny sposob. Po prostu dalem range, ktorej nie idzie wybrac, i tyle ;d
-
Cytat
"TagMenu" // Main key. Don't change it.
{
"1" // Indexes. They must be in order from 1 and on. Maximum is 100.
{
"tag" "Pro-Player" // "tag" is identifier. Don't change it. Change the next string like "[Pro-Player]".
"flag" "a" // "flag" is identifier. Don't change it. Set a flag for tag access (empty = everyone)
"steamid" "STEAM_XX" // "steamid" is identifier. Only if "flag" was empty plugin uses this. Make tag special for a steamid only.
"tag_color" "{green}" // "tag_color" is identifier. Set client chat tag color. (Default is "{default}")
"name_color" "{teamcolor}" // "name_color" is identifier. Set client chat name color. (Default is "{teamcolor}")
"text_color" "{default}" // "text_color" is identifier. Set client chat text color. (Default is "{default}")
"mode" "both" // "mode" is identifier. Set tag mode (valid values are: "both" - "scoreboard" - "chat", Default is "both")
}
"2"
{
"tag" "Gracz"
"flag" ""
"tag_color" ""
"name_color" "{teamcolor}"
"text_color" "{default}"
"mode" "both"
}
"3"
{
"tag" "VIP"
"flag" "a"
"tag_color" "{green}"
"name_color" "{teamcolor}"
"text_color" "{default}"
"mode" "both"
}
"4"
{
"tag" "Premium - wkrotce nowa ranga"
"flag" "a"
"tag_color" "{orange}"
"mode" "both"
}
"5"
{
"tag" "SVIP"
"flag" "zanmilh"
"tag_color" "{blue}"
"name_color" "{blue}"
"text_color" "{yellow}"
"mode" "both"}
"6"
{
"tag" "pro"
"flag" "a"
"tag_color" "{yellow}"
"name_color" "{teamcolor}"
"text_color" "{default}"
"mode" "both"
}
"7"
{
"tag" "Wlasciciel *jak zrobic by byla tu wiadomosc, ktora nie robi prefixu na chacie, bo to jest cfg do prefixow i chce zeby pisala wiadomosc tylko w tym tagmenu, ze RANGI ADMINISTRACYJNE?"
"flag" "a"
"tag_color" "{red}"
"name_color" "{teamcolor}"
"text_color" "{default}"
"mode" "both"
}
"8"
{
"tag" "blabla"
"flag" "zanmilh"
"tag_color" "{lightred}"
"name_color" "{teamcolor}"
"text_color" "{default}"
"mode" "both"
}
"9"
{
"tag" "blllab"
"flag" "zanmilh"
"tag_color" "{lightred}"
"name_color" "{teamcolor}"
"text_color" "{default}"
"mode" "both"
}
}Chciałbym aby tam gdzie jest Wlasciciel pisalo tylko w menu, a w cs juz tylko wlasciciel
bo jest to plugin z tagmenu, w ktorym wybiera sie prefixy i sa tam tez administracyjne i chcialbym zeby w menu pisalo tylko dla administracji, wie ktos jak to zrobic?
-
W dniu 12.06.2020 o 13:13, marcin33675 napisał:
Muzyka gra w trakcie rundy, gdy paka została podłożona runde wcześniej
Z tego co wiem to mozna uzyc timer lub dac piosenke 10 sek ?
Lub roundend killtimer
-
Godzinę temu, ogbudowa napisał:
#include <sourcemod> char ClientColor[MAXPLAYERS + 1][256]; char red[256], green[256], blue[256], tytul[256], path[256]; KeyValues kv; public OnPluginStart() { RegConsoleCmd("sm_kolorek", Menu_Colors); HookEvent("player_spawn", Player_Reset); } public Action Player_Reset(Event e, const char[] n, bool b) { int client = GetClientOfUserId(GetEventInt(e, "userid")); SetColor(client, ClientColor[client]); } public Action Menu_Colors(int client, int args) { Menu menu = new Menu(Menu_Handler); menu.SetTitle("Menu kolorów"); BuildPath(Path_SM, path, sizeof(path), "configs/plugin-kolory.ini"); kv = new KeyValues("Kolory"); kv.ImportFromFile(path); if (!kv.GotoFirstSubKey()) { delete kv; return Plugin_Handled; } do { kv.GetString("red", red, sizeof(red)); kv.GetString("green", green, sizeof(green)); kv.GetString("blue", blue, sizeof(blue)); kv.GetSectionName(tytul, sizeof(tytul)) menu.AddItem(tytul, tytul); } while (kv.GotoNextKey()); menu.Display(client, MENU_TIME_FOREVER); return Plugin_Handled; } void SetColor(int ent, const char[] Item) { kv.ImportFromFile(path); if (!kv.GotoFirstSubKey()) { delete kv; return Plugin_Handled; } do { char Wybor[64]; kv.GetSectionName(Wybor, sizeof(Wybor)); if (StrEqual(Item, Wybor)) { SetEntityRenderColor(ent, kv.GetNum("red"), kv.GetNum("green"), kv.GetNum("blue"), kv.GetNum("alpha")); break; } } while (kv.GotoNextKey()); } int Menu_Handler(Menu menu, MenuAction action, int client, int param2) { switch (action) { case MenuAction_Select: { char Item[64]; menu.GetItem(param2, Item, sizeof(Item)); ClientColor[client] = Item; SetColor(client, Item); } case MenuAction_End: delete menu; } return 0; }
do tego pluginu potrzebujesz configu, którego wrzucasz do sourcemod/configs, w który podajesz nazwy kolorów wraz z paletą rgba
#include <sourcemod> #include <sdktools> ConVar g_ShowDmgHintText; public OnPluginStart() { g_ShowDmgHintText = CreateConVar("sm_showdmg", "0", "Obrażenia"); HookEvent("player_hurt", Player_Hurt); AutoExecConfig(true, "cfg_showdmg"); } public Action Player_Hurt(Event e, const char[] n, bool b) { if (!g_ShowDmgHintText.BoolValue) return Plugin_Handled; int attacker = GetClientOfUserId(GetEventInt(e, "attacker")); int victim = GetClientOfUserId(GetEventInt(e, "userid")); int donedmg = GetEventInt(e, "dmg_health"); char victimName[64]; GetClientName(victim, victimName, sizeof(victimName)); PrintHintText(attacker, "Zadałeś %s %d obrażeń", victimName, donedmg); return Plugin_Continue; }
a ten plugin sam tworzy plik cfg w csgo/cfg/sourcemod, w którym możesz pozmieniać cvary lub w grze
jeżeli są to pojedyncze opcje to celowałbym w cvary, które nie wymagają aż tylu lini kodu
Mozna by bylo takie cos, tylko na wiadomosc tekstowa z configiem? bo stad malo rozumiem ?
- 1
-
aktualne? a dobra, pomylily mi sie daty ?
-
26 minut temu, ogbudowa napisał:
Zależy co masz na myśli "config", chodzi ci o ConVary czy czytanie z pliku przez Kv
Chodzi mi o to
tworze sobie jakis plugin, to chce zeby pewne opcje mogl zmieniac w nazwapluginu.cfg lub nazwapluginu,txt,
-
tak jak w temacie, mozecie podeslac kod z takim przykladowym pluginem ?
-
5 minut temu, nOt napisał:
To nie jest czasem to samo?
XD
fakt
Witam mam serwer only mirage i chcialbym, zeby po wygraniu/remis przez jakas druzyne byla zmieniona mapa na mirage, na nowo, nie zeby bylo reset wyniku i wybor teamyu, tylko zeby mapa na nowo sie ladowala - poprawka
-
Witam mam serwer only mirage i chcialbym, zeby po wygraniu/remis przez jakas druzyne byla zmieniona mapa na mirage, na nowo, nie zeby bylo reset wyniku i zmiana mapy, tylko zeby mapa na nowo sie ladowala
-
Mozna calosc na komende z #include itp
-
sourcebans dodany i smiga
-
2 minuty temu, ogbudowa napisał:
masz sourcebany dodane?
nie, niedlugo tak. @ogbudowa
-
Witam wszystkich
nie moge dawac banow ani mutow/gagow na np 10, 15, 60, 90...itp mutow
Ogolnie nie moge dawac na czas
Jak juz to pernamentnie
-
Tak dziala ? @Maroxx 145.239.237.217:28110 tu jak ktos chce zobaczyc ? jak nie mozna wysylac ip to prosze o usuniecie ip
-
3 minuty temu, Nikita | AK napisał:
Linijka 14 nie wstawiłeś ","
dziala dzieki za pomoc [ @Maroxx, @Nikita | AK] mozna zamknac ?
- 1
-
Godzinę temu, Grafito napisał:
taki jak ty podales co musze zmienic, aktualnie nie ma mnie pezy kompie @Maroxx
Cytat#include <sourcemod>
#include <multicolors>
#define Interval 30.0Handle timerr;
int counter = 0;char ads[][] =
{
" {blue} Jest Cheater? Skontaktuj się z administracją! {green}!kontakt",
" {blue} Chcesz zakupić vipa? Skontaktuj się z administracją! {green} !kontakt",
" {blue} Znalazłeś błąd? Skontaktuj się z administracją {green} !kontakt} Być może zostaniesz nagrodzony vipem \n {blue} Nie wiesz co ma vip? {green} wpisz !vip!"
" {blue} Znalazłeś błąd? Skontaktuj się z administracją {green} !kontakt} Być może zostaniesz nagrodzony vipem \n {blue} Nie wiesz co ma vip? {green} wpisz !vip!"
};
public void OnMapStart()
{
timerr = CreateTimer(Interval, Reklamy, _, TIMER_REPEAT);
}public void OnMapEnd()
{
KillTimer(timerr);
}public Action Reklamy(Handle timer, any data)
{
CPrintToChatAll("{darkred}%s", ads[counter]);
if (counter == sizeof(ads)-1)
{
counter = 0;
}
else
{
++counter;
}
} -
-
@Maroxx moge uzyc tylko 3 wiadomosci ?
po dod
Cytat// D:\kompilator\xdd.txt(15) : error 001: expected token: "}", but found "-string-"
// D:\kompilator\xdd.txt(16) : error 010: invalid function or declarationaniu 4 cudzyslowia wyskakuja bledy
Wytlumaczenie
w Pytania na temat kodowania
Opublikowano
no wiem, ale w jaki sposob moge to wykorzystac np. int time
bo jestem glupi i tegi nie ogarniam, ze mam zmienna uzyc i ez
znaczy parametry, nie eiem jak uzyc tych parametrow