廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2515 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
z2352671213
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
小人物
級別: 小人物 該用戶目前不上站
推文 x10 鮮花 x47
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[1.6][模組] 大神快來幫我看看這個源碼為什麼錯了!!感激不盡!!
複製程式
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <sqlx>
#include <zombieplague>


#define PLUGIN    "SIGN IN SYSTEM"
#define VERSION    "1.0"
#define AUTHOR    "NAG"
#define LOADING    "^n^t%s v%s, Copyright (C) 2014 by %s^n"

new Handle:g_SqlTuple;
new g_Error[512];

new g_SetAllow[33];

new g_host[33];
new g_user[33];
new g_pass[33];
new g_dbname[33];
new g_tabname[33];
new g_retryonce[33];
new Handle:g_Sql = Empty_Handle
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    server_print(LOADING,PLUGIN,VERSION,AUTHOR);
    register_forward(FM_ClientUserInfoChanged, "fwdClientUserInfoChanged");
    
    register_cvar("amx_sql_host", "127.0.0.1");
    register_cvar("amx_sql_user", "");
    register_cvar("amx_sql_pass", "");
    register_cvar("amx_sql_db", "");
    register_cvar("amx_sql_table", "");

    register_clcmd("say /qiandao","sign_say",ADMIN_ALL,"读取玩家说的话")

    new configsDir[64];
    get_configsdir(configsDir, 63);
    server_cmd("exec %s/sql.cfg", configsDir);
    server_exec();
}

public plugin_cfg()
{
    get_cvar_string("amx_sql_host",g_host,32);
    get_cvar_string("amx_sql_user",g_user,32);
    get_cvar_string("amx_sql_pass",g_pass,32);
    get_cvar_string("amx_sql_db",g_dbname,32);
    get_cvar_string("amx_sql_table",g_tabname,32);
    MySql_Init();
}

public MySql_Init()
{
    g_SqlTuple = SQL_MakeDbTuple(g_host,g_user,g_pass,g_dbname);
    new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error));
    if(SqlConnection == Empty_Handle)
        set_fail_state(g_Error);
    
    new Handle:Queries;
    Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS %s (date int(30),name varchar(64), state varchar(64))", g_tabname);
    if(!SQL_Execute(Queries))
    {
        SQL_QueryError(Queries,g_Error,charsmax(g_Error));
        set_fail_state(g_Error);
    }
    SQL_FreeHandle(Queries);
    SQL_FreeHandle(SqlConnection);
}


public plugin_end()
    SQL_FreeHandle(g_SqlTuple);


public sign_say(id){
    new ErrorCode,Handle:SqlConnectionc = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error));
    new username[64]
    new timed[9]
    new xyb
    xyb = random_num(10,100)
    get_time("%m%d%Y",timed,8) 
    get_user_name(id,username,63)
    if(is_user_connected(id))
    {


    new chaxun;
    chaxun = SQL_QueryAndIgnore(SqlConnectionc,"SELECT * FROM  %s WHERE date = %d AND name = %s", g_tabname, str_to_num(timed) ,username[id]);


    if(chaxun == 0){
        SQL_QueryAndIgnore(SqlConnectionc,"INSERT INTO %s SET date = %d , name = %s, state = 'on'", g_tabname, str_to_num(timed) ,username[id])

        client_print(0,print_chat,"【元朝天尊每日签到】玩家[%s]签到成功,获得%d天尊币随机奖励!",username[id],xyb)
        zp_set_user_ammo_packs(id,zp_get_user_ammo_packs(id) + xyb)
    }
    else
    {
        client_print(id,print_chat,"【元朝天尊每日签到】您今日已经签过到了,赶明儿再来签到吧!")

    }


    SQL_FreeHandle(chaxun) ;

}

}

我寫的這個插件,不過在遊戲中一說/qiandao,馬上服務器就崩潰了,求破。。!


[ 此文章被z2352671213在2014-02-09 16:10重新編輯 ]



獻花 x0 回到頂端 [樓 主] From:未知地址 | Posted:2014-02-09 16:00 |
Nailaz 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 創作大師獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x77 鮮花 x254
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

读取玩家说的话
改成英文試看看..


web front-end and software engineer.
獻花 x0 回到頂端 [1 樓] From:臺灣中華電信股份有限公司 | Posted:2014-02-09 18:38 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 z2352671213 於 2014-02-09 16:00 發表的 大神快來幫我看看這個源碼為什麼錯了!!感激不盡!!: 到引言文
.......
我只寫過VB的SQL…所以不是很清楚AMXX的SQL…
不過…我看了<sqlx.inc>裡的 SQL_QueryAndIgnore …
說明不是說:
複製程式
/**
 * Use this for executing a query and not caring about the error.
 * Returns -1 on error, >=0 on success (with number of affected rows)
 */
可是你的邏輯是 if(chaxun == 0) …
這樣不會有問題嗎…?


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [2 樓] From:臺灣中華電信股份有限公司 | Posted:2014-02-09 19:40 |
z2352671213
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
小人物
級別: 小人物 該用戶目前不上站
推文 x10 鮮花 x47
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 a7811311622 於 2014-02-09 19:40 發表的 : 到引言文

我只寫過VB的SQL…所以不是很清楚AMXX的SQL…
不過…我看了<sqlx.inc>裡的 SQL_QueryAndIgnore …
說明不是說:
複製程式
/**
 * Use this for executing a query and not caring about the error.
 * Returns -1 on error, >=0 on success (with number of affected rows)
 */
可是你的邏輯是 if(chaxun == 0) …
這樣不會有問題嗎…?

謝了。確實是-1

再問一下,為什麼用get_user_name獲取的玩家ID,保存到SQL裏都變成亂碼了?而且玩家的ID有時候獲取出來是空的。怎麼回事


獻花 x0 回到頂端 [3 樓] From:美國 | Posted:2014-02-09 20:08 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 z2352671213 於 2014-02-09 20:08 發表的 : 到引言文


謝了。確實是-1

再問一下,為什麼用get_user_name獲取的玩家ID,保存到SQL裏都變成亂碼了?而且玩家的ID有時候獲取出來是空的。怎麼回事
有試過SMA存成UTF-8嗎?
如果你的玩家名字是中文的…可能會出問題吧…
不知道AMXX能否正確存取中文…


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [4 樓] From:臺灣中華電信股份有限公司 | Posted:2014-02-09 21:27 |
85607417
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x5 鮮花 x15
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

圖 1.

圖 2.

圖 3.



SQL裡面亂碼,但只要PHP能正常顯示就可以
如果是空的,應該是保存方式有問題,編碼統一用utf8
http://imgur.com/t6Lev...u,jSDGlO6


獻花 x0 回到頂端 [5 樓] From:臺灣中華電信股份有限公司 | Posted:2014-02-20 01:45 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.058492 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言