set_task: ant spawn kartoja/nekartoja

Šiame forume galima rasti pamokas, patarimus, skriptus ir kitą naudingą informciją.
User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

set_task: ant spawn kartoja/nekartoja

Post by xFrostas »

Maža set_task pomokėlė pradentiems scriptinti.

Taigi jai jūs norite, kad jūsų sugalvoto task nekartotų pvz:

Code: Select all

 // Ham includas.#include <hamsandwich> // Jau tikriausiai žinote jog ji visada iškviečiama kai paleidžiamas pluginas.public plugin_init(){    // Registruojam event'ą    RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn", 1)} // Spawn eventpublic Ham_PlayerSpawn(id){    // Jai žaidėjas gyvas jam task neveiks    if (is_user_alive(id))        return     // Task    set_task(5.0, "Tekstas", id)} // Task funkcijapublic Tekstas(id){    // Task (Tekstas)    client_print(id, print_center, "Tu matysi mane tik 1 karta :P")}
Štai tokiu atveju task'ą "Zinute" parodys tik vieną kartą po 5s nuo žaidėjo spawn ir jos daugiau nekartos.

Jai norite jog kartotų pvz:

Code: Select all

// Ham includas.#include <hamsandwich> // Jau tikriausiai žinote jog ji visada iškviečiama kai paleidžiamas pluginas.public plugin_init(){    // Registruojam event'ą    RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn", 1)} // Spawn eventaspublic Ham_PlayerSpawn(id){    // Jai žaidėjas gyvas jam task neveiks    if (is_user_alive(id))        return     // Task (kartojimo eilutė)    set_task(5.0, "Tekstas", id, "", 0, "b")} // Task funkcijapublic Tekstas(id){    // Task (Tekstas)    client_print(id, print_center, "Tu matysi mane kas 5s. :P")}
O štai tokiu atveju task'ą "Zinute" kartos kas 5s. nuo žaidėjo spawn.

P.S. Kartojimo task'ą labai gerai yra naudoti kai norite laikyti žinutę visą roundą pvz reklamą, skelbimą. tiesiog kartokite ne kas 5.0 o kas 0.1, nesikartojančią task patogu kai norite parašyti kokį įspėjimą ar kąnors panašaus.

P.S.S. Galite naudoti ne print, galite naudoti ir hud message.

Šis gidas priklauso Amxmodx.lt forumui.
Bet koks šios informacijos platinimas be autoriaus sutikimo yra griežtai draudžiamas.
Last edited by xFrostas on 2011 Jan 29 17:18, edited 4 times in total.

User avatar
zirualas
Gana aktyvus vartotojas
Posts: 216
Joined: 2010 Oct 16 21:33
Skype: zirual
Location: Vilnius
Contact:

Re: set_task: ant spawn kartoja/nekartoja

Post by zirualas »

Manau reikėtu pateikti ir ką rašyti prie public plugin_init() ir ,kad reike

Code: Select all

#include <hamsandwich>
.

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: set_task: ant spawn kartoja/nekartoja

Post by xFrostas »

Gerai ;]

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: set_task: ant spawn kartoja/nekartoja

Post by aaarnas »

Toks pastebėjimas. Ham_Spawn yra ne eventas, o hamsandwich forwardas. Eventai yra čia: http://wiki.alliedmods.net/Half-Life_1_Game_Events

Beje jei Ham_Spawn forwarde tikrini ar žaidėjas yra negyvas, tai toks atvejis man atrodo gali būti tik tada, kai žaidėjas prisijungia į spectate. Bet šito gerai nežinau. Netikrinau.

Be to manau vertėtų aprašyti dar a flagą:

Code: Select all

set_task(5.0, "Tekstas", id, _, _, "a", 15)
Šitaip bus iškviečiamas "Tekstas" 15 kartų kas 5 sekundes.

Manu jei jau rašai apie task, galima aprašyti apie jį viską ir visas jo gudrybes :]
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: set_task: ant spawn kartoja/nekartoja

Post by xFrostas »

nu parašiau tiek kiek pats žinojau neesu tavo lygio prokolkas, ir visko nežinau ;]

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: set_task: ant spawn kartoja/nekartoja

Post by aaarnas »

Niekas negimė mokėdamas. Aš taip pat.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
beast
AMX Mod X ekspertai
Posts: 509
Joined: 2011 Jan 08 18:44
Skype: thefurious4
Contact:

Re: set_task: ant spawn kartoja/nekartoja

Post by beast »

Pritariu nuomonei, kad rašyti pamokas reikia tik tada, kai jau pats apie aprašomą elementą supranti viską ir gali tai pateikti. Nes dabar daug ko trūksta. Čia tik šiaip, kad šio skyrelio kokybė būtų kuo geresnė.

kesiukas
Jau po truputį tampa savu
Posts: 187
Joined: 2011 Jan 11 18:32
Skype: kesys19
Location: Kaunas/Batniava

Re: set_task: ant spawn kartoja/nekartoja

Post by kesiukas »

Tai kad cia is vis nei vieno plugino nesucompilina.

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: set_task: ant spawn kartoja/nekartoja

Post by aaarnas »

kesiukas wrote:Tai kad cia is vis nei vieno plugino nesucompilina.
Nes čia ne pluginas, o skriptas(kodo dalis). Nėra #include <amxmodx>
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: set_task: ant spawn kartoja/nekartoja

Post by xFrostas »

kesiukas wrote:Tai kad cia is vis nei vieno plugino nesucompilina.
Nebūtina kurti jog sukompilintu, tiesiog parašai kodą ir tiek. (dar galima parašyti jam naudojamus dalykus ten pvz forward'us, event'us, bibliotekas ir t.t)

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests