[AMXX] .res failide parandaja (map crash)

Vaata eelmist teemat Vaata järgmist teemat Go down

Tonight
Tonight

[AMXX] .res failide parandaja (map crash) Vetera11
Liitus : 19/02/2012
Postitusi : 18000

PostitamineTonight 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

[AMXX] .res failide parandaja (map crash) File-i10
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
[AMXX] .res failide parandaja (map crash) Attachment
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
Tonight
Tonight

[AMXX] .res failide parandaja (map crash) Vetera11
Liitus : 19/02/2012
Postitusi : 18000

PostitamineTonight 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

Soovid vestluses osaleda?

Selleks logi sisse või tee endale kasutaja.

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