Массив со строками

Тема в разделе "Программирование / Скриптинг", создана пользователем Primo, 26 сен 2014.

  1. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    Больная тема, но всё же. Не могу разобраться.
    Имеется массив строк. Через FormatEx получается строка из массива. Проблема в том, что получает не целую строку, а букву скорее.
    Чтобы было понятнее:
    Через FormatEx в функцию AddFileToDownloadsTable текст, т.е., фактически, набор букв :D
    Заходишь на сервер, должно загрузить, к примеру sounds/vround/beentohell.mp3, а загружает sounds/vround/eentohell.mp3, потом пытается загрузить entohell, потом ntohell и т.д.
    Что не так?
    PHP:
    #include <sourcemod>
    #include <dpinfo>
    #include <sdktools>
    #include <emitsoundany>

    new Sounds 26//Количество треков
    new const String:SoundF[] = //Название файлов треков
    {
        
    "beentohell",
        
    "calypso",
        
    "extinction",
        
    "henniegath",
        
    "higher",
        
    "landline",
        
    "mambo",
        
    "mechalove",
        
    "mryeah",
        
    "mywinona",
        
    "something",
        
    "parasite",
        
    "theonly",
        
    "thesparpestlives",
        
    "thriftshop",
        
    "turnitup",
        
    "undead",
        
    "warofchange",
        
    "whore",
        
    "witchcraft",
        
    "apologize",
        
    "anthem",
        
    "immatry",
        
    "getfree",
        
    "painkiller",
        
    "shook",
    }

    new 
    String:SoundName[] = //Названия треков
    {
        
    "Hollywood Undead - Been To Hell",
        
    "Blonde Acid Cult – Calypso",
        
    "Thousand Foot Krutch - E For Extinction",
        
    "Kraddy - Henniegath",
        
    "Just Blaze and Baauer – Higher",
        
    "A-Trak ft. GTA - Landline",
        
    "Tropkillaz – Mambo",
        
    "Hadouken! - Mecha Love",
        
    "Mr. Yeah! – Get Ya Hands Up",
        
    "Fall Out Boy – Shes My Winona",
        
    "Hadouken! - Something Very Bad",
        
    "Hadouken! - Parasite",
        
    "Static-X - The Only",
        
    "My Chemical Romance - The Sharpest Lives",
        
    "Macklemore - Thrift Shop (Remix)",
        
    "Yellow Claw – DJ Turn It Up",
        
    "Hollywood Undead - Undead",
        
    "Thousand Foot Krutch - War of Change",
        
    "Papa Roach - Hollywood Whore",
        
    "Pendulum - Witchcraft",
        
    "Hollywood Undead - Apologize",
        
    "Kraddy - Bomb Anthem",
        
    "Skrillex - Imma Try It Out",
        
    "Major Lazer – Get Free ft. Amber (What So Not Remix)",
        
    "Freestylers feat. Pendulum – Painkiller",
        
    "Thousand Foot Krutch - Shook",    
    }

    public 
    Plugin:myinfo 

        
    name "dP_EndSound"
        
    author "Primo"
        
    description "Playing sounds on end round."
        
    version "1.1"


    public 
    OnPluginStart() 
    {
        
    HookEvent("round_end"RoundEnd);
    }

    public 
    OnMapStart()
    {
        for(new 
    ii<=Soundsi++)
        {
            new 
    String:Sound[256];
            
    FormatEx(Soundsizeof(Sound), "sound/vround/%s.mp3"SoundF[i]);
            
    AddFileToDownloadsTable(Sound);
            
    FormatEx(Soundsizeof(Sound), "vround/%s.mp3"SoundF[i]);
            
    PrecacheSoundAny(Sound);
        }
    }

    public 
    RoundEnd(Handle:event, const String:name[], bool:dontBroadcast
    {
        new 
    GetRandomInt(0Sounds-1); 
        new 
    String:Sound[256];
        
    FormatEx(Soundsizeof(Sound), "vround/%s.mp3"SoundF[i]);
        
    EmitSoundToAllAny(Sound);
        
    PrintToChatAll("Играет x01\x04 %s"SoundName[i]);
    }
     
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Primo,
    Как у тебя:
    PHP:
    new const String:SoundF[] = //Название файлов треков
    ...
    new 
    String:SoundName[] = //Названия треков 
    Как должно быть:
    PHP:
    new const String:SoundF[][] = //Название файлов треков
    ...
    new const 
    String:SoundName[][] = //Названия треков 
    Не указал размер строки.

    PHP:
    #include <sourcemod> 
    #include <dpinfo> 
    #include <sdktools> 
    #include <emitsoundany> 

    new const String:SoundF[][] = //Название файлов треков 

        
    "beentohell"
        
    "calypso"
        
    "extinction"
        
    "henniegath"
        
    "higher"
        
    "landline"
        
    "mambo"
        
    "mechalove"
        
    "mryeah"
        
    "mywinona"
        
    "something"
        
    "parasite"
        
    "theonly"
        
    "thesparpestlives"
        
    "thriftshop"
        
    "turnitup"
        
    "undead"
        
    "warofchange"
        
    "whore"
        
    "witchcraft"
        
    "apologize"
        
    "anthem"
        
    "immatry"
        
    "getfree"
        
    "painkiller"
        
    "shook"


    new 
    String:SoundName[][] = //Названия треков 

        
    "Hollywood Undead - Been To Hell"
        
    "Blonde Acid Cult – Calypso"
        
    "Thousand Foot Krutch - E For Extinction"
        
    "Kraddy - Henniegath"
        
    "Just Blaze and Baauer – Higher"
        
    "A-Trak ft. GTA - Landline"
        
    "Tropkillaz – Mambo"
        
    "Hadouken! - Mecha Love"
        
    "Mr. Yeah! – Get Ya Hands Up"
        
    "Fall Out Boy – Shes My Winona"
        
    "Hadouken! - Something Very Bad"
        
    "Hadouken! - Parasite"
        
    "Static-X - The Only"
        
    "My Chemical Romance - The Sharpest Lives"
        
    "Macklemore - Thrift Shop (Remix)"
        
    "Yellow Claw – DJ Turn It Up"
        
    "Hollywood Undead - Undead"
        
    "Thousand Foot Krutch - War of Change"
        
    "Papa Roach - Hollywood Whore"
        
    "Pendulum - Witchcraft"
        
    "Hollywood Undead - Apologize"
        
    "Kraddy - Bomb Anthem"
        
    "Skrillex - Imma Try It Out"
        
    "Major Lazer – Get Free ft. Amber (What So Not Remix)"
        
    "Freestylers feat. Pendulum – Painkiller"
        
    "Thousand Foot Krutch - Shook",     


    public 
    Plugin:myinfo =  
    {  
        
    name "dP_EndSound",  
        
    author "Primo",  
        
    description "Playing sounds on end round.",  
        
    version "1.1",  
    }  

    public 
    OnPluginStart()  

        
    HookEvent("round_end"RoundEnd); 


    public 
    OnMapStart() 

        
    decl String:Sound[256]; 
        
        for(new 
    iiSize sizeof(SoundF); iSize; ++i
        { 
            
    FormatEx(Soundsizeof(Sound), "sound/vround/%s.mp3"SoundF[i]); 
            if(
    FileExists(Sound))
            {
                
    AddFileToDownloadsTable(Sound); 
                
    FormatEx(Soundsizeof(Sound), "vround/%s.mp3"SoundF[i]); 
                
    PrecacheSoundAny(Sound);
            }
        } 


    public 
    RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)  

        new 
    GetRandomInt(0sizeof(SoundF)-1);  
        
    decl String:Sound[256]; 
        
    FormatEx(Soundsizeof(Sound), "vround/%s.mp3"SoundF[i]); 
        
    EmitSoundToAllAny(Sound); 
        
    PrintToChatAll("Играет x01\x04 %s"SoundName[i]); 
     
    Primo нравится это.
  3. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    Разобрался. Спасибо
     
    Последнее редактирование: 26 сен 2014