Client:
var table_id = 1; // example, python will give this value
var socket = io('http://localhost:3000/table'+table_id');
socket.on('connect', function() {
console.log('Connected');
socket.emit('join', "table_"+table_id);
});
<?php | |
function download_file($adress){ | |
$adress = str_replace('+',' ',$adress); | |
$file = d()->File->where('title = ?',$adress); | |
header('Content-Description: File Transfer'); | |
header('Content-Type: application/octet-stream'); | |
header("Content-Disposition: attachment; filename*=UTF-8''".rawurlencode( $file->title).'.'.$file->ext.""); | |
header('Content-Transfer-Encoding: binary'); | |
header('Expires: 0'); |
<script src="/cms/external/socket.io.js"></script> | |
<script>var socket = io("http://cloud.doit-cms.ru");socket.emit("register", { userid: "75b0390c23ecef9109e66d0b352a1a66" });</script> | |
<script> | |
//бизнес логика |
Client:
var table_id = 1; // example, python will give this value
var socket = io('http://localhost:3000/table'+table_id');
socket.on('connect', function() {
console.log('Connected');
socket.emit('join', "table_"+table_id);
});
//Sample I use
socket.on('disconnect', function() {
if(typeof(socket._room) != 'undefined'){
for(key in socket._room){
if(Object.keys(io.sockets.adapter.rooms[socket._room[key]]).length == 0){
delete io.sockets.adapter.rooms[socket._room[key]];
}
}
}
delete io.sockets.adapter.rooms[socket.id];
<link rel="import" href="../topeka-elements/avatars.html"> | |
<link rel="import" href="../core-icon/core-icon.html"> | |
<link rel="import" href="../core-field/core-field.html"> | |
<link rel="import" href="../core-input/core-input.html"> | |
<link rel="import" href="../core-icons/core-icons.html"> | |
<link rel="import" href="../core-pages/core-pages.html"> | |
<link rel="import" href="../core-icon-button/core-icon-button.html"> | |
<link rel="import" href="../paper-checkbox/paper-checkbox.html"> | |
<link rel="import" href="../paper-tabs/paper-tabs.html"> | |
<link rel="import" href="../paper-tabs/paper-tab.html"> |
Готово
CREATE TABLE `pages` ( | |
`id` int(11) NOT NULL AUTO_INCREMENT, | |
`url` text, | |
`text` text, | |
`title` text, | |
`page_id` int(11) DEFAULT NULL, | |
`template` varchar(255) DEFAULT NULL, | |
`type` varchar(255) DEFAULT NULL, | |
`multi_domain` varchar(255) DEFAULT NULL, | |
`created_at` datetime DEFAULT NULL, |
Лазертаг - это каждому дают по автомату, надевают на голову датчики, и начинают играть. Одно попадание в голову - ранен, второе - убит. Восстанавливание жизни организатором на базе. Радиус поражения примерно 100 метров. Оружие точное, рикошет работает, если точный (это как-никак инфракрасный либо лазерный луч).
Сайт организатора: http://lasertag-kazan.ru/
Полигон - т.н. мэншн. Расположен на Гаврилова рядом с автошколой. Место на карте.
Из предупреждений: здание крытое, ветер не дует, но после получаса игры скорее всего все снимут куртки, так что желательно одеть свитер (летом неактуально). Поверх дают футболки цвета хаки (поверх свитеров и курток), двух разных цветов. Вообще одежда любая (и на каблуках девушки играли), но чтобы вставать на одно колено (стрелять сидя), необходимы штаны, которые не страшно запачкать/запы
▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄ | |
█ ▒▒▒▒▒▒▒▒▒▒▒▒ ▀▀▄ | |
█ ▒▒▒▒▒▒ ▒▒▒ █ | |
█ ▄██▀▄▄ ▄▄▄ █ | |
▄▀▒▄▄▄▒ █▀▀▀▀▄▄█ ██▄▄█ █ | |
█ ▒█▒▄░▀▄▄▄▀ █ ▒▒▒▒▒░█ | |
█ ▒█░█▀▄▄ █▀ ▀▄ ▄▀▀▀▄▒█ | |
█ ▀▄ █▄ █▀▄▄ ▀ ▀▀ ▄▄▀ █ █ | |
█ ▀▄▀█▄▄░█▀▀▀▄▄▄▄▀▀█▀██ █ |