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

File_Watcher OrpheuTag Mismatch

naprawienie

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

#1 Fail

    Zaawansowany

  • Zbanowany

Reputacja: -15
Tragedia

  • Postów:134
  • Lokalizacja:z forum
Offline

Napisano 04.08.2013 08:33

#include <amxmodx>
#include <orpheu>

#define PLUGIN "File watcher"
#define VERSION "0.2"
#define AUTHOR "mazdan"

#define f "file_watcher.log"

new Array:aRule
new Array:aFile
new Array:aRuleType

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_srvcmd("fw_add_file","file_add",_,"fw_add_file <ACCEPT | BLOCK> <filename>")
    register_srvcmd("fw_rules","show_rules")
    aRule=ArrayCreate(1,32)
    aRuleType=ArrayCreate(1,32)
    aFile=ArrayCreate(128,32)
    server_cmd("exec filewatcher.cfg")
    OrpheuRegisterHook(OrpheuGetFunction("FS_Open"),"FS_Open", OrpheuHookPre)
}



public OrpheuHookReturn:FS_Open(test[],b[])
{
    if(containi(b,"w")!=-1)
    {
        new rule
        strtolower(test)
        replace_all(test,strlen(test),"/","\")
        new len=strlen(test)
        new count=ArraySize(aFile)
        for(new i;(i<count && !rule);i++)
        {
            new file[128]
            ArrayGetString(aFile,i,file,127)
            switch(ArrayGetCell(aRuleType,i))
            {
                case 0:if(equal(test,file)) rule=i+1
                case 1:if(containi(test,file)==len-strlen(file)) rule=i+1
                case 2:if(containi(test,file)==0) rule=i+1
                case 3:if(containi(test,file)!=-1) rule=i+1
            }
        }
        if(rule)
        {
            if(ArrayGetCell(aRule,--rule))
            {
                log_to_file(f,"Rule [#%d] ACCEPT %s",rule,test)
                return OrpheuIgnored;
            }
            else
            {
                log_to_file(f,"Rule [#%d] BLOCK %s",rule,test)
                return OrpheuSupercede;
            }
        }
        else
        {
            log_to_file(f,"No rule BLOCK %s",test)
            return OrpheuSupercede;
        }
    }
    return OrpheuIgnored;
}


public file_add()
{
    new rule[10]
    new file[128]
    read_argv(1,rule,9)
    read_argv(2,file,127)
    if(!equal(rule,"ACCEPT") && !equal(rule,"BLOCK"))
    {
        log_to_file(f,"RULE ADD ERROR use <ACCEPT | BLOCK>")
        console_print(0,"RULE ADD ERROR use <ACCEPT | BLOCK>")
        return PLUGIN_HANDLED;
    }
    if(strlen(file)<1)
    {
        log_to_file(f,"RULE ADD ERROR ^" ^" to specify filename")
        console_print(0,"RULE ADD ERROR ^" ^" to specify filename")
        return PLUGIN_HANDLED;
    }
    ArrayPushCell(aRule,equal(rule,"ACCEPT"))
    ArrayPushCell(aRuleType,((file[0]==42) + 2*(file[strlen(file)-1]==42)) )        //Yep 42
    replace_all(file,127,"*","")
    replace_all(file,127,"/","\")
    ArrayPushString(aFile,file)
    return PLUGIN_HANDLED;
}

public show_rules()
{
    if(!ArraySize(aFile))
        console_print(0,"NO RULES FOUND!")
    else
    {
        new count=ArraySize(aFile)
        for(new i;i<count;i++)
        {
            new file[128]
            ArrayGetString(aFile,i,file,127)
            console_print(0,"[%d] %s %s%s%s",i,(ArrayGetCell(aRule,i))?"ACCEPT":"BLOCK",(ArrayGetCell(aRuleType,i) & 1)?"*":"",file,(ArrayGetCell(aRuleType,i) & 2)?"*":"")
        }
    
    }

}

Chce wgrac sobie file_watcher który zapobiegnie włamaniu ruskim hackiem i podczas kompilacji wywala mi blad:
 

Warning: Tag mismatch on line 91
Warning: Tag mismatch on line 91
Warning: Tag mismatch on line 109
Warning: Tag mismatch on line 109
4 Warnings.
Done.

Jak to poprawic? Te linijki to:

91:

    ArrayPushCell(aRuleType,((file[0]==42) + 2*(file[strlen(file)-1]==42)) )        //Yep 42

109

            console_print(0,"[%d] %s %s%s%s",i,(ArrayGetCell(aRule,i))?"ACCEPT":"BLOCK",(ArrayGetCell(aRuleType,i) & 1)?"*":"",file,(ArrayGetCell(aRuleType,i) & 2)?"*":"")


#2 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 04.08.2013 10:14

Automatyczna wiadomość


Ten temat został przeniesiony z forum

Scripting AMXXPluginy

do

Scripting AMXXProblemy
  • +
  • -
  • 0

#3 Scorpion Flail

    Wszechobecny

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:489
  • GG:
  • Steam:steam
Offline

Napisano 04.08.2013 16:44

Plugin mimo tego erroru się kompiluje, ale nie wiem skąd go wziąłeś [zajmuje ponad 5KB]

 

Skorzystaj z tego tematu, w 100% działające łatki, w tym file watcher z orpheu:

 

http://gamehostingtalk.pl/index.php/topic/19024-ochrona-silnika-hlds/


  • +
  • -
  • 0

#4 Fail

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: -15
Tragedia

  • Postów:134
  • Lokalizacja:z forum
Offline

Napisano 04.08.2013 16:52

no tak, lecz tam nie ma .sma tego filewatchera a binarka w zaden sposob nie pomaga bo z ta binarka mi sie wlamali ;P



#5 Scorpion Flail

    Wszechobecny

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:489
  • GG:
  • Steam:steam
Offline

Napisano 04.08.2013 18:35

Jest to zaufany temat, nie wiem do czego Ci potrzebny plik .sma?


  • +
  • -
  • 0

#6 Fail

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: -15
Tragedia

  • Postów:134
  • Lokalizacja:z forum
Offline

Napisano 05.08.2013 08:15

Ja nie pytam o twoje odczucia i problemy lecz proszę o naprawienie pluginu tak aby nie zawieral błędów.



#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.08.2013 08:52

#include <amxmodx>
#include <orpheu>

#define PLUGIN "File watcher"
#define VERSION "0.2"
#define AUTHOR "mazdan"

#define f "file_watcher.log"

new Array:aRule
new Array:aFile
new Array:aRuleType

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_srvcmd("fw_add_file","file_add",_,"fw_add_file <ACCEPT | BLOCK> <filename>")
    register_srvcmd("fw_rules","show_rules")
    aRule=ArrayCreate(1,32)
    aRuleType=ArrayCreate(1,32)
    aFile=ArrayCreate(128,32)
    server_cmd("exec filewatcher.cfg")
    OrpheuRegisterHook(OrpheuGetFunction("FS_Open"),"FS_Open", OrpheuHookPre)
}



public OrpheuHookReturn:FS_Open(test[],b[])
{
    if(containi(b,"w")!=-1)
    {
        new rule
        strtolower(test)
        replace_all(test,strlen(test),"/","\")
        new len=strlen(test)
        new count=ArraySize(aFile)
        for(new i;(i<count && !rule);i++)
        {
            new file[128]
            ArrayGetString(aFile,i,file,127)
            switch(ArrayGetCell(aRuleType,i))
            {
                case 0:if(equal(test,file)) rule=i+1
                case 1:if(containi(test,file)==len-strlen(file)) rule=i+1
                case 2:if(containi(test,file)==0) rule=i+1
                case 3:if(containi(test,file)!=-1) rule=i+1
            }
        }
        if(rule)
        {
            if(ArrayGetCell(aRule,--rule))
            {
                log_to_file(f,"Rule [#%d] ACCEPT %s",rule,test)
                return OrpheuIgnored;
            }
            else
            {
                log_to_file(f,"Rule [#%d] BLOCK %s",rule,test)
                return OrpheuSupercede;
            }
        }
        else
        {
            log_to_file(f,"No rule BLOCK %s",test)
            return OrpheuSupercede;
        }
    }
    return OrpheuIgnored;
}


public file_add()
{
    new rule[10]
    new file[128]
    read_argv(1,rule,9)
    read_argv(2,file,127)
    if(!equal(rule,"ACCEPT") && !equal(rule,"BLOCK"))
    {
        log_to_file(f,"RULE ADD ERROR use <ACCEPT | BLOCK>")
        console_print(0,"RULE ADD ERROR use <ACCEPT | BLOCK>")
        return PLUGIN_HANDLED;
    }
    if(strlen(file)<1)
    {
        log_to_file(f,"RULE ADD ERROR ^" ^" to specify filename")
        console_print(0,"RULE ADD ERROR ^" ^" to specify filename")
        return PLUGIN_HANDLED;
    }
    ArrayPushCell(aRule,equal(rule,"ACCEPT"))
    ArrayPushCell(aRuleType,(_:(file[0]==42) + 2*_:(file[strlen(file)-1]==42)) )        //Yep 42
    replace_all(file,127,"*","")
    replace_all(file,127,"/","\")
    ArrayPushString(aFile,file)
    return PLUGIN_HANDLED;
}

public show_rules()
{
    if(!ArraySize(aFile))
        console_print(0,"NO RULES FOUND!")
    else
    {
        new count=ArraySize(aFile)
        for(new i;i<count;i++)
        {
            new file[128]
            ArrayGetString(aFile,i,file,127)
            console_print(0,"[%d] %s %s%s%s",i,(ArrayGetCell(aRule,i))?"ACCEPT":"BLOCK",(ArrayGetCell(aRuleType,i) & 1)?"*":"",file,(ArrayGetCell(aRuleType,i) & 2)?"*":"")
        }
    
    }

}
Chce wgrac sobie file_watcher który zapobiegnie włamaniu ruskim hackiem i podczas kompilacji wywala mi blad:

Warning: Tag mismatch on line 91
Warning: Tag mismatch on line 91
Warning: Tag mismatch on line 109
Warning: Tag mismatch on line 109
4 Warnings.
Done.

a ja tu widzę że kompilacja przebiegła pomyśle nawet masz piękny komunikat Done.


  • +
  • -
  • 0

#8 Fail

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: -15
Tragedia

  • Postów:134
  • Lokalizacja:z forum
Offline

Napisano 05.08.2013 12:27

c294067c334fcb9c09417bab2fe2ec0677556bfe

a w którym miejscu napisałem że kompilacja przebiegła w sposób nie prawidłowy? Napisałem tylko i wyłącznie że chce wyeliminować te błędy (ostrzeżenia).

 

wywala tag mismatch jeszcze tutaj

console_print(0,"[%d] %s %s%s%s",i,(ArrayGetCell(aRule,i))?"ACCEPT":"BLOCK",(ArrayGetCell(aRuleType,i) & 1)?"*":"",file,(ArrayGetCell(aRuleType,i) & 2)?"*":"")

Użytkownik Fail edytował ten post 05.08.2013 12:31


#9 Scorpion Flail

    Wszechobecny

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:489
  • GG:
  • Steam:steam
Offline

Napisano 05.08.2013 12:33

Mi podczas kompilacji wywalało tylko błąd związany z linijką 91.


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: naprawienie,

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

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