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

Wymuszanie komend


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 manimatrix

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Piotr
  • Lokalizacja:Ślepowola
Offline

Napisano 17.01.2010 10:47

Zrobilem male wymuszanie komend na serwer diablomoda, ale niestety nie umiem sobie poradzic z bledami. Pluginami zajmuje sie dopiero 3 dni, wiec niewiele jeszcze umiem. Tresc bledu:

Error: Symbol already defined: "read_argv" on line 21
Error: Symbol already defined: "read_argv" on line 21
Warning: Symbol is never used: "arq" on line 36
Warning: Symbol is never used: "name" on line 36

Plugin:
/* Plugin generated by AMXX-Studio */
#define PLUGIN "Wymuszanie diablo" 
#define VERSION "1.0" 
#define AUTHOR "Manimatrix"

#include <amxmodx>
#include <amxmisc>

new arq[32]
new name[32]

public plugin_init() 
{
	register_concmd("amx_wywal", "concmd_wywal" ,ADMIN_KICK,"")
	register_concmd("amx_wymus", "concmd_wymus" ,ADMIN_KICK,"")
}
public concmd_wymus(id)
{
return PLUGIN_HANDLED;
}
read_argv(1, arq, 30) new Player = cmd_target(id, arq) get_user_name(Player, name, 31)
client_cmd(id, "reset_skill") 
show_motd(Player, "Reset statystyk zostal wymuszony przez admina. Najwyrazniej nie zgadzaly sie one z zasadami serwera.")
client_print(id,print_chat,"Gracz %s zostal zmuszony do zresetowania statystyk.", name)
} 
public concmd_wywal(id)
{
return PLUGIN_HANDLED;
}

read_argv(1, arq, 30) new Player = cmd_target(id, arq) get_user_name(Player, name, 31)
client_cmd(id, "dropitem")
show_motd(Player, "Straciles item na skutek zlamania zasad serwera.")
client_print(id,print_chat,"Admin usunal graczowi %s", name)
}

Z gory wielkie dzięki za pomoc.
  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 17.01.2010 10:57

Chyba chodziło o coś takiego:
/* Plugin generated by AMXX-Studio */
#define PLUGIN "Wymuszanie diablo"
#define VERSION "1.0"
#define AUTHOR "Manimatrix"

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
register_concmd("amx_wywal", "concmd_wywal" ,ADMIN_KICK,"")
register_concmd("amx_wymus", "concmd_wymus" ,ADMIN_KICK,"")
}

public concmd_wymus(id)
{
new arq[32]
read_argv(1, arq, 30)
new Player = cmd_target(id, arq)

new name[32]
get_user_name(Player, name, 31)
client_cmd(id, "reset_skill")
show_motd(Player, "Reset statystyk zostal wymuszony przez admina. Najwyrazniej nie zgadzaly sie one z zasadami serwera.")
client_print(id,print_chat,"Gracz %s zostal zmuszony do zresetowania statystyk.", name)
}

public concmd_wywal(id)
{
new arq[32]
read_argv(1, arq, 30)
new Player = cmd_target(id, arq)

new name[32]
get_user_name(Player, name, 31)
client_cmd(id, "dropitem")
show_motd(Player, "Straciles item na skutek zlamania zasad serwera.")
client_print(id,print_chat,"Admin usunal graczowi %s", name)
}

  • +
  • -
  • 0

#3 manimatrix

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Piotr
  • Lokalizacja:Ślepowola
Offline

Napisano 17.01.2010 14:41

Ech, skrypt wykonuje np. reset na wszystkich zamiast na jedna osobe. Da rade to poprawic?

Nie zaszkodzi znowu odswiezyc, zwlaszcza gdy czas goni.

dzięki za uwage >_>

Użytkownik Manimatrix edytował ten post 17.01.2010 12:53

  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 17.01.2010 14:47

A w którym miejscu niby masz określone którego gracza ma dotyczyć ta komenda ?
Jeżeli cmd_target zwróci zero to akcja wykona się na wszystkich. Przydało by ci się zabezpieczenie.
  • +
  • -
  • 0

#5 manimatrix

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Piotr
  • Lokalizacja:Ślepowola
Offline

Napisano 17.01.2010 14:50

No coz, ucze sie dopiero, wiec niewiele jeszcze wiem. Rozumiem, ze skrypt w ogole zle zaczety. Czyli jak to mniej wiecej powinno wygladac?
  • +
  • -
  • 0

#6 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 17.01.2010 15:15

No coz, ucze sie dopiero, wiec niewiele jeszcze wiem. Rozumiem, ze skrypt w ogole zle zaczety. Czyli jak to mniej wiecej powinno wygladac?


Mniej więcej tak:
public concmd_wywal(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
{
console_print(id, "Nie mozesz uzyc tej funkcji")
return PLUGIN_HANDLED
}

new arg[32]
read_argv(1, arq, 31)

new player = cmd_target(id, arq, 7)

if (!player)
{
console_print(id, "Nie znaleziono gracza ^"%s^"", arg)
return PLUGIN_HANDLED
}

new name[32]
get_user_name(Player, name, 31)
client_cmd(id, "dropitem")
show_motd(Player, "Straciles item na skutek zlamania zasad serwera.")
client_print(id,print_chat,"Admin usunal graczowi %s", name)
}

  • +
  • -
  • 0

#7 manimatrix

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Piotr
  • Lokalizacja:Ślepowola
Offline

Napisano 17.01.2010 15:20

/* Plugin generated by AMXX-Studio */
#define PLUGIN "Wymuszanie diablo" 
#define VERSION "1.0" 
#define AUTHOR "Manimatrix"

#include <amxmodx>
#include <amxmisc>

public plugin_init() 
{
	register_concmd("amx_wywal", "concmd_wywal" ,ADMIN_KICK,"")
	register_concmd("amx_wymus", "concmd_wymus" ,ADMIN_KICK,"")
}

public concmd_wymus(id,level,cid)
{
  if (!cmd_access(id,level,cid,2))
  {
    console_print(id, "Nie mozesz uzyc tej funkcji")
    return PLUGIN_HANDLED
  }
  
        new arg[32]
        read_argv(1, arq, 31)
  
  new player = cmd_target(id, arq, 7)
  
  if (!player)
  {
    console_print(id, "Nie znaleziono gracza ^"%s^"", arg)
    return PLUGIN_HANDLED
  }
  
  new name[32]
  get_user_name(Player, name, 31)
	client_cmd(id, "say /reset") 
	show_motd(Player, "Reset statystyk zostal wymuszony przez admina. Najwyrazniej nie zgadzaly sie one z zasadami serwera.")
	client_print(id,print_chat,"Gracz %s zostal zmuszony do zresetowania statystyk.", name)
}

public concmd_wywal(id,level,cid)
{
  if (!cmd_access(id,level,cid,2))
  {
    console_print(id, "Nie mozesz uzyc tej funkcji")
    return PLUGIN_HANDLED
  }
  
        new arg[32]
        read_argv(1, arq, 31)
  
  new player = cmd_target(id, arq, 7)
  
  if (!player)
  {
    console_print(id, "Nie znaleziono gracza ^"%s^"", arg)
    return PLUGIN_HANDLED
  }
  
  new name[32]
  get_user_name(Player, name, 31)
  client_cmd(id, "say /drop")
  show_motd(Player, "Straciles item na skutek zlamania zasad serwera.")
  client_print(id,print_chat,"Admin usunal graczowi %s item za zlamanie zasad serwera.", name)
}

Warning: Loose indentation on line 23
Error: Undefined symbol "arq" on line 24
Warning: Expression has no effect on line 24
Error: Expected token: ";", but found ")" on line 24
Error: Invalid expression, assumed zero on line 24
Error: Too many error messages on one line on line 24

Co jest zle?

Użytkownik Manimatrix edytował ten post 17.01.2010 15:21

  • +
  • -
  • 0

#8 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 17.01.2010 15:35

Literówki itp.
/* Plugin generated by AMXX-Studio */
#define PLUGIN "Wymuszanie diablo"
#define VERSION "1.0"
#define AUTHOR "Manimatrix"

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
register_concmd("amx_wywal", "concmd_wywal" ,ADMIN_KICK,"")
register_concmd("amx_wymus", "concmd_wymus" ,ADMIN_KICK,"")
}

public concmd_wymus(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
{
console_print(id, "Nie mozesz uzyc tej funkcji")
return PLUGIN_HANDLED
}

new arg[32]
read_argv(1, arg, 31)

new player = cmd_target(id, arg, 7)

if (!player)
{
console_print(id, "Nie znaleziono gracza ^"%s^"", arg)
return PLUGIN_HANDLED
}

new name[32]
get_user_name(player, name, 31)
client_cmd(id, "say /reset")
show_motd(player, "Reset statystyk zostal wymuszony przez admina. Najwyrazniej nie zgadzaly sie one z zasadami serwera.")
client_print(id,print_chat,"Gracz %s zostal zmuszony do zresetowania statystyk.", name)

return PLUGIN_HANDLED
}

public concmd_wywal(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
{
console_print(id, "Nie mozesz uzyc tej funkcji")
return PLUGIN_HANDLED
}

new arg[32]
read_argv(1, arg, 31)

new player = cmd_target(id, arg, 7)

if (!player)
{
console_print(id, "Nie znaleziono gracza ^"%s^"", arg)
return PLUGIN_HANDLED
}

new name[32]
get_user_name(player, name, 31)
client_cmd(id, "say /drop")
show_motd(player, "Straciles item na skutek zlamania zasad serwera.")
client_print(id,print_chat,"Admin usunal graczowi %s item za zlamanie zasad serwera.", name)

return PLUGIN_HANDLED
}

  • +
  • -
  • 0

#9 manimatrix

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Piotr
  • Lokalizacja:Ślepowola
Offline

Napisano 17.01.2010 15:49

Teraz to zamiast graczowi wymusic say /reset wywala mu motd a mi daje say /reset.

Użytkownik Manimatrix edytował ten post 17.01.2010 15:49

  • +
  • -
  • 0

#10 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 17.01.2010 15:58

No właściwie tak miałeś od początku.
Zamień to:
client_cmd(id, "say /reset") 
i
client_cmd(id, "say /drop")
na:
client_cmd(player, "say /reset") 
i
client_cmd(player, "say /drop")


player to gracz na którym ma być wykonana funkcja
id to osoba wpisująca komendę

A motd to przecież miał się wyświetlać graczowi.
  • +
  • -
  • 0

#11 manimatrix

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Piotr
  • Lokalizacja:Ślepowola
Offline

Napisano 17.01.2010 16:21

Wreszcie dziala jak nalezy, dzięki wielkie.
  • +
  • -
  • 0




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

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