########main.ms: bind(player_interact, null, array(block: '77'), @event, assign(@list, get_value('button')) if(not(is_array(@list)), return()) assign(@cursor, _roundLoc(@event['location'])) if(array_contains(@list[0], @cursor), assign(@index, array_index(@list[0], @cursor)) if(not(equals(@list[2][@index], 0)), assign(@cooldown, @list[2][@index]) assign(@storage, concat('button_delayer_', @index)) if(is_null(get_value(@storage)), store_value(@storage, 0)) assign(@lastuse, get_value(@storage)) if(@lastuse + @cooldown > time() / 1000, assign(@timeleft, subtract(add(@lastuse, @cooldown), divide(time(), 1000))) assign(@timeleft, round(@timeleft)) msg(color(red) 'Przycisk ponownie aktywny za' @timeleft 'sekund!') cancel(true) return()) store_value(@storage, time() / 1000)) if(and(not(equals(@list[1][@index], 0)), is_array(@list[1][@index])), foreach(@list[1][@index], @i, if(gt(length(@i), 6), if(equals(substr(@i, 0, 6), '_sudo_'), scriptas(@event['player'], sudo(substr(@i, 6))) return())) chatas(@event['player'], @i))))) #####config.txt: moderator:/guzik [$cmd=''] [$=''] = >>> _checkPerms(player(), 'moderator') include('includes/guzik.ms') if(is_null(get_value(button)), store_value(button, array(array(), array(), array()))) switch($cmd, '?', _commandGuzikPomocy($) die(), 'pomocy', _commandGuzikPomocy($) die()) if(not(equals(substr(get_block_at(pcursor()), 0, 3), '77:')), die(color(red) 'Toz to nie przycisk jest!')) switch($cmd, 'dodaj', _commandGuzikDodaj($), 'usun', _commandGuzikUsun($), 'opozn', _commandGuzikOpozn($), '', _commandGuzikInfo($)) <<< ####/includes/guzik.ms proc(_commandGuzikDodaj, @in, assign(@list, get_value('button')) assign(@cursor, _roundLoc(pcursor())) if(array_contains(@list[0], @cursor), assign(@index, array_index(@list[0], @cursor)) array_push(@list[1][@index], @in) store_value('button', @list) msg(color(gold) 'Przypisano komende' @in 'do przycisku!') console('BUTTON:' player() 'przypisal' @in 'do' pcursor(), false) return()) array_push(@list[0], pcursor()) array_push(@list[1], array(@in)) array_push(@list[2], '0') store_value('button', @list) msg(color(gold) 'Przypisano komende' @in 'do przycisku!') console('BUTTON:' player() 'przypisal' @in 'do' pcursor(), false) return()) proc(_commandGuzikUsun, @in, assign(@list, get_value('button')) assign(@cursor, _roundLoc(pcursor())) if(array_contains(@list[0], @cursor), assign(@index, array_index(@list[0], @cursor)) array_remove(@list[0], @index) array_remove(@list[1], @index) array_remove(@list[2], @index) store_value('button', @list) msg(color(gold) 'Usunieto wszystko z przycisku!') console('BUTTON:' player() 'usunal' pcursor(), false) return()) msg(color(red) 'Ten guzik jest czysty!') return()) proc(_commandGuzikOpozn, @in, assign(@list, get_value('button')) if(not(is_integral(@in)), die(color(red) . 'Podaj liczbe calkowita!')) assign(@cursor, _roundLoc(pcursor())) if(array_contains(@list[0], @cursor), assign(@index, array_index(@list[0], @cursor)) array_set(@list[2], @index, @in) store_value('button', @list) msg(color(gold) 'Opozniono przycisk o' color(green) @in color(gold) 'sekund!') console('BUTTON:' player() 'ustawil opoznienie' @in 'dla' pcursor(), false) return()) array_push(@list[0], pcursor()) array_push(@list[1], array()) array_push(@list[2], @in) store_value('button', @list) msg(color(gold) 'Opozniono przycisk o' color(green) @in color(gold) 'sekund!') console('BUTTON:' player() 'przypisal' @in 'do' pcursor(), false) return()) proc(_commandGuzikInfo, @in, assign(@list, get_value('button')) assign(@cursor, _roundLoc(pcursor())) if(array_contains(@list[0], @cursor), assign(@index, array_index(@list[0], @cursor)) msg(color(gold) . 'Guzik na kordach:' color(green) . pcursor()) if(is_array(@list[1][@index]), msg(color(gold) . 'Zabindowane komendy:') for(assign(@i, 0), lt(@i, array_size(@list[1][@index])), inc(@i), msg(color(green) . add(@i, 1) . ':' @list[1][@index][@i]))) msg(color(gold) . 'Opoznienie:' color(gold) . @list[2][@index] 'sekund') return()) msg(color(red) 'Ten guzik jest czysty!') return()) proc(_commandGuzikPomocy, @in, msg(color(gold) . 'Guzik 1.1-r2 by Ineptus') msg(color(gold) . 'Patrzac na guzik mozesz uzyc jednej z ponizszych komend:') msg(color(gold) . '/guzik dodaj' color(green) '(bindowany tekst/komenda)') msg(color(gold) . '/guzik opozn' color(green) '(liczba sekund co ktore bedzie mozna uzyc guzika)') msg(color(gold) . '/guzik usun' color(green) '- usuwa wszystko z guzika') msg(color(gold) . '/guzik' color(green) '- wyswietla informacje o guziku') return())