Перейти к содержанию

Kubix!

Donators
  • Постов

    1,416
  • Зарегистрирован

  • Посещение

  • Победитель дней

    182

Весь контент Kubix!

  1. Чота я твой коммент почитал и не увидел кому ты там отвечаешь, подумал что ТоС закрыли xD
  2. Kubix!

    Ошибка FluxCP

    Unknown column 'login.group_id' in 'where clause' ни что не говорит? нет group_id колонки в таблице login, в базе.
  3. Не получится, в rA нету queue команд. А переносить их - геморрой.
  4. Kubix!

    Queue Battlegrounds

    Привет! Переписал BG с еАмода под Hercules. Github: https://github.com/kubixservice/QueueBG Будут вопросы - пишите.
  5. Тогда пиши в скуп, в профиле есть.
  6. Так тебе кнопку кэш шопа изменить над или просто магазин новый поставить? Если кнопку, то (для геркулеса) : hercules/src/map/clif.c ищи void clif_parse_CashShopOpen(int fd, struct map_session_data *sd) { и после : if (map->list[sd->bl.m].flag.nocashshop) { clif->messagecolor_self(fd, COLOR_RED, msg_fd(fd,1489)); //Cash Shop is disabled in this map return; } добавь: if( sd->group_id < 1) { clif->messagecolor_self(fd, COLOR_RED, "Group id is too low."); return; } хз заработает ли, не проверял. Цифру 1 измени на желаемый гм лвл.
  7. нет, как и русских серверов реневала)
  8. Kubix!

    mentalro

    А что хочет? Можно пруфов?
  9. Никого не хочу обидеть, но, блин, нравится же вам сидеть на старье (еА 2010 года, ехешники 1999 и тп) и искать 100500 костылей и обходов той или иной проблемы, и ведь только потому, что на этом старье сидит 00.1% человек от всего коммьюнити, которые даже не задумываются об этом всем. Легче ведь просто перенести все на новый эмуль и не парится. Никто уже не работает с еА практически. Хотя мб я не прав. Это я так, просто к слову )
  10. Они и не должны сохраняться. OnPCLoginEvent: atcommand "@autoloot 100"; end;
  11. // ALTER TABLE `daily_bonus` ADD `blocked` smallint(1) NOT NULL DEFAULT '0' - script Bonus_DailyDB -1,{ OnPCLoginEvent: if(#daily_bonus_block == 2) end; if(!#daily_bonus_block) { query_sql("SELECT last_ip, last_unique_id FROM `login` WHERE `account_id` = '"+getcharid(3)+"'", .@ip$, .@id$); query_sql("SELECT unique_id, ip FROM `daily_bonus` WHERE `unique_id`= '"+.@id$+"' OR `ip` = '"+.@ip$+"'", .@id_check$, .@ip_check$); // На всякий случай ---------- if(.@ip$ == "" || .@id$ == "" || .@id_check$ != "" || .@ip_check$ != "") callfunc("Bonus_Block", getcharid(3)); // --------------------------- query_sql("INSERT INTO `daily_bonus` (`unique_id`,`ip`,`account_id`,`day`,`blocked`) VALUES ('"+.@id$+"', '"+.@ip$+"', '"+getcharid(3)+"', '1', '0')"); #daily_bonus_block = 1; message strcharinfo(0), "Система Ежедневных наград активирована!"; #day ++; setd "#day_" + getcharid(3), #day; callfunc("Bonus_DB", getd("#day_" + getcharid(3)), getcharid(3), 0); end; } else if(#daily_bonus_block == 1) { query_sql("SELECT login.account_id, login.last_ip, login.last_unique_id, daily_bonus.unique_id, daily_bonus.ip, daily_bonus.account_id, daily_bonus.blocked FROM `daily_bonus` LEFT JOIN `login` ON login.account_id = daily_bonus.account_id WHERE daily_bonus.account_id = '"+getcharid(3)+"'", .@laid, .@lip$, .@lid$, .@id$, .@ip$, .@aid, .@block); if(getarraysize(.@id$) > 1 || getarraysize(.@ip$) > 1) callfunc("Bonus_Block", getcharid(3)); callfunc("Daily_Check", .@lip$, .@lid$, .@ip$, .@id$); if(getd("#day_" + getcharid(3)) == 0) setd "#day_" + getcharid(3), 1; callfunc("Bonus_DB", getd("#day_" + getcharid(3)), .@aid, .@block); end; } } function script Daily_Check { if(getarg(0) != getarg(2)) callfunc("Bonus_Block", getcharid(3)); if(getarg(1) != getarg(3)) callfunc("Bonus_Block", getcharid(3)); return; } function script Bonus_Block { if(!getarg(0)) end; query_sql("UPDATE `daily_bonus` SET `blocked` = '1' WHERE `account_id` = '"+getarg(0)+"'"); #daily_bonus_block = 2; message strcharinfo(0), "Вы были заблокированы в системе Ежедневных наград!"; end; } function script Bonus_DB { // arg(0) -> day // arg(1) -> acc_id // arg(2) -> blocked? if(getarg(0) > 31 || getarg(2) == 1) return; if(!getarg(0) || !getarg(1)) return; .@bonus_prize = .@amount_prize = .@switch_days = 0; if(getd("#delay_bonus_" + getarg(1)) > gettimetick(2)) return; if(getd("#day_" + getarg(1)) == 0) setd "#day_" + getarg(1), 1; set .@switch_days, getd("#day_" + getarg(1)); switch(.@switch_days) { case 0: return; case 1: .@bonus_prize = 14545; .@amount_prize = 1; break; case 2: .@bonus_prize = 12214; .@amount_prize = 1; break; case 3: .@bonus_prize = 12210; .@amount_prize = 1; break; case 4: .@bonus_prize = 7621; .@amount_prize = 1; break; case 5: .@bonus_prize = 7539; .@amount_prize = 10; break; case 6: .@bonus_prize = 12103; .@amount_prize = 1; break; case 7: .@bonus_prize = 6241; .@amount_prize = 1; break; case 8: .@bonus_prize = 6240; .@amount_prize = 1; break; case 9: .@bonus_prize = 7621; .@amount_prize = 2; break; case 10: .@bonus_prize = 14170; .@amount_prize = 1; break; case 11: .@bonus_prize = 14169; .@amount_prize = 1; break; case 12: .@bonus_prize = 12214; .@amount_prize = 3; break; case 13: .@bonus_prize = 7539; .@amount_prize = 30; break; case 14: .@bonus_prize = 12103; .@amount_prize = 3; break; case 15: .@bonus_prize = 14154; .@amount_prize = 1; break; case 16: .@bonus_prize = 675; .@amount_prize = 30; break; case 17: .@bonus_prize = 671; .@amount_prize = 200; break; case 18: .@bonus_prize = 7621; .@amount_prize = 5; break; case 19: .@bonus_prize = 6226; .@amount_prize = 1; break; case 20: .@bonus_prize = 6225; .@amount_prize = 1; break; case 21: .@bonus_prize = 12214; .@amount_prize = 5; break; case 22: .@bonus_prize = 12103; .@amount_prize = 2; break; case 23: .@bonus_prize = 7539; .@amount_prize = 50; break; case 24: .@bonus_prize = 7828; .@amount_prize = 50; break; case 25: .@bonus_prize = 7829; .@amount_prize = 50; break; case 26: .@bonus_prize = 7773; .@amount_prize = 50; break; case 27: .@bonus_prize = 675; .@amount_prize = 50; break; case 28: .@bonus_prize = 671; .@amount_prize = 400; break; case 29: .@bonus_prize = 12103; .@amount_prize = 3; break; case 30: .@bonus_prize = 22721; .@amount_prize = 1; break; case 31: .@bonus_prize = 12246; .@amount_prize = 1; break; } if(.@bonus_prize && .@amount_prize) getitem .@bonus_prize, .@amount_prize; setd "#delay_bonus_" + getarg(1), gettimetick(2) + 86400; message strcharinfo(0), "Система Ежедневных наград: День - "+getd("#day_" + getarg(1))+". Вы получили "+getitemname(.@bonus_prize)+", "+.@amount_prize+"шт."; #day ++; setd "#day_" + getarg(1), #day; return; } на гитхабе потерял.
  12. Для Hercules. Команда присоединяет игрока к BG Team (bg_id) и варпает его на нужные координаты. Как использовать: если у Вас бг с очередями, можно легко после старта бг закинуть на локу еще одного игрока и добавить его в бг команду нужную. Возвращает 0 если : не удалось присоединиться к БГ команде. Возвращает 1 если все ОК. OnInit: массивы с локами и координатами ; .Index = 1; $@Guill_BG = bg_create_team( .BG_Map$[ .Index ], .BG_GuillX[ .Index ], .BG_GuillY[ .Index ], .BG_Arena$[ .Index ] + "::OnGuillameQuit", .BG_Arena$[ .Index ] + "::OnGuillameDie" ); end; OnJoin: if( Guillame ) bg_single($@Guill_BG, .BG_Map$[ .Index ], .BG_GuillX[ .Index ], .BG_GuillY[ .Index ]); else bg_single( данные второй команды ); BUILDIN(bg_single) { const char* map_name; struct map_session_data *sd; int x, y, map_index, bg_id; sd = script->rid2sd(st); if( sd == NULL ) return true; bg_id = script_getnum(st,2); map_name = script_getstr(st,3); if( (map_index = script->mapindexname2id(st,map_name)) == 0 ) return true; x = script_getnum(st,4); y = script_getnum(st,5); if( bg->team_join(bg_id, sd) ) { pc->setpos(sd, map_index, x, y, CLR_TELEPORT); script_pushint(st,1); } else script_pushint(st,0); return true; } BUILDIN_DEF(bg_single,"isii"),
  13. А зачем ты на луа жалуешься, если ты поставил взятие квеста после входа в игру если уровень <= 7 и one1 <= 0 и job == 0
  14. Kubix!

    party_destroy();

    Опять таки под Hercules. На эту уже понадобилось больше времени:< Остальные попозже переделаю, там вообще много работы. ( для меня ) *party_destroy(<party id>); Disbands a party. The command returns 1 upon success and 0 upon failure. BUILDIN(party_destroy) { int i; struct party_data *partys; if( !(partys = party->search(script_getnum(st,2))) ) { script_pushint(st,0); return false; } ARR_FIND(0,MAX_PARTY,i,partys->party.member[i].leader); if( i >= MAX_PARTY || !partys->data[i].sd ) { //leader not online int j; for( j = 0; j < MAX_PARTY; j++ ) { TBL_PC *sd = partys->data[j].sd; if(sd) party->member_withdraw(partys->party.party_id,sd->status.account_id,sd->status.char_id); else if( partys->party.member[j].char_id ) intif->party_leave(partys->party.party_id,partys->party.member[j].account_id,partys->party.member[j].char_id); } party->broken(partys->party.party_id); script_pushint(st,1); } else //leader leave = party broken script_pushint(st,party->leave(partys->data[i].sd)); return true; } BUILDIN_DEF(party_destroy,"i"),
×
×
  • Создать...
Яндекс.Метрика