赞 | 97 |
VIP | 0 |
好人卡 | 1 |
积分 | 76 |
经验 | 10334 |
最后登录 | 2024-6-22 |
在线时间 | 1227 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 7612
- 在线时间
- 1227 小时
- 注册时间
- 2008-12-14
- 帖子
- 555
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
看到有朋友问,还是回答一下,希望论坛有各路大神来拽脚本,每天打开论坛有新收获,哈。
首先,能不能用变量存数组,答案是能。
但以前不知道怎么存,那我是怎么存的?我用字符串存,比如说 1,2,3,4,5 五个数,要存入一个变量,我会把他弄成 1+‘,’+2 +‘,’+3+‘,’+4 +‘,’+5。这样就成了一个长字符串‘1,2,3,4,5’
变量里就存这个,存完了了取出来,再根据str.split(","),直接还原出一个数组。再任意使用。
我的插件LCK_AutoBackOldMap.js里有这种写法的运用,不知道可以看看。85行,111行。
**************************************************************************************************
那么能不能直接往变量存数组?答案也是可以的。
这样做:
$gameVariables.setValue(44, []);
$gameVariables.value(44).push(5);
$gameVariables.value(44).push(6);
这样就存好了,相当于往44号变量存入了一个数组,又往数组存了两个元素,一个是5,一个是6.
好,现在我要得到这两个元素,怎么得到?
$gameVariables.value(44)[0] → 5;
$gameVariables.value(44)[1] → 6;
我们会发现,这样的数组只适合遍历,不适合快速定位。
所以如果需要快速找到元素,最好是用字典。
那么,这么写:
$gameVariables.setValue(44, []);
$gameVariables.value(44)[5] = 55;
$gameVariables.value(44)[7] = 77;
这样做好以后,取的时候,就写$gameVariables.value(44)[7],取出的就是77
********************************************************************************************************************
最后还有一种办法,是我使用比较多的,直接用脚本写,存在各个已有类里面,这里不讨论了。
如果以上都看不懂,说明基础语言知识还是不够,需要锻炼。但我上面讲的算详细,复制粘贴应该也能用了。
最近在研究chrono敌人的AI,还没找到方法改,有知道的大咖请告知,谢谢。
|
|