OK論壇

 找回密碼
 註冊
查看: 2888|回復: 7

求问一种query_sql的具体写法

 關閉 [複製鏈接]
  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2015-2-24 16:46:08 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: 3ceam
    問題內容: 腳本問題
    本帖最後由 illuser 於 2015-2-25 09:06 AM 編輯

    比如说我希望服务器在每日中午12点的时候,自动将sql中 “global_reg_value” 这项表格中的全部个人变量 “mainline”的值变为0,应该怎么写呢?我知道可以用OnClock来规定时间,但通常OnClock只能直接更改带$前缀的全局变量,而不能联系到每个角色的个人变量,求问用query_sql是否能办到?我不太懂程序,要能办到的话是怎么写,请教一下各位脚本高人,万分感谢~
    回復

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2015-2-24 17:04:21 | 顯示全部樓層
    query_sql + update(sql) + set(sql) + where(sql) ---> 不在線上的

    query_sql + select(sql) + for(script, loop) + attachrid(script) + set(script) ----> 在線上的
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

     樓主| 發表於 2015-2-24 20:08:00 | 顯示全部樓層
    本帖最後由 illuser 於 2015-2-24 09:01 PM 編輯
    goddameit 發表於 2015-2-24 05:04 PM
    query_sql + update(sql) + set(sql) + where(sql) ---> 不在線上的

    query_sql + select(sql) + for(scr ...

    不在线的我研究出来了……
    能求问一下在线的那几个(sql)、(script)里面究竟添的是什么吗?

    举个例子,数据库起名ro、表格global_reg_value,变量名mainline,我想把变量值改成0;

    我写query_sql "select `str` for `global_reg_value` attachrid(1) set `value`= 0 ";
    服务器都会报错,显示DB error

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2015-2-25 00:18:16 | 顯示全部樓層
    illuser 發表於 2015-2-24 08:08 PM
    不在线的我研究出来了……
    能求问一下在线的那几个(sql)、(script)里 ...

    一個表示這是sql語法, 一個表示這是RO腳本語法
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2020-5-9 12:35 PM
  • 簽到天數: 987 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2015-2-25 00:19:46 | 顯示全部樓層
    1. query_sql( "UPDATE `global_reg_value` SET `value` = 0 WHERE `str` = 'mainline' " );
    2. query_sql( "SELECT `account_id` FROM `char` WHERE `online` = 1",.@aid );
    3. .@aid_size = getarraysize( .@aid );
    4. while ( .@i < .@aid_size ) {
    5.         if ( attachrid( .@aid[.@i] ) ) {
    6.                 mainline = 0;
    7.         }
    8.         .@i++;
    9. }
    10. detachrid;
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

     樓主| 發表於 2015-2-25 09:01:47 | 顯示全部樓層
    emistry 發表於 2015-2-25 12:19 AM

    &#36825;&#20010;&#33050;本在EA上貌似有&#28857;&#38382;&#39064;,原本复制&#36827;去的&#35805;,服&#21153;器&#20250;出&#29616;以下&#25253;&#38169;:

    但如果&#23558;   .@i++ 改成 set .@i,0; &#25253;&#38169;就成&#20026;“run_script:infinity loop”;
    如果&#23558;  .@i++ 改成set .@i,.@i,+1; &#25253;&#38169;成&#20026;"script_rid2sd: fatal error! player not attached";

    原&#35845;我&#23545;.@i&#36825;种用法完全不懂,能&#35831;教下&#36825;是怎么回事&#21527;?

    本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有帳號?註冊

    x
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    郁悶
    2015-2-17 09:48 AM
  • 簽到天數: 64 天

    連續簽到: 1 天

    [LV.6]常住居民II

     樓主| 發表於 2015-2-25 09:06:15 | 顯示全部樓層
    emistry 發表於 2015-2-25 12:19 AM

    啊,我知道怎么改了,&#23558;detachrid;放到括&#21495;里面就行了!非常感&#35874;,你太&#28909;心了!{:soso_e179:}
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2018-1-18 03:10 PM
  • 簽到天數: 189 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2015-2-25 23:50:29 | 顯示全部樓層
    本帖最後由 盧卡斯 於 2015-2-25 11:58 PM 編輯
    1. query_sql( "UPDATE `global_reg_value` SET `value` = 0 WHERE `str` = 'mainline' " );
    2. script4each "{ mainline = 0; }",0;
    複製代碼
    如果你沒有script4each,
    樓上的寫法只能對128個在線玩家做到效果.
    1. query_sql( "UPDATE `global_reg_value` SET `value` = 0 WHERE `str` = 'mainline' " );
    2. .@n = query_sql( "SELECT `account_id` FROM `char` WHERE `online` = 1" );

    3. for(.@i=0; .@i<.@n/100; .@i++){
    4.       query_sql( "select `account_id` from `char` where `online` = 1 order by `account_id` limit 100 offset "+.@i*100, .@aid );
    5.       for(.@j=0; .@j<getarraysize(.@aid); .@j++){
    6.             attachrid(.@aid[.@j]);
    7.             mainline = 0;
    8.             deattachrid;
    9.       }
    10. }
    複製代碼
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-4-27 03:09 AM , Processed in 0.053063 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表