CakeGame论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1430|回复: 3

[官方] CakeGameSDK

[复制链接]

26

主题

56

帖子

784

积分

管理员

积分
784
发表于 2018-2-14 23:15:13 | 显示全部楼层 |阅读模式
如果您懂得编程并热爱开发扩展,我们欢迎您下载SDK并参与CakeGame二次开发,开发组QQ群号:99871984目前已有的SDK版本有:EL,VC++

CakeGameSDK C++:https://gitee.com/smallcake/cgSdk/tree/master

CGAPI(2018-7-15更新):cgapi.h
  1. <blockquote>/*
复制代码
cgSdk_demo.cpp
  1. /*
  2. * CakeGame SDK for VC++
  3. * Api Version 12.3
  4. * Written by SmallCake
  5. */
  6. #include "stdafx.h"
  7. #include "cgapi.h"

  8. using namespace std;

  9. string lastUid;
  10. int ExtAuthCode;

  11. /*
  12.         _AuthCode
  13.         用于获取扩展的AuthCode,禁止在此函数进行其它操作
  14. */
  15. CGEvent(int, __AuthCode, 4)(int AuthCode)
  16. {
  17.         ExtAuthCode = AuthCode;
  18.         return 0;
  19. }

  20. /*
  21.         _info_ext
  22.         用于返回扩展基本信息
  23. */
  24. CGEvent(const char *, __info_ext, 0)()
  25. {
  26.         CGSDK::CGJson result;
  27.         result.update_item("apiVersion", Version);
  28.         result.update_item("ext_name", "CGSDK_DEMO");
  29.         result.update_item("function", "测试_cgSdkInfo,_menu_test_cgSdk|测试_取背包物品,_menu_test_knapsack");
  30.         result.update_item("Event_ReceivedMsg", "_ext_event_ReceivedMsg");
  31.         result.update_item("Event_ReceivedMsg_NT", "_ext_event_ReceivedMsg_NT");
  32.         result.update_item("Event_TriggerFunction", "_ext_event_trigger");
  33.         result.update_item("Event_Start", "_ext_event_start");
  34.         result.update_item("Event_Suspend", "_ext_event_suspend");
  35.         result.update_item("Event_AttributeChange", "_ext_event_AttributeChange");
  36.         result.update_item("Event_GamePlayerDied", "_ext_event_GamePlayerDied");
  37.         result.update_item("Event_Upgrade", "_ext_event_Upgrade");
  38.         result.update_item("Event_KillMonster", "_ext_event_KillMonster");
  39.         result.update_item("Event_ForcedCombat", "_ext_event_ForcedCombat");
  40.         result.update_item("Event_AnalysisVariable", "_ext_event_AnalysisVariable");
  41.         return result.get_cgjson();
  42. }

  43. /*
  44.         _info_function
  45.         用于返回扩展功能信息
  46. */
  47. CGEvent(const char *, __info_function, 0)()
  48. {
  49.         CGSDK::CGJson ret;
  50.         ret.update_item("演示_发送私聊", "发送私聊|_demo_function1");
  51.         return ret.get_cgjson();
  52. }

  53. /*
  54.         _ext_close
  55.         关闭时调用此函数
  56. */
  57. CGEvent(void, __ext_close, 0)()
  58. {
  59.         
  60. }

  61. /*
  62.         _demo_function1
  63.         这是一个消息回调函数,对应_info_function返回信息中的"演示_发送私聊"
  64. */
  65. CGEvent(const char *, __demo_function1, 16)(const char *msg, const char *type, const char *fromGroup, const char *fromUser)
  66. {
  67.         //参数1<msg> 返回的消息
  68.         //参数2<type> 消息类型(1为好友消息 2为群消息 3为讨论组消息)
  69.         //参数3<fromGroup> 来源群号|讨论组号(群消息为群号,来源为讨论组为讨论组号,其他为空)
  70.         //参数4<fromUser> 来源用户
  71.         string result;
  72.         result = _judge_usable_function("演示_发送私聊", fromUser, fromGroup);
  73.         if (result != "")
  74.         {
  75.                 return CGSDK::str2char(result);
  76.         }
  77.         result = CGSDK::GetMessagePrefix();//GetMessagePrefix获取消息前缀
  78.         if (msg == NULL) {
  79.                 result = result + "请输入参数(对方QQ-发送消息)!";
  80.                 return CGSDK::str2char(result);
  81.         }
  82.         vector<string>data = CGSDK::splitWithStl(msg, "-");
  83.         if (data.size() != 2)
  84.         {
  85.                 result = result + "\n参数格式错误,正确的应为(对方QQ-发送消息)!";
  86.                 return CGSDK::str2char(result);
  87.         }
  88.         CGSDK::SendMsg("4", CGSDK::str2char(data[0]), CGSDK::str2char(data[1]), CGSDK::str2char(data[0]));//发送私聊信息
  89.         result = result + "\n您已向" + data[0] + "私聊发送了一条信息!";
  90.         return CGSDK::str2char(result);
  91. }

  92. /*
  93.         _ext_event_trigger
  94.         玩家触发功能时触发
  95. */
  96. CGEvent(const char *, __ext_event_trigger, 16)(const char *handle, const char *type, const char *fromGroup, const char *fromUser)
  97. {
  98.         //参数:共有四个文本参数,1.处理句柄,2.消息类型,3.来源群号,4.来源用户
  99.         lastUid = string(fromUser);
  100.         return "";//返回空文本表示继续执行,否则直接输出返回的文本
  101. }

  102. /*
  103.         _ext_event_start
  104.         当CakeGame被启用时触发此函数
  105. */
  106. CGEvent(void, __ext_event_start, 0)()
  107. {

  108. }

  109. /*
  110.         _ext_event_suspend
  111.         当CakeGame被停用时触发此函数(退出时不会调用此函数)
  112. */
  113. CGEvent(void, __ext_event_suspend, 0)()
  114. {

  115. }

  116. /*
  117.         _ext_event_AttributeChange
  118.         当玩家的属性发生变化时触发,对应玩家属性表属性
  119. */
  120. CGEvent(void, __ext_event_AttributeChange, 12)(const char *fromUser, const char *Node, const char *Val)
  121. {
  122.         //参数:共有三个文本参数,1.来源用户,2.被修改的属性,3.修改后的属性值
  123. }

  124. /*
  125.         _ext_event_GamePlayerDied
  126.         玩家死亡时触发此函数
  127. */
  128. CGEvent(void, __ext_event_GamePlayerDied, 12)(const char *fromUser, const char *object, const char *isUser)
  129. {
  130.         //参数:共有三个文本参数,1.来源用户,2.目标名称(玩家时为ID),3.是否被玩家击杀(如果时被玩家击杀值为"TRUE")
  131. }

  132. /*
  133.         _ext_event_Upgrade
  134.         玩家升级时触发此函数
  135. */
  136. CGEvent(void, __ext_event_Upgrade, 4)(const char *fromUser)
  137. {
  138.         //参数:共有一个文本型参数,1.来源用户
  139. }

  140. /*
  141.         _ext_event_KillMonster
  142.         玩家击杀怪物时触发此函数
  143. */
  144. CGEvent(void, __ext_event_KillMonster, 8)(const char *fromUser, const char *mName)
  145. {
  146.         //参数:共有两个文本参数,1.来源用户,2.击杀目标
  147. }

  148. /*
  149.         _ext_event_ForcedCombat
  150.         玩家被进入强制战斗时触发此函数
  151. */
  152. CGEvent(void, __ext_event_ForcedCombat, 8)(const char *fromUser, const char *mName)
  153. {
  154.         //参数:共有两个文本参数,1.来源用户,2.怪物名称
  155. }

  156. /*
  157.         _ext_event_ReceivedMsg
  158.         事件_收到信息 所有消息接收后以一时间触发本事件
  159. */
  160. CGEvent(const char *, __ext_event_ReceivedMsg, 16)(const char *type, const char *fromQQ, const char *fromGroup, const char *Msg)
  161. {
  162.         //参数:共有四个参数:1.消息类型, 2.来源用户, 3.来源群号, 4.消息内容
  163.         return "";
  164. }

  165. /*
  166.         _ext_event_ReceivedMsg_NT
  167.         事件_忽略信息 未处理的所有消息
  168. */
  169. CGEvent(const char *, __ext_event_ReceivedMsg_NT, 16)(const char *type, const char *fromQQ, const char *fromGroup, const char *Msg)
  170. {
  171.         //参数:共有四个参数:1.消息类型, 2.来源用户, 3.来源群号, 4.消息内容
  172.         return "";
  173. }

  174. /*
  175.         _ext_event_AnalysisVariable
  176.         CakeGame处理变量时触发此函数
  177. */
  178. CGEvent(const char *, __ext_event_AnalysisVariable, 16)(const char *User, const char *Data, const char *OriginalData, const char *type)
  179. {
  180.         //参数:共有四个文本参数,1.处理用户,2.处理数据,3.处理原数据(CakeGame处理前的数据),4.类型(“start”为CakeGame开始处理前,“end”为CakeGame处理后)
  181.         string result;
  182.         result = string(Data);
  183.         //**********开始编写处理程序**********
  184.         if (string(type) == "start") {
  185.                 //CakeGame处理前
  186.         }
  187.         if (string(type) == "end") {
  188.                 //CakeGame处理后
  189.         }
  190.         //**********END**********
  191.         return CGSDK::str2char(result);
  192. }

  193. /*
  194.         _menu_test_cgSdk
  195.         菜单函数
  196. */
  197. CGEvent(void, __menu_test_cgSdk, 0)()
  198. {
  199.         MessageBoxA(0, "CakeGame SDK(C++) 12.3 By SmallCake", "Info:", 64);
  200. }

  201. /*
  202.         _menu_test_knapsack
  203.         菜单函数
  204. */
  205. CGEvent(void, __menu_test_knapsack, 0)()
  206. {
  207.         MessageBoxA(0, _get_knapsack_all_cgjson(CGSDK::str2char(lastUid), false), "Test:", 64);
  208. }
复制代码



CGSDK(VC++)_DEMO11.1.zip

36 KB, 下载次数: 36, 下载积分: 仙豆 -5

CGSDK(EL)11-1.9.zip

1.16 MB, 下载次数: 73, 下载积分: 仙豆 -5

0

主题

17

帖子

28

积分

LV1_平凡塑料

Rank: 1

积分
28
发表于 2018-8-13 16:54:10 | 显示全部楼层
有易语言的吗
回复

使用道具 举报

0

主题

10

帖子

24

积分

LV1_平凡塑料

Rank: 1

积分
24
发表于 2018-8-22 14:29:59 | 显示全部楼层
好厉害啊
回复

使用道具 举报

0

主题

9

帖子

16

积分

LV1_平凡塑料

Rank: 1

积分
16
发表于 2018-11-6 16:44:18 来自手机 | 显示全部楼层
look 发表于 2018-8-13 16:54
有易语言的吗

el的就是咯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|CakeGame

GMT+8, 2018-12-10 19:30 , Processed in 0.169426 second(s), 10 queries , File On.

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表