While check Function - Staff_Stanic - 11-29-2012 11:40 AM
Guys... I'm trying to make a function that check if a random number is on the tag, if is, then change the number and check again.
I made this but when coming the seventy number the sphere crash because the big loop.
Code:
TAG.LAST=<R1,75>
While (STRMATCH(*<TAG.LAST>*,<TAG.CHAMADAS>))
TAG.LAST=<R1,75>
ENDWHILE
TAG.CHAMADAS=<TAG.CHAMADAS> <TAG.LAST>
RE: While check Function - Mordaunt - 11-29-2012 11:44 AM
Sphere does that when you make endless loops.
Which is pretty much all you are making here
RE: While check Function - Staff_Stanic - 11-29-2012 11:51 AM
But is not a endless loop, the loop is until find a number that aren't in the tag...
You have any idea to work?,
This is the memory of NPC that call the numbers of a Bingo
Code:
[ITEMDEF i_Memory_Locutando]
ID=i_memory
TYPE=t_eq_script
NAME=Chamador de numeros
ON=@Create
ATTR attr_decay
ON=@Timer
REF1=<TAG.NPC>
If (<REF1.TAG0.CHAMANDO>)
TAG.LAST=<R1,75>
If (<EVAL <TAG0.CHAMADASTOTAL>> == 75)
REF1.SAY @,1,1 Finish!
REF1.TAG.CHAMANDO=0
REMOVE
Return 1
Endif
While (STRMATCH(*<TAG.LAST>*,<TAG.CHAMADAS>))
TAG.LAST=<R1,75>
ENDWHILE
TAG.CHAMADAS=<TAG.CHAMADAS> <TAG.LAST>
TAG.CHAMADASTOTAL +=1
REF1.SAY @,1,1 Ball: <EVAL <TAG.LAST>>
Else
REMOVE
RETURN 1
ENDIF
TIMER=1
RETURN 1
RE: While check Function - RanXerox - 11-30-2012 06:05 AM
If it were me, I would redo the system using the global LIST structure rather than implementing your own LIST in TAGs.
RE: While check Function - Staff_Stanic - 12-01-2012 12:14 AM
You can give an example?
RE: While check Function - Shaklaban - 12-01-2012 12:37 AM
Quote:01-02-2009, Shadow Dragon
- Added: Basic LIST support.
LIST.xxx to show elements in list. Also, can be used like LIST.xxx=value to clear list and add a value
LIST.xxx.ADD to add new element to list, can be number or string
LIST.xxx.CLEAR to clear list
LIST.xxx.index to read/write value on element in list
LIST.xxx.COUNT to get count of elements in list
LIST.xxx.index.REMOVE to remove element at specified index in list
LIST.xxx.index.INSERT to insert element at specified index in list
LIST.xxx.FINDELEM search_value returns index of first found element in list. Search starting from begin
LIST.xxx.index.FINDELEM search_value returns index of first found element in list. Search starting from index
SERV.PRINTLISTS to print all lists and their elements
SERV.CLEARLISTS to clear all lists. If used with mask parameter, then clear all lists, which name countains specified mask
- Added: SERV.Map.x.AllSectors some_verb_to_use
you can add all numbers to a list.
PHP Code:
for 1 75 list.cham.add <dlocal._for> endfor
then when you select a random number you can remove it from the index:
PHP Code:
local.num=<R1,75> local.index=<list.cham.findelem <eval <local.num>>> if <local.index> > 0 //index will be -1 if the element not in the list list.cham.remove <local.index> endif
this is just example about lists i don't understand what are you trying to do actually
RE: While check Function - RanXerox - 12-01-2012 03:35 AM
Thanks for the example Shaklaban
RE: While check Function - Staff_Stanic - 12-01-2012 08:01 AM
Thank you very much!!
RE: While check Function - Staff_Stanic - 12-15-2012 12:18 AM
Guys... I tried to use LIST but the Sphere is giving theses erros:
Code:
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 024'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 036'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 016'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 01b'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 01f'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 03b'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 01d'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 03'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 0d'
12:11:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 02e'
12:12:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 0b'
12:12:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 02e'
12:12:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 01a'
12:12:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 027'
12:12:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 021'
12:12:ERROR:(sistema_bingo.scp,841)Unable to proceed command 'list.cham 01c'
this line:
Code:
if <local.index> > 0 //index will be -1 if the element not in the list
LIST.cham.REMOVE <local.index>
endif
RE: While check Function - darksun84 - 12-15-2012 12:36 AM
I think correct sintax for removing is
LIST.cham.<dlocal.index>.remove
|