Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Pytanie do return PLUGIN_


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
38 odpowiedzi w tym temacie

#21 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 08.12.2012 10:20

Jak ktoś z Was chce poczytać jeszcze o const to polecam: http://www.possibili.../Cpp/const.html ;)
  • +
  • -
  • 3

If you can dream it, you can do it.


#22 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 13:51

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Undefined symbol "id" on line 21
Warning: Redundant code: constant expression is zero on line 21
Error: Undefined symbol "id" on line 21
Warning: Expression has no effect on line 21
Error: Expected token: ")", but found ";" on line 21
Error: Too many error messages on one line on line 21

Compilation aborted.
4 Errors.


#include <amxmodx>
#include <hamsandwich>
#include <ColorChat>

#define PLUGIN "Rate'y + HUDMSG"
#define VERSION "2.0"
#define AUTHOR "Filip / `NN"

new const komendy[][] = {"rate", "cl_cmdbackup", "cl_cmdrate", "cl_updaterate", "ex_interp"}

new hudmsg1;

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "raty", 1)
set_task(120.0, "hudmsg", _, _, _, "b")

register_cvar("rate_block", "1")

for(id=0 ; id < sizeof komendy ; id++)
register_clcmd(komendy[id], "BlockCmd")


hudmsg1 = CreateHudSyncObj();
}

public raty (id)
{
client_cmd( id , "rate 25000" )
client_cmd( id , "cl_cmdbackup 2" )
client_cmd( id , "cl_cmdrate 101" )
client_cmd( id , "cl_updaterate 101" )
client_cmd( id , "ex_interp 0.01" )
}

public hudmsg()
{
set_hudmessage(255, 100, 10, 0.1, 0.7, 0, 6.0, 9.0, 0.0, 0.0, 2)
ShowSyncHudMsg(0, hudmsg1, "Twoj interp zostal ustawiony na 0.01")
}

public BlockCmd(id){
if(get_cvar_num("rate_block") == 1){
ColorChat(id, BLUE, "[rate] ^x01Zmiana ustawien RATE jest ZABLOKOWANA!")
console_print(id, "[rate] Zmiana ustawien RATE jest ZABLOKOWANA!")
return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}


Po dopisaniu zmiennej new id; już się kompilowało normalnie, lecz po użyciu którejkolwiek komendy z tablicy nie wypisuje nic na czacie ani w konsoli, a ustawienia można zmienić.

Użytkownik `NN edytował ten post 08.12.2012 13:52

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#23 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 08.12.2012 13:57

for(id=0 ; id < sizeof komendy ; id++)
->
for(new id=0 ; id < sizeof komendy ; id++)

  • +
  • -
  • 0

If you can dream it, you can do it.


#24 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 14:03

Tak też zrobiłem, co spawna zmienia komendy, lecz można też zmienić je ręcznie, czemu chce zapobiec.
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#25 AztekHQS

    Banned

  • Zbanowany

Reputacja: 98
Zaawansowany

  • Postów:279
  • Lokalizacja:Polska
Offline

Napisano 08.12.2012 14:07

'NN, http://amxx.pl/topic...in/#entry488003
Najlepszy serwer JailBreak!
IP: 31.186.83.208:27043
Dołączona grafika

#26 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 14:09

'NN, http://amxx.pl/topic...in/#entry488003


Widziałem, lecz nie widzę u Ciebie nigdzie zmiany tych ustawień na poprawne. To nie jest plugin tylko do samej blokady zmiany ustawień, ale również do wymuszania ich.
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#27 AztekHQS

    Banned

  • Zbanowany

Reputacja: 98
Zaawansowany

  • Postów:279
  • Lokalizacja:Polska
Offline

Napisano 08.12.2012 14:16

Widziałem, lecz nie widzę u Ciebie nigdzie zmiany tych ustawień na poprawne. To nie jest plugin tylko do samej blokady zmiany ustawień, ale również do wymuszania ich.

Kiepsko patrzysz, plugin wymusza ustawienia komend i jak gracz zmieni to ustawi spowrotem na te co są w zmiennej.
Najlepszy serwer JailBreak!
IP: 31.186.83.208:27043
Dołączona grafika

#28 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 14:29

Widziałem, lecz nie widzę u Ciebie nigdzie zmiany tych ustawień na poprawne. To nie jest plugin tylko do samej blokady zmiany ustawień, ale również do wymuszania ich.

Kiepsko patrzysz, plugin wymusza ustawienia komend i jak gracz zmieni to ustawi spowrotem na te co są w zmiennej.


Specjalnie dla Ciebie skompilowałem Twój plugin i sprawdziłem.
Rezultat? Paręnaście razy na sekunde plugin wpisuje powyższe komendy graczowi, powodując mega flood w konsoli, nie ustawia żadnych komend, bo po ich zmianie poprostu była wartość ta, którą wpisałem. Poprostu plugin wymuszał wpisywanie u gracza tych 5 komend, bez zmieniania(sama komenda rate, cl_updaterate itd - bez wartości).
Jak plugin może zmienić ustawienia nie podając żadnych wartości? Nie chcę floodować graczom kompy, tylko wymusić raz co spawna komendy i wprowadzić blokadę ich zmian.
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#29 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 08.12.2012 17:01

Ja bym zamiast Ham_Spawn użył CmdStart :)

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Rate'y + HUDMSG"
#define VERSION "2.0"
#define AUTHOR "Filip / `NN" // + AztekHQS :)

new static komendy[][] = { "rate", "cl_cmdbackup", "cl_cmdrate", "cl_updaterate", "ex_interp" }
new hud

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_forward(FM_CmdStart, "RealStartCMD")

set_task(120.0, "hudmsg", .flags="b")

hud = CreateHudSyncObj()
}

public RealStartCMD(id, uc_handle) {
if(is_user_connected(id)) client_cmd(id, "%s; %s; %s; %s; %s", komendy[0], komendy[1], komendy[2], komendy[3], komendy[4])

return 2
}

public hudmsg() {
set_hudmessage(255, 100, 10, 0.1, 0.7, 0, 6.0, 9.0, 0.0, 0.0, 2)
ShowSyncHudMsg(0, hud, "Twoj interp zostal ustawiony na 0.01")
}

Komendy ze zmiennej ustawione są cały czas u klienta, jeśli klient zmieni wartość tych komend to i tak nic nie da :)
Więc blokada komend jest już zbędna :D


To nie zadziała, wpisujesz same komendy bez wartości :D
  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#30 AztekHQS

    Banned

  • Zbanowany

Reputacja: 98
Zaawansowany

  • Postów:279
  • Lokalizacja:Polska
Offline

Napisano 08.12.2012 17:30

Tak, zapomniałem o wartościach, ale inteligentny by się skapnął i by dodał.
Najlepszy serwer JailBreak!
IP: 31.186.83.208:27043
Dołączona grafika

#31 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 09.12.2012 01:40

Co nie zmienia faktu, że będzie to każdemu floodowało konsolę, a tego nie chce, bo niektórym to może kompa zmulić.
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#32 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 09.12.2012 10:37

forward
public client_infochanged(id) // wywołuje się jak gracz zmienia nick, team, wartości w configu.

+ funkcja
get_user_info (do pobierania wartości)
(http://forums.allied...ead.php?t=25658)
  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#33 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 09.12.2012 12:24

Niestety nie mam pojęcia jak to zrobić, próbowałem tak, ale to jest totalnie bez sensu:

public client_infochanged(id)
{
new komenda[]
get_user_info(id, komendy[], komenda)
}


Dalej już tego nawet nie próbowałem kończyć, bo wiem, że źle robię..
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#34 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 09.12.2012 12:40

public client_infochanged(id){
new updaterate[32] // możliwe, że 5 wystarczy <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' />
new rate[32]  // to samo zamiast 32 ;D
get_user_info(id, "cl_updaterate", updaterate, 31);
get_user_info(id, "rate", rate, 31);
client_print(0, print_chat, "Updaterate: %s Rate: %s", updaterate, rate);
}
Masz już pobrane wartości, niestety chyba tylko to da się pobrać przez get info
Jeżeli rate i updaterate to liczba rzeczywista (całkowita np. 2000) możesz użyć chyba str_to_num, aby porównywać wyniki.
Jeszcze jest:
http://amxx.pl/dokum...ery_client_cvar
Ale nie znam działania, nigdy tego nie używałem, ale podobno można pobrać więcej rzeczy.

Użytkownik HubertTM edytował ten post 09.12.2012 12:41

  • +
  • -
  • 0

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#35 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 09.12.2012 13:24

znalazłem jakiś kod u siebie (nie pamiętam skąd pobierałem :D) z użyciem tego, naprawdę dużo da się pobrać :P

Spoiler

  • +
  • -
  • 2

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#36 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 11.12.2012 22:10

Niestety "nie widzę" tego, co mogło by tu pomóc :(
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#37 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 11.12.2012 23:40


#include <amxmodx>

public plugin_init()
{
register_plugin("spr", "0.1", "K!113r")
register_clcmd("say /spr", "cmd_spr")

}
public cmd_spr(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;

query_client_cvar(id,"ex_interp","interp");


return PLUGIN_CONTINUE;
}
public interp(id,const cvar[],const value[])
{
client_print(id, print_chat, "Twoj interp: %s", value)
}


Kiedyś patrzyłem co to jest, może ten uproszczony kod Ci pomoże (podstaw swój cvar i zobacz czy pobiera :D) (przydać się też może str_to_float() )
  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#38 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 12.12.2012 09:42

UWAGA! Query Client CVAR jest nieobsługiwane przez starsze klienty Non Steam (protokół 47) i użycie tego na takowym kliencie powoduje wyrzucenie go z serwera!
  • +
  • -
  • 3

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#39 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 18.12.2012 17:48

Przepraszam za taki zastój w temacie, ale nie miałem kiedy do tego przysiąść.

Używając poprostu register_clcmd (póki co bez wersji z tabelą wymienioną wyżej), przy takim kodzie

#include <amxmodx>
#include <hamsandwich>
#include <ColorChat>

#define PLUGIN "Rate'y + HUDMSG"
#define VERSION "2.0"
#define AUTHOR "Filip / `NN"

new hudmsg1;

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "raty", 1)
set_task(120.0, "hudmsg", _, _, _, "b")

register_cvar("rate_block", "1")

register_clcmd("rate", "BlockCmd")
register_clcmd("cl_cmdbackup", "BlockCmd")
register_clcmd("cl_cmdrate", "BlockCmd")
register_clcmd("cl_updaterate", "BlockCmd")
register_clcmd("ex_interp", "BlockCmd")

hudmsg1 = CreateHudSyncObj();
}

public raty (id)
{
client_cmd( id , "rate 25000" )
client_cmd( id , "cl_cmdbackup 2" )
client_cmd( id , "cl_cmdrate 101" )
client_cmd( id , "cl_updaterate 101" )
client_cmd( id , "ex_interp 0.01" )
}

public hudmsg()
{
set_hudmessage(255, 100, 10, 0.1, 0.7, 0, 6.0, 9.0, 0.0, 0.0, 2)
ShowSyncHudMsg(0, hudmsg1, "Twoj interp zostal ustawiony na 0.01")
}

public BlockCmd(id){
if(get_cvar_num("rate_block") == 1){
ColorChat(id, BLUE, "[rate] ^x01Zmiana ustawien RATE jest ZABLOKOWANA!")
console_print(id, "[rate] Zmiana ustawien RATE jest ZABLOKOWANA!")
return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}


Nadal można zmienić ustawienia.
Dzięki za query_client_cvar, lecz nie chcę go używać ze względu na to, że ma być on optymalny zarówno dla graczy ns jak i steam.

Użytkownik `NN edytował ten post 18.12.2012 17:50

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych