alienkras Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Вобщем есть у меня в базе таблица скажем 'account' вней есть строка DONATE со значениями(поинты) как в крипте выбрать в переменную для 1ого аккаунта значение строки DONATE.@Cost1 = query_sql("select tcp_profile from `account_id` ORDER BY fame DESC LIMIT 5", .@name$, .@fame);Чтобы нцп работал со значениями строки DONAT а не с #cashpointsВот ,как то так.. Ссылка на комментарий Поделиться на другие сайты Поделиться
alienkras Опубликовано 28 мая, 2015 Автор Жалоба Поделиться Опубликовано 28 мая, 2015 (изменено) .@Cost1 = query_sql "select FROM tcp_profile SET donate_points WHERE account_id=' " +getcharid(3,strcharinfo(0))+" ' ";так правильно будет? Изменено 28 мая, 2015 пользователем alienkras Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 query_sql("SELECT donate FROM `account` WHERE `account_id` = '"+getcharid(3)+"', @points);mes "У Вас "+@points+" поинтов";close; Ссылка на комментарий Поделиться на другие сайты Поделиться
alienkras Опубликовано 28 мая, 2015 Автор Жалоба Поделиться Опубликовано 28 мая, 2015 (изменено) Есть вот такой вот скрипт!prontera,146,166,6 script Premium Account 634,{// Settings: -----------------------------query_sql("SELECT donate_points FROM `tcp_profile` WHERE `account_id` = '"+getcharid(3)+"'",@p);set .@Cost, 350; // Cash Points requiredset .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.set .@Time$, "1 month";// ---------------------------------------mes "[Premium Account]";mes "I am the Premium Account seller.";if( #PremiumUser > gettimetick(2) )mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";mes "What can I do for you?";next;// isPremium() returns 1 if the current user account is premium and it have not expired.// It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.// isPremium() is the same as #Premium_Tick > gettimetick(2)switch( select("Pay for Premium Time:About Premium Account") ){case 1:mes "[Premium Account]";if( #PremiumUser > gettimetick(2) )mes "Do you really want to extend your Premium Time?";elsemes "You do really want to convert your account to premium?";mes "Premium Time is ^FF0000" + .@Time$ + "^000000";mes "Value is ^FF0000" + .@Cost + "^000000 Cash Points.";next;if( select("Yes:No") == 2 ){mes "[Premium Account]";mes "Come back if you change your mind.";close;}if( @p < .@Cost ){mes "[Premium Account]";mes "You don't have enough Cash Points.";close;}if( #PremiumUser > gettimetick(2) )set #PremiumUser, #PremiumUser + .@Time; // Time Extensionelseset #PremiumUser, gettimetick(2) + .@Time; // New premium Accountquery_sql "UPDATE `login` SET level = '1' WHERE account_id = "+getcharid(3)+"";set #CASHPOINTS, #CASHPOINTS - .@Cost;mes "[Premium Account]";mes "Congratulations!!..";mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";next;mes "To change the status to take effect, please reenter the game.";close;case 2:// Edit this messages to explain your Users about the premium account in your server.// ----------------------------------------------------------------------------------mes "[Premium Account]";mes "With Premium Account you can:";mes "Use the commands: @mobsearch,";mes "@cast,@exp,@petrename,@where,";mes "@changeleader, @packetfilter,";mes "@autorefresh and other...";mes " ";close;}OnPCLoginEvent:if( #PremiumUser > gettimetick(2)) {// sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;// sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";}if( #PremiumUser <= gettimetick(2) ) {dispbottom "Time of Premium Account was ended or you don't pay for this.";query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";}end;}вобщем есть 2е переменных@p = значению столбца из donat_points.@Cost = 350как правильно создать выражение и получить сумму в переменную @r ?@p -= .@Cost = @r; так не получилось у меня в базу пишется 0 приquery_sql "UPDATE `tcp_profile` SET donate_points= '@r' WHERE `account_id` = '"+getcharid(3)+"'"; Изменено 28 мая, 2015 пользователем alienkras Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 вобщем есть 2е переменных@p = значению столбца из donat_points.@Cost = 350как правильно создать выражение и получить сумму в переменную @r ?set @r, @p + .@Cost;Но зачем Вам сумма? Вычитать же нужно.set @p, @p - .@Cost;query_sql "UPDATE `tcp_profile` SET `donate_points` = '" + @p + "' WHERE `account_id` = '" + getcharid(3) + "'";P.S.Названия переменным давайте адекватные. А не r, p и так далее.Для переменной p больше подходит тип scope variable. .@pЧитайте ../doc/script_commands.txt 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
alienkras Опубликовано 29 мая, 2015 Автор Жалоба Поделиться Опубликовано 29 мая, 2015 вобщем есть 2е переменных @p = значению столбца из donat_points .@Cost = 350 как правильно создать выражение и получить сумму в переменную @r ? set @r, @p + .@Cost; Но зачем Вам сумма? Вычитать же нужно. set @p, @p - .@Cost;query_sql "UPDATE `tcp_profile` SET `donate_points` = '" + @p + "' WHERE `account_id` = '" + getcharid(3) + "'"; P.S. Названия переменным давайте адекватные. А не r, p и так далее. Для переменной p больше подходит тип scope variable. .@p Читайте ../doc/script_commands.txt все заработало! Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения