Hop til indhold
Stavox

Guide | Arrays i E2


Jimmi

Recommended Posts

Hej!

 

Jeg så i dag @ibex123 have lidt problemer med E2 arrays, og jeg tænkte der måske var nogle som også kunne bruge noget hjælp til E2 arrays.

 

Hvordan laver man et array?

@name E2 Arrays
@inputs 
@outputs
@persist Array:array
@trigger 

if(first()){
    Array = array("Kage", "mand")
}

I det ovenstående eksempel, sætter vi en variabel som hedder 'Array' til datatypen array.

Vi sætter dernæst vores 'Array'-variabel til at kunne holde infomationer i et array form, dette gøres således

Array = array("Kage", "Mand")

 

Hvordan sætter man ting ind i et array?

Der to forskellige metoder at gøre det på, den ene er manuelt og den anden er med en funktion.

 

Manuelt  

Array = array("Kage", "manden", "Kaj")

Ovenfor kan man se at vi har vores 'Array'-variabel som før indeholdte "Kage" og "mand", men nu har den også "Kaj". Dette gøres ved at tilføje et komma og tilføje en string eller en anden datatype.

 

Med funktion

 

Strings

Array:pushString("String")

 Indsætter en string i ens array.

 

Number

Array:pushNumber(2)

  Indsætter et nummer i ens array.

 

Entity

Array:pushEntity(entity)

Indsætter et entity i ens array.

 

Hvis du ønsker at printe dette, skal du bruge 

printTable(Array)

Da entities er et table, skal du bruge det ovenstående.

 

Angles

Array:pushAngle( ang(4,5,6) )

Indsætter en vinkel i ens array. 

ang() bruges til at give en bestemt vinkel

 

Vector

Array:pushVector(vec(4,5,6))

Indsætter en position i ens array.

vec() bruges til at give en bestemt position.

 

Hvordan finder jeg en bestemt værdi i mit array?

 

Hvis du kender til hvilken position din bestemte værdi har og hvilken type det er, kan du skrive således:

Array[4,string]

Hvis du ikke kender hvilken position din værdi har, kan du skrive således:

printTable(Array)

Så vil du få printet noget som ligner dette

mGHNGMp.png

 

 

Hvordan fjerner jeg en ting i mit array?

Array:remove(1)

Dette fjerner den første infomation i dit array,

 

Hvordan fjerner jeg den første infomation i mit array?

Array:shift()

Dette fjerner den første infomation i dit array.

 

Hvordan fjerner jeg den sidste infomation i mit array?

Array:pop()

Dette fjerner den sidste infomation i dit array.

 

Jeg håber dette hjælper dig som der ikke har helt styr på arrays.

- Jimmi

Link til kommentar
Del på andre sites

5 minutter siden, ibex123 skrev:

hvorfor virker dette ikke

        case "!fjern",
        U = lastSaid():explode(" "):string(2)
        Handlere:remove(U))
        break

det er en chat command

 

Prøv med

unset(U)

 

Link til kommentar
Del på andre sites

3 timer siden, ibex123 skrev:

hvorfor virker dette ikke

        case "!fjern",
        U = lastSaid():explode(" "):string(2)
        Handlere:remove(U))
        break

det er en chat command

 

Prøv at skrive toNumber() i U. Jeg ved ikke om det virker, men måske. Idk

 

U = lastSaid():explode(" "):string(2):toNumber()

 

Link til kommentar
Del på andre sites

3 minutter siden, Bjørnen skrev:

Prøv at skrive toNumber() i U. Jeg ved ikke om det virker, men måske. Idk

 


U = lastSaid():explode(" "):string(2):toNumber()

 

Jeg har muligvis fundet fejlen.

3 timer siden, ibex123 skrev:

hvorfor virker dette ikke

        case "!fjern",
        U = lastSaid():explode(" "):string(2)
        Handlere:remove(U))
        break

det er en chat command

 

 

Her skriver du således

        case "!fjern",
        U = lastSaid():explode(" "):string(2)
        Handlere:remove(U)
        break

Jeg tror du har en ')' for meget. Men som @Bjørnen skriver, er det en rigtig god idé at have :toNumber() så du altid er sikker på det er et nummer.

Link til kommentar
Del på andre sites

17 minutter siden, ZeNoxXi skrev:

Er ret sikker på at arrays kører på index key når du skal fjerne noget, og ikke på index name. Så skal du fjerne variabel nummer 3 der hedder "hej" skal du skrive Array:remove(3) og ikke Array:remove("hej").

 

 

Hvor mener du, at jeg har skrevet det?

Link til kommentar
Del på andre sites

23 minutter siden, ZeNoxXi skrev:

Nu har jeg jo ikke nævnt dig, men skrev det blot som en information til ibex, som virkede lettere forvirret over dine eksempler.

 

Oh, jeg troede at din kommentar var respons på min guide.

Link til kommentar
Del på andre sites

58 minutter siden, ibex123 skrev:

jeg kan ikke

Tilf = findPlayerByName(lastSaid():explode(" "):string(2))

Array:pushString(Tilf)

 

Det er fordi findPlayerByName() funktionen returnere et entity. Derfor skal du bruge denne funktion!

Tilf = findPlayerByName(lastSaid():explode(" "):string(2))

Array:pushEntity(Tilf)

 

Link til kommentar
Del på andre sites

13 minutter siden, ibex123 skrev:

det er et entity kan jeg ikke printe det for debug

Du kan bruge printTable(T) hvis du vil printe et array den vil printe entity slags hvis det for eksempel er spillere vil den printe deres nummer i tab menuen og deres navn  

Link til kommentar
Del på andre sites

5 minutter siden, ibex123 skrev:

Ok men kan ikke printe variablen Tilf fordi den indeholder et entity så kan ikke se om den adder det rigtige

Eftersom et entity er et table kan du jo godt printe det?

 

Denne kode her printer da fint et entity?

    Array = array()
    Array:pushEntity(owner())
    printTable(Array)

GPwVVIl.png

Link til kommentar
Del på andre sites

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.