OK論壇

 找回密碼
 註冊
查看: 1491|回復: 3

function中引用array該如何呼叫

[複製鏈接]
  • TA的每日心情
    難過
    2018-1-13 10:01 PM
  • 簽到天數: 232 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2017-1-23 16:22:33 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: EA14729
    問題內容: 腳本問題
    本帖最後由 Foreverperson 於 2017-1-23 08:45 PM 編輯

    大家好,
    1. prontera.gat,150,178,4        script        test        120,{        


    2. setarray @copyarray[0],1,6,7,8,0,0;

    3. set @t,4;


    4. callfunc "arraytest","@copyarray";

    5. end;

    6. }





    7. function        script        arraytest        {


    8. setarray @replace_array[0],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;


    9. for (set @o,0;@o<4;set @o,@o+1)
    10. {
    11.   set @replace_array[@o],getd("getarg(0)"+"["+@o+"]");
    12.   announce ""+@replace_array[@o]+"",15;
    13. }


    14. }
    複製代碼
    想問 function如何在引入array的情況下將其呼叫出來,就是說getarg(0) 如何讓他顯示為變數名稱,
    或者有其他方法將 @ copyarray在函數中複製到 @ replace_array

    謝謝各位大大!



    回復

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2017-1-23 19:16:52 | 顯示全部樓層
    getelementofarray(getarg(0),@o);
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    難過
    2018-1-13 10:01 PM
  • 簽到天數: 232 天

    連續簽到: 1 天

    [LV.7]常住居民III

     樓主| 發表於 2017-1-23 20:44:38 | 顯示全部樓層
    o03126 發表於 2017-1-23 07:16 PM
    getelementofarray(getarg(0),@o);

    太感謝您的幫忙,對許多語法很不熟悉

    問題已解決!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    6 天前
  • 簽到天數: 1027 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2017-1-23 20:52:58 | 顯示全部樓層
    1. prontera,149,181,4        script        Array        1002,{
    2.         setarray .@copyarray[0],1,6,7,8,0,1;
    3.         for(set .@i,0;.@i<getarraysize(.@copyarray);set .@i,.@i+1)mes ".@copyarray["+.@i+"] = "+.@copyarray[.@i];
    4.         mes "---------------------------";
    5.         callfunc ("TestOkay",.@copyarray[0]);
    6.        
    7.         close;
    8. }

    9. function        script        TestOkay        {
    10.         copyarray .@replace_array,getarg(0),getarraysize(getarg(0));
    11.         for(set .@i,0;.@i<getarraysize(.@replace_array);set .@i,.@i+1)mes ".@replace_array["+.@i+"] = "+.@replace_array[.@i];
    12.         return;
    13. }


    複製代碼
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-4-29 05:19 AM , Processed in 0.054890 second(s), 25 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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