Polecam zmienić nazwy zmiennych na angielskie i bardziej odpowiadające ich przeznaczeniu.
To samo z funkcjami takimi jak 'drawPlayer', żeby wszystkie były nazywane według jednego stylu, np. snake_case.
Bez reszty kodu nic wiecej nie zdziałamy.
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|




Mężczyzna
Napisane przez Robiin
w 08.01.2022 17:55
public sprawdz()
{
new tt_count = ilosc_tt2();
if(!tt_count)
{
for(new i = 1; i < MAX_PLAYERS; i++)
{
if(is_user_alive(i))
{
user_silentkill(i);
}
}
scrim_print(0, "^x01 Ostatni szukajacy ^x03%s^x01 opuscil gre.", terro);
switch(ilosc_ct())
{
case 0..8: ilosc_tt = 1;
case 9..15: ilosc_tt = 2;
case 16..23: ilosc_tt = 3;
case 24..32: ilosc_tt = 4;
}
drawPlayer();
}
}
Polecam zmienić nazwy zmiennych na angielskie i bardziej odpowiadające ich przeznaczeniu.
To samo z funkcjami takimi jak 'drawPlayer', żeby wszystkie były nazywane według jednego stylu, np. snake_case.
Bez reszty kodu nic wiecej nie zdziałamy.
Napisane przez G[o]Q
w 07.09.2014 14:40
jak to dobrze ze podales wszystkie informacje na temat tego co zmieniles i jak dodatkowo musze Cie pochwalić za to że umieściłeś swój kod zanim ktoś Cie o to poprosił co wpłynie na szybkość udzielanej Ci pomocy.
Tutaj masz rozwiązanie:
Napisane przez Anonymuss
w 30.06.2021 12:44
Jeny ile z tym zabawy to już chyba wolę by to się wyświetlał w modt. Chyba że się da zrobić plugin ktory po wejściu na server wymusi to graczom. Bo kurcze i tak nikt raczej z tego nie będzie korzystać.
Nie można wymusić na graczu wyłączenia CSX Guarda a modyfikowanie plików graczom jest zabronione. Jest pewna opcja z ReChecker (jeśli masz ReHLDS na serwerze), który by wykrywał ten skrypt i kickował dopóki NS go nie usunie ale wtedy podejrzewam, że prawie nikt by u Ciebie nie grał.
Napisane przez Anonymuss
w 29.06.2021 22:37
Witam powoli uczę się pisać plugini i za pomocą jednego z poradników zrobiłem menu z komendami. i okazuje się, że ludzie z non steam nie działa
Zasada pluginu jest prosta wpisujesz /komendy masz listę komend wybierasz i się wywołuje. ale graczom non steam pojawia się takie coś [CSXGuard] "say /sklep": (SD Blocked)
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "komendy" #define VERSION "1.0" #define AUTHOR "xmox" new komendy; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /komendy", "nowemenu"); komendy = menu_create("lista komend","nowemenuhandle"); menu_additem(komendy,"Zaloguj sie ");//item = 0 menu_additem(komendy,"Sklep ");//item = 1 menu_additem(komendy,"Sklep SmS");//item = 2 menu_additem(komendy,"Przekaz guziki ");//item = 3 menu_additem(komendy,"Widok z trzeciej osoby ");//item = 4 menu_additem(komendy,"Widok z pierwszej osoby ");//item = 5 menu_additem(komendy,"Wycisz gracza ");//item = 6 menu_additem(komendy,"Menu rang ");//item = 7 menu_additem(komendy,"Info o VIP ");//item = 8 menu_additem(komendy,"wyłącz HUD");//item = 9 menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie"); } public nowemenu(id){ menu_display(id, komendy); return PLUGIN_HANDLED; } public nowemenuhandle(id, menu, item){ if(item == MENU_EXIT) { return PLUGIN_HANDLED; } switch(item) { case 0:{ client_cmd(id, "say /konto"); } case 1:{ client_cmd(id, "say /sklep"); } case 2:{ client_cmd(id, "say /sklepsms"); } case 3:{ client_cmd(id, "say /daj"); } case 4:{ client_cmd(id, "say /thirdperson"); } case 5:{ client_cmd(id, "say /firstperson"); } case 6:{ client_cmd(id, "say /mute"); } case 7:{ client_cmd(id, "say /rangmenu"); } case 8:{ client_cmd(id, "say /vip"); } case 9:{ client_cmd(id, "say /hud"); } } return PLUGIN_HANDLED; }Z góry dziękuję za pomoc i pozdrawiam.
Skoro uczysz się pisać pluginy to dam Ci wskazówkę. Najlepiej jakby to menu było napisane w ten sposób:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "komendy"
#define VERSION "1.0"
#define AUTHOR "xmox"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /komendy", "nowemenu");
}
public nowemenu(id)
{
new komendy = menu_create("lista komend", "nowemenuhandle");
menu_additem(komendy, "Zaloguj sie ");//item = 0
menu_additem(komendy, "Sklep ");//item = 1
menu_additem(komendy, "Sklep SmS");//item = 2
menu_additem(komendy, "Przekaz guziki ");//item = 3
menu_additem(komendy, "Widok z trzeciej osoby ");//item = 4
menu_additem(komendy, "Widok z pierwszej osoby ");//item = 5
menu_additem(komendy, "Wycisz gracza ");//item = 6
menu_additem(komendy, "Menu rang ");//item = 7
menu_additem(komendy, "Info o VIP ");//item = 8
menu_additem(komendy, "wyłącz HUD");//item = 9
menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie");
menu_display(id, komendy);
return PLUGIN_HANDLED;
}
public nowemenuhandle(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED;
switch(item) {
case 0: client_cmd(id, "say /konto");
case 1: client_cmd(id, "say /sklep");
case 2: client_cmd(id, "say /sklepsms");
case 3: client_cmd(id, "say /daj");
case 4: client_cmd(id, "say /thirdperson");
case 5: client_cmd(id, "say /firstperson");
case 6: client_cmd(id, "say /mute");
case 7: client_cmd(id, "say /rangmenu");
case 8: client_cmd(id, "say /vip");
case 9: client_cmd(id, "say /hud");
}
return PLUGIN_HANDLED;
}
[CSXGuard] "say /sklep": (SD Blocked)
Takie coś wyskakuje wszystkim ns'om którzy pobrali cs z cssetti, ponieważ tam w standardzie jest dodawany skrypt csx guard, który blokuje komendy z configu tego skryptu "CSXGuard.ini" wykonywane przez serwer na graczu. W tym pliku są wpisane komendy "say" i "say_team" dlatego przez natyw client_cmd nie zadziała to na ns'ach.
Albo ludzie którym nie działa Twoje menu, w CSXGuard.ini (w folderze swojego cs'a) wyłączą sobie ten skrypt w ten sposób
Enabled = True
na
Enabled = False
bądź w konsoli gry wpiszą sobie komendę csx guarda
csx_setcvar2 "Enabled" "False"
Albo są jeszcze dwie metody ale ja używam tylko jednej dlatego drugą niech Ci wytłumaczy ktoś kto używa tego natywu https://amxx.pl/doku.../callfunc-begindo omijania guarda
Musisz edytować wszystkie pluginy, które chcesz aby odpalały się przez Twoje menu /komendy, dlatego w tym przypadku prawdopodobnie będziesz miał problem z komendą /sklepsms, ponieważ zapewne go kupiłeś i posiadasz sam plik .amxx bez .sma. W każdym pluginie trzeba zrobić natyw do funkcji którą chcesz wywołać przez swoje menu. Na koniec do swojego pluginu /komendy dopisujesz gdzieś nad "public plugin_init()" wszystkie te natywy z innych pluginów, a później w "case" używasz tych natywów zamiast client_cmd.
Przykład jak stworzyć natyw w jakimś randomowym pluginie:
#include <amxmodx>
#define PLUGIN ".."
#define VERSION ".."
#define AUTHOR ".."
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /konto", "menu_kont");
}
public plugin_natives()
{
register_native("natyw_menukont", "menu_kont", 1);
}
public menu_kont(id)
{
//jakis tam kod na menu
}
Przykład jak go użyć w Twoim menu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "komendy"
#define VERSION "1.0"
#define AUTHOR "xmox"
native natyw_menukont(id); // na gorze kodu dodajemy stworzony przez nas natyw
new komendy;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /komendy", "nowemenu");
komendy = menu_create("lista komend","nowemenuhandle");
menu_additem(komendy,"Zaloguj sie ");//item = 0
menu_additem(komendy,"Sklep ");//item = 1
menu_additem(komendy,"Sklep SmS");//item = 2
menu_additem(komendy,"Przekaz guziki ");//item = 3
menu_additem(komendy,"Widok z trzeciej osoby ");//item = 4
menu_additem(komendy,"Widok z pierwszej osoby ");//item = 5
menu_additem(komendy,"Wycisz gracza ");//item = 6
menu_additem(komendy,"Menu rang ");//item = 7
menu_additem(komendy,"Info o VIP ");//item = 8
menu_additem(komendy,"wyłącz HUD");//item = 9
menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie");
}
public nowemenu(id){
menu_display(id, komendy);
return PLUGIN_HANDLED;
}
public nowemenuhandle(id, menu, item){
if(item == MENU_EXIT) {
return PLUGIN_HANDLED;
}
switch(item) {
case 0:{
natyw_menukont(id); // tu go uzywamy omijajac w ten sposob csx guarda
}
case 1:{
client_cmd(id, "say /sklep");
}
case 2:{
client_cmd(id, "say /sklepsms");
}
case 3:{
client_cmd(id, "say /daj");
}
case 4:{
client_cmd(id, "say /thirdperson");
}
case 5:{
client_cmd(id, "say /firstperson");
}
case 6:{
client_cmd(id, "say /mute");
}
case 7:{
client_cmd(id, "say /rangmenu");
}
case 8:{
client_cmd(id, "say /vip");
}
case 9:{
client_cmd(id, "say /hud");
}
}
return PLUGIN_HANDLED;
}
Napisane przez DarkGL
w 29.06.2021 14:01
Napisane przez DarkGL
w 29.06.2021 16:48
Napisane przez Misiu.
w 17.05.2021 07:02
Sprawdź
#include <amxmodx>
#include <fun>
#include <hamsandwich>
public plugin_init(){
register_plugin("Niesmiertelne TT","1.0" ,"Mysiu." )
RegisterHam(Ham_Spawn, "player", "spawn_gracza", 1);
}
public spawn_gracza(id)
{
if(get_user_team(id) == 1) {
client_print(id,print_chat,"[GODMODE] Jako TT otrzymujesz GODa")
set_user_godmode(id,1)
}
else
{
if(get_user_team(id) == 2) {
set_user_godmode(id,0)
}
}
}



Moja zawartość