Jump to content
  • 0

Script not work and got error with buildin_rand


Kai TH

Question


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  10/22/21
  • Last Seen:  

Hello, i need help about this script NPC EventMemoryMatch, and here is this script.

EventMemoryMatch.txt

When i use lasted rA this NPC EventMemoryMatch script not working correctly and get this error.

image.png.4c7cac4d5069b95b717d225b185b1e95.png

How to fix this script work correctly with lasted rA?

 

PLEASE!! HELP. THANK YOU.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 1

  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  176
  • Reputation:   78
  • Joined:  07/11/14
  • Last Seen:  

Posted (edited)

Search for this function:

	function	gviewid	{
		set .@n,getarraysize(.viewid);
		while(1)
		{
			set .@zt,.@zt+1;
			if(.@zt&13)sleep2(1);
			if(set(.@u,.viewid[set(.@t,rand(.@n))]))
				break;
		}

		for(;.@t<.@n;set .@t,.@t+1)
			set .viewid[.@t],.viewid[.@t+1];
		return .@u;
	}

 

and replace with this:

	function	gviewid	{
		set .@n,getarraysize(.viewid);
		if(.@n<=1) set .@rnd,0;
		else  set .@rnd,rand(.@n);
		//dispbottom "."+getarraysize(.viewid)+"";
		while(1)
		{
			set .@zt,.@zt+1;
			if(.@zt&13)sleep2(1);
			if(set(.@u,.viewid[set(.@t,.@rnd)]))
				break;
		}

		for(;.@t<.@n;set .@t,.@t+1)
			set .viewid[.@t],.viewid[.@t+1];
		return .@u;
	}

 

 

Edited by Hyroshima
  • MVP 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.02
  • Content Count:  211
  • Reputation:   11
  • Joined:  08/30/19
  • Last Seen:  

function viewid {
    function md {
        while(1) {
            set .@zt,.@zt+1;	
            if(.@zt&13) sleep2(1);
            if(strmobinfo(3,set(.@t,rand(1001,1323)))) break;
        }
        return .@t;
    }
    set .@t,md();

    for(set .@i,0;.@i<30;set .@i,.@i+1)
        if(.@t==.viewid[.@i]||.@t==1285||.@t==1286||.@t==1287||.@t==1288) {
            set .@t,md();
            set .@i,-1;
        }
    return .@t;
}
function gviewid {
    set .@n,getarraysize(.viewid);
    while(1) {
        set .@zt,.@zt+1;
        if(.@zt&13) sleep2(1);
        if(set(.@u,.viewid[set(.@t,rand(.@n))])) break;
    }

    for(;.@t<.@n;set .@t,.@t+1)
        set .viewid[.@t],.viewid[.@t+1];
    return .@u;
}

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  10/22/21
  • Last Seen:  

1 hour ago, Takuyakii said:
function viewid {
    function md {
        while(1) {
            set .@zt,.@zt+1;	
            if(.@zt&13) sleep2(1);
            if(strmobinfo(3,set(.@t,rand(1001,1323)))) break;
        }
        return .@t;
    }
    set .@t,md();

    for(set .@i,0;.@i<30;set .@i,.@i+1)
        if(.@t==.viewid[.@i]||.@t==1285||.@t==1286||.@t==1287||.@t==1288) {
            set .@t,md();
            set .@i,-1;
        }
    return .@t;
}
function gviewid {
    set .@n,getarraysize(.viewid);
    while(1) {
        set .@zt,.@zt+1;
        if(.@zt&13) sleep2(1);
        if(set(.@u,.viewid[set(.@t,rand(.@n))])) break;
    }

    for(;.@t<.@n;set .@t,.@t+1)
        set .viewid[.@t],.viewid[.@t+1];
    return .@u;
}

 

Hi, Thank for your helping. But i tried your script and it doesn't work. Get same error. 

image.png.4910f2cbb0eea4aaf82366e3f112334f.png

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  10/22/21
  • Last Seen:  

Have more solution for this? Please Help.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  10/22/21
  • Last Seen:  

4 hours ago, Hyroshima said:

Search for this function:

	function	gviewid	{
		set .@n,getarraysize(.viewid);
		while(1)
		{
			set .@zt,.@zt+1;
			if(.@zt&13)sleep2(1);
			if(set(.@u,.viewid[set(.@t,rand(.@n))]))
				break;
		}

		for(;.@t<.@n;set .@t,.@t+1)
			set .viewid[.@t],.viewid[.@t+1];
		return .@u;
	}

 

and replace with this:

	function	gviewid	{
		set .@n,getarraysize(.viewid);
		if(.@n<=1) set .@rnd,0;
		else  set .@rnd,rand(.@n);
		//dispbottom "."+getarraysize(.viewid)+"";
		while(1)
		{
			set .@zt,.@zt+1;
			if(.@zt&13)sleep2(1);
			if(set(.@u,.viewid[set(.@t,.@rnd)]))
				break;
		}

		for(;.@t<.@n;set .@t,.@t+1)
			set .viewid[.@t],.viewid[.@t+1];
		return .@u;
	}

 

 

Wowwwww !!!!!THANK YOU SO MUCH!!!

Your script help me fix this issue perfectly!!!

THANK YOU AGAIN!!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...