| soumyadip77 |
08-15-2018 23:19 |
Re: Dynamic Array
prob solved here is code if any one need he will use
PHP Code:
/* Sublime AMXX Editor v2.2 */
#include <amxmodx> #include <amxmisc>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Author"
#define CONFIG_FILE "song.ini"
new Array: ready_sound; new Array: sound1;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /t1", "play") register_clcmd("say /t2", "play2") }
public plugin_precache() { ready_sound = ArrayCreate(64); sound1 = ArrayCreate(64);
load_config_file();
precacheSound(ready_sound); precacheSound(sound1);
}
precacheSound(array) { new buffer[128], temp_string[256], i;
for(i = 0; i < ArraySize(array); i++) { ArrayGetString(array, i, temp_string, sizeof(temp_string))
if(equal(temp_string[strlen(temp_string) - 4], ".mp3")) { format(buffer, charsmax(buffer), "sound/%s", temp_string) precache_generic(buffer) } else { precache_sound(temp_string) } } }
public load_config_file() { // Build customization file path new path[64] get_configsdir(path, charsmax(path)) format(path, charsmax(path), "%s/%s", path, CONFIG_FILE)
// File not present if (!file_exists(path)) { return; }
// Set up some vars to hold parsing info new linedata[1024], key[64], value[960] // Open customization file for reading new file = fopen(path, "rt")
while (file && !feof(file)) { // Read one line at a time fgets(file, linedata, charsmax(linedata)) trim(linedata);
// Blank line or comment if (!linedata[0] || linedata[0] == ';') continue;
// Get key and value(s) strtok(linedata, key, charsmax(key), value, charsmax(value), '=')
// Trim spaces trim(key) trim(value)
if (equal(key, "START")) { // Parse weapons while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ',')) { // Trim spaces trim(key) trim(value)
// Add to weapons array ArrayPushString(ready_sound, key) //precacheSound(key) } } else if (equal(key, "STOP")) { // Parse weapons while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ',')) { // Trim spaces trim(key) trim(value)
// Add to weapons array ArrayPushString(sound1, key) //precacheSound(key) } } } }
public play() { if(ArraySize(ready_sound)) { new temp_string[128] ArrayGetString(ready_sound, random_num(0, ArraySize(ready_sound) - 1), temp_string, sizeof(temp_string))
client_print(0, print_chat, "song path %s", temp_string)
play_sound(0, temp_string) } }
public play2() { if(ArraySize(sound1)) { new temp_string[128] ArrayGetString(sound1, random_num(0, ArraySize(sound1) - 1), temp_string, sizeof(temp_string))
client_print(0, print_chat, "song path %s", temp_string)
play_sound(0, temp_string) } }
play_sound(id, szSound[]) { client_cmd(id, "%s ^"sound/%s^"", (equal(szSound[strlen(szSound) - 4], ".mp3")) ? "mp3 play" : "spk", szSound); }
public plugin_end() { ArrayDestroy(ready_sound); ArrayDestroy(sound1) }
|