[AMXX] .res failide parandaja (map crash)

Vaata eelmist teemat Vaata järgmist teemat Go down

avatar
Tonight


Postitusi : 13715
Maine : 2396
Liitus : 19/02/2012
Vaata kasutaja profiili

PostitamineTonight on 07.12.13 3:01

Kirjeldus: Mõned karakterid tekitavad .res failides probleeme ning seetõttu server crashib mapi tõttu. See plugin parandab .res failid, võttes aluseks ResGeni poolt genereeritud faili (pluginasse kirjutasin de_storm.res, seega veendu, et see sul olemas oleks).
Versioon: 1.0
Autor: Faval


Miks pole pakiga kaasas .sma faili?
Enda tehtud pluginatele lisan ma vaid siis .sma kaasa, kui ma arvan, et seda on võimalik täiustada. Väga vabalt võib iga scripter sama plugina ka ise kirjutada - pead vaid muutma vigaseid .res faile.

Plugina paigaldamine:
Plugin peab serveril töötama vaid 1 korra, seni kuni ta on jõudnud failid ära parandada (ilmub teade). Seejärel on rangelt soovitatav plugin serverist eemaldada, et mitte tekitada serverile koormust tühja tööga uuel käivitumisel.

DOWNLOAD:
Attachments
resparandaja.zip You don't have permission to download attachments.(3 Kb) Downloaded 34 times


Viimati muutis seda Tonight (05.12.14 23:07). Kokku muudetud 1 kord


avatar
Tonight


Postitusi : 13715
Maine : 2396
Liitus : 19/02/2012
Vaata kasutaja profiili

PostitamineTonight on 07.12.13 3:14

Natuke erinev plugin, mis parandab vaid BOM (byte order mark) errori:

Selle scripti autoriks on ConnorMcLeod
Kood:
#include < amxmodx >

// #pragma semicolon 1

#define PLUGIN "17b Res utf BOM remover"
#define VERSION "0.0.1"

new Trie:g_tDefaultRes

public plugin_init()
{
    register_plugin( PLUGIN, VERSION, "ConnorMcLeod" );
    g_tDefaultRes = TrieCreate()
    TrieSetCell( g_tDefaultRes , "de_storm.res", 1);
    TrieSetCell( g_tDefaultRes , "default.res", 1);

    set_task(10.0, "Clean_Res_Files");
}

public Clean_Res_Files()
{
    new szMapsFolder[] = "maps";
    new const szResExt[] = ".res";
    new szResFile[64], iLen;
    new dp = open_dir(szMapsFolder, szResFile, charsmax(szResFile));
    
    if( !dp )
    {
        return;
    }

    // server_print("Opening %s folder (%s)", szMapsFolder, szResFile)
    new szFullPathFileName[128];
    do
    {
        // server_print("Proceeding %s", szResFile)
        iLen = strlen(szResFile)
        if( iLen > 4 && equali(szResFile[iLen-4], szResExt) )
        {
            if( TrieKeyExists(g_tDefaultRes, szResFile) )
            {
                // server_print("Default %s file, continuing...", szResFile)
                continue
            }
            
            formatex(szFullPathFileName, charsmax(szFullPathFileName), "%s/%s", szMapsFolder, szResFile)
            write_file(szFullPathFileName, "/////////////////////////////////////////////////////////////^n", 0);
            server_print("Proceeded %s", szResFile);
        }
    }
    while( next_file(dp, szResFile, charsmax(szResFile)) )
    
    close_dir(dp)
}


Vaata eelmist teemat Vaata järgmist teemat Tagasi üles

Postitada saavad ainult liitunud kasutajad

Vastamiseks tee endale kasutaja või logi sisse.

Liitu foorumiga

Tee endale kasutaja ning osale aruteludes.


Tee uus kasutaja

Logi sisse

Omad foorumis juba kasutajat? Logi sisse.


Logi sisse

 
Permissions in this forum:
Sa ei saa vastata siinsetele teemadele