Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3950 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

(redaguota)

Taigi norėčiau jus pamokyti kaip sukurti /setskin komandą, kuri parodo lentelę kurioje nurodžius Skin ID bus galima pasikeisti į tą skin.

Taigi visų pirmiausia - Čia visi Skinų ID'ai: http://wiki.sa-mp.com/wiki/Skins:All



Dabar sukursime pačią komandą kuri parodo lentelę:



Jeigu neturite jokių Command Sistemų:



po:

public OnPlayerCommandText(playerid, cmdtext[])

kuriame if'ą:

if(!strcmp(cmdtext, "/setskin", true))
{
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Keičiame skin", "Įrašykite norimo Skin ID!", "Testi", "Atšaukti");
    return 1;
}

/setskin - Keičiame į jūsų norimos komandos pavadinimą (Čia yra tai, ką parašys žmogus, kad suveiktų komanda)

ShowPlayerDialog - Funkcija kuri iškviečia tą lentelę.

playerid - Žmogaus ID kuriam bus parodyta lentelė (Šiuo atveju tam, kuris parašė komandą)

0 - lentelės ID. Pagal šį ID vėliau išgausime informaciją. (Jeigu turite daugiau Dialog'ų - Nenaudokite jau esamo ID!!!)

DIALOG_STYLE_INPUT - Čia nurodėme Dialog'o stiliu (Šiuo atveju - Input (Įvedimas)). Dar yra: _MSGBOX, _LIST, _PASSWORD

Tada matome """""" ,"" - Jie negali būti palikti tušti (Kai kuriais atvejais galima palikti antrą ir ketvirtą). Pirmasis - Pavadinimas, Antrasis - Tekstas, Trečiasis - Pirmas Mygtukas, Ketvirtasis - Antras mygtukas



Dabar kai jau suprantame kaip kurti dialogus - išgaukime iš jų informaciją.



po:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

Dedame:

switch(dialogid)
{
    case 0: // Šiuo atveju - setskin dialogas
    {
        if(response)
        {
            new skinid;
            skinid = strval(inputtext);
            if (skinid < 0 || skinid > 299) { return SendClientMessage(playerid, -1, "[ERROR] Neteisingas skin ID! (0-299)"); }
           else
            {
                SetPlayerSkin(playerid, skinid);
            }
        }
    }
}

switch(dialogid) - Skaidom į paprastesnius if'us pagal Dialogų ID'us.

case 0: (taspats kaip if(dialogid == 0) - Nurodome kuriam čia dialogui šie kodai (Šiuo atveju 0, nes taip nurodėme kurdami komandą)

if(response) - Jeigu paspaudė pirmąjį mygtuką - tada vykdome kodus. (Pirmas mygtukas - 1/true, antras mygtukas - 0/false)

new skinid; - naujas kintamasis

strval(inputtext) - paverčiam įvestą tekstą į "integer" (skaičių)



if(skinid < 0 || skinid > 299) - Jeigu įvestas skin id yra mažesnis už 0 arba didesnis už 299 - Parašome, kad jis nėra teisingas taip stabdydami likusį kodą



else { } - Jeigu viskas gerai vykdome likusį kodą



SetPlayerSkin - Keičiame žaidėjo skin'ą

playerid - žaidėjo id - šiuo atveju to kuris iškvietė komandą

skinid - kintamasis kuriame patalpintas id kurį įrašė žaidėjas



Tikiuosi naujokams labiau padėjo ir dabar lengviau suprast bus kas ką daro!



su keliomis komandų sistemomis - lentelių iškvietimas:



zcmd:

CMD:setskin(playerid)
{
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Keičiame skin", "Įrašykite norimo Skin ID!", "Testi", "Atšaukti");
    return 1;
}

 Pamoka baigta.

 

P.S. Pamoka kurta ne mano.

Pamokos autorius:

Sidicer.

Redaguota , nario Danas_Card

Ačiū, jau pataisiau. ;)

+R3P :) Kitą kartą bandyk sukurti kažką pats. Pvz.: perdaryk šitą pamoką http://adf.ly/pymXb (P.S. būtų malonu jei sugalvotum kurt pamoka ir mane paminėtum. Reklamos tikslais :D) taip, kad būtų pirkimas. Tikrai nėra sunku, o jei kils klausimų visada gali konsultuotis: skype - arnas.reserv

CousinsTV


Tutorials • Gaming • More...

+R3P :) Kitą kartą bandyk sukurti kažką pats. Pvz.: perdaryk šitą pamoką http://adf.ly/pymXb (P.S. būtų malonu jei sugalvotum kurt pamoka ir mane paminėtum. Reklamos tikslais :D) taip, kad būtų pirkimas. Tikrai nėra sunku, o jei kils klausimų visada gali konsultuotis: skype - arnas.reserv

Ačiū! ;)

Gera pamoka +REP.

Ačiū.

na man ji padejo, nemaciau kitur net ir neiskojau bet mokinuosi praverte spaudziu zalia :)

Dėkoju.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3950 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai



×
×
  • Sukurti naują...