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

Plugin na daną flagę?Opis zbędny.


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

#1 Drzanas

    Godlike

  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 17.06.2011 13:32

Witam. Jak zrobić aby plugin był na daną flagę?
Jeżeli gracz z flagą "z" użyje komendy przeznaczonej dla flagi np "b" to plugin przestaje dalej działać.
A jeżeli użyje jej gracz z flagą "b" to plugin działa dalej wg kodu.
Gdzie co trzeba dodać.
  • +
  • -
  • 0

graphic.png


#2 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 17.06.2011 13:42

#define FLAGA ADMIN_LEVEL_H ?
  • +
  • -
  • 0

#3 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 17.06.2011 14:38

I kiedy to dodam to plugin będzie tylko działa na graczach z tą flagą?
Szukałem po google, ale nic nie znalazłem dlatego napisałem temat.
  • +
  • -
  • 0

graphic.png


#4 amxxmaster

    Profesjonalista

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:207
  • Imię:Stad
  • Lokalizacja:Daleko
Offline

Napisano 17.06.2011 15:01

latwiej by bylo pewnie ci pomoc gdybys dal sma pluga, chyba ze to jakis wazny plug ktorego niechcesz udostepnic

#5 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 17.06.2011 15:16

Wystarczy dodać prosty warunek przed funkcją:
if(!(get_user_flags(index_gracza) & FLAGA))
return;

  • +
  • -
  • 0

#6 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 17.06.2011 15:28

Goliath to to samo co definicja ;P
  • +
  • -
  • 0

#7 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 17.06.2011 15:45

Ale samą definicją wiele nie zdziałasz.
  • +
  • -
  • 0

#8 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 17.06.2011 15:56

latwiej by bylo pewnie ci pomoc gdybys dal sma pluga, chyba ze to jakis wazny plug ktorego niechcesz udostepnic

No wiem że by mi było łatwiej, ale chciałbym sam to zrobić a nie dać i czekać na gotowe.
Chodzi mi o ten plugin Czat log - Czat to file - logowanie rozmow w czacie - AMXX.pl: Support AMX Mod X .
Chce go trochę zmodyfikować i do tego właśnie mi potrzebne, ze kiedy gracz nie ma określonej flagi plugin nie będzie nic logował.
  • +
  • -
  • 0

graphic.png


#9 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 17.06.2011 18:52

Warunki musisz stawiać przy każdej funkcji; nie da się tego zrobić za pomocą jednej definicji, dla ułatwienia możesz użyć taki stock

stock bool:GraczMaFlagi(id, const flagi[]){
if(get_user_flags(id) & read_flags(flagi)) return true;
return false;
}

if(GraczMaFlagi(id, "a")){
//gracz ma wymagana flage
}

  • +
  • -
  • 0

#10 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 17.06.2011 19:54

Hmm...
Jestem zielony że tak powiem.
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Czat log"
#define VERSION "0.1"
#define AUTHOR "Miczu"


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

register_clcmd("say","say_handle")
register_clcmd("say_team", "say_handle")
}

public say_handle(id)
{
new stringsay[192]
new message[256]
new name[32]
new CurrentTime[9]
new data[9]
new dir[128]
new say_type[9]

get_time("%H:%M:%S",CurrentTime,8)
get_time("%Y%m%d",data,8)

get_user_name(id,name,31)
read_args(stringsay,192)
get_basedir(dir,127)
read_argv(0,say_type,8)

format(dir,127,"%s/logs/Czat_%s.log",dir,data)
format(message,255,"%s -%s- '%s' %s",name,CurrentTime,say_type,stringsay)
write_file(dir, message)
}

Na przykładzie tego pluginu w którym miejscu to będzie trzeba dodać?
  • +
  • -
  • 0

graphic.png


#11 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 17.06.2011 21:03


#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Czat log"
#define VERSION "0.1"
#define AUTHOR "Miczu"


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

register_clcmd("say","say_handle")
register_clcmd("say_team", "say_handle")
}

public say_handle(id)
{
if(GraczMaFlagi(id, "a"))
{
new stringsay[192]
new message[256]
new name[32]
new CurrentTime[9]
new data[9]
new dir[128]
new say_type[9]

get_time("%H:%M:%S",CurrentTime,8)
get_time("%Y%m%d",data,8)

get_user_name(id,name,31)
read_args(stringsay,192)
get_basedir(dir,127)
read_argv(0,say_type,8)

format(dir,127,"%s/logs/Czat_%s.log",dir,data)
format(message,255,"%s -%s- '%s' %s",name,CurrentTime,say_type,stringsay)
write_file(dir, message)
}
else
client_print(id, print_chat, "Nie masz dostepu")
}

stock bool:GraczMaFlagi(id, const flagi[])
{
if(get_user_flags(id) & read_flags(flagi)) return true;
return false;
}

Użytkownik ^Grzyboo edytował ten post 17.06.2011 21:04

  • +
  • -
  • 0

#12 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 18.06.2011 13:11


{
if(GraczMaFlagi(id, "a"))

W cudzysłów mam wstawić flagę na jaką chce?

 client_print(id, print_chat, "Nie masz dostepu")
}

Można zastąpić to
console_print(id,"Nie masz dostepu"); 
?
  • +
  • -
  • 0

graphic.png


#13 amxxmaster

    Profesjonalista

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:207
  • Imię:Stad
  • Lokalizacja:Daleko
Offline

Napisano 18.06.2011 15:15

client_print(id, print_console, "Nie masz dostepu")

nie wiem czy dobrze ci teraz podpowiadam ale chyba raczej tak jak wyzej napisalem, ale jeszcze niech ktos sie wypowie kto sie lepiej zna :P

#14 Zuy Człowiek

    Pomocny

  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:48
  • Imię:Mateusz
  • Lokalizacja:Kraków
Offline

Napisano 24.06.2011 06:59

Plugin podany wyżej wyświetlałby przy każdym użyciu say przez usera "Nie masz dostępu"..


#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Czat log"
#define VERSION "0.1"
#define AUTHOR "Miczu"


public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        register_clcmd("say","say_handle")
        register_clcmd("say_team", "say_handle")
}

public say_handle(id)
{
        if(!(get_user_flags(id) & tu wpisz nazwę flagi))
               return PLUGIN_HANDLED;

        new stringsay[192] 
        new message[256]
        new name[32]
        new CurrentTime[9]
        new data[9]
        new dir[128]
        new say_type[9]
        
        get_time("%H:%M:%S",CurrentTime,8)
        get_time("%Y%m%d",data,8)
        
        get_user_name(id,name,31)
        read_args(stringsay,192)
        get_basedir(dir,127)
        read_argv(0,say_type,8)
        
        format(dir,127,"%s/logs/Czat_%s.log",dir,data)
        format(message,255,"%s -%s- '%s' %s",name,CurrentTime,say_type,stringsay)
        write_file(dir, message)

        return PLUGIN_HANDLED;
}


A co do printa to:
client_print(id, print_console, "ble");

Użytkownik Zuy Człowiek edytował ten post 24.06.2011 07:02

  • +
  • -
  • 0
Posted Image




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

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