Nezdeshniy Опубликовано 21 августа, 2012 Жалоба Поделиться Опубликовано 21 августа, 2012 Итак уважаемые знатоки, прошу вашей помощи, сам уже несколько дней ломаю голову...После убийства игрока необходимо выполнить действие, причем действие должно произойти только, если гильдии убившего и убитого одинаковы, каким макаром сравнить их гильдии ? В скрипте все построено через getcharid , killedrid...Для того кто убил понятно что будет if (getcharid(2), а вот как быть с тем кого убили как в сравнение добавить значение его гильдии... Ссылка на комментарий Поделиться на другие сайты Поделиться
Renegade Bastard Опубликовано 21 августа, 2012 Жалоба Поделиться Опубликовано 21 августа, 2012 выбрать id гильдии через SQL, присвоить переменной, сравнить переменные. Ссылка на комментарий Поделиться на другие сайты Поделиться
Nezdeshniy Опубликовано 22 августа, 2012 Автор Жалоба Поделиться Опубликовано 22 августа, 2012 Что не так написал??if (getcharid(2) == (query_sql("SELECT `guild_id` FROM `char` WHERE `char_id` = killedrid"))){} Ссылка на комментарий Поделиться на другие сайты Поделиться
Incubus Опубликовано 22 августа, 2012 Жалоба Поделиться Опубликовано 22 августа, 2012 Сохраняем ид гильдии убийцыSet .id, getcharid(2);дальше приаттачиваешь убитогоattachrid(killedrid);и сравниваешьif( getcharid(2) == .id).... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 22 августа, 2012 Жалоба Поделиться Опубликовано 22 августа, 2012 (изменено) выбрать id гильдии через SQL, присвоить переменной, сравнить переменные. Не пишите глупости. Зачем брать из базы то, что уже было из нее взято ранее и поддерживается в актуальном состоянии? Так же, когда персонаж принимает гильдию, значение в БД обновляется не моментально. Nezdeshniy, используйте: attachrid(killedrid); А дальше уже знакомыми Вам методами. ------ Incubus опередил Set .id, getcharid(2); Не столь важно, но я бы использовал переменную типа ".@" Изменено 22 августа, 2012 пользователем Functor 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Nezdeshniy Опубликовано 22 августа, 2012 Автор Жалоба Поделиться Опубликовано 22 августа, 2012 Спасибо, помолго. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 23 августа, 2012 Жалоба Поделиться Опубликовано 23 августа, 2012 Не столь важно, но я бы использовал переменную типа ".@"А разве она не уничтожится при аттаче другого персонажа? Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 23 августа, 2012 Жалоба Поделиться Опубликовано 23 августа, 2012 Конечно нет. А с чего бы ей уничтожатся? ".@" - A scope variable. They are unique to the instance and scope. Each instance has it's own scope that ends when the script ends. Calling a function with callsub/callfunc starts a new scope, returning from the function ends it. When a scope ends, it's variables are converted to values ('return .@var;' returns a value, not a reference). Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения