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

Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2758 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)

Sveiki SUPERGAMES.LT lankytojai taigi pamaniau gal kam prireiks xp kylimo jūsų serveryje taigi numesiu mini skriptuka labai lengva pirmiausia susiraskit štai toki callbacka public OnGameModeInit()

Ir po juo rašyktie:

SetTimer("TaskuTimeris",60000,true); //nustatome timeri kas kiek laiko jums duos xp. "Tasku timeris- tai timerio pavadinimas, 60000 miliekundziu= 60 sekundziu = 1 minute, ten galite pasikeisti i savo laika .
return 1;

Tada prie visu forwardu prirašykite šita:

forward TaskuTimeris();

Ir tada *****.pwn lapo apačioje prirašykit toki koda:

public TaskuTimeris() // cia musu timerio pavadinimas
{
for( new i = 0; i < MAX_PLAYERS; i++ ) // i - tai kaip ir zaidejo kintamasis
{
if( IsPlayerConnected( i ) ) //tikriname ar zaidejas prisijunges
{
SetPlayerScore(i,GetPlayerScore(i)+3); //Gauname zaidejo (i) taskus ir pridedame +3(Galite irasyti savo tasku skaiciu)
}
}
}

Viskas skriptas baigtas. smile.png

Redaguota , nario Jack.
(redaguota)

 

o kam reikia tikrinimo ar žaidėjas prisijungęs, jei ir savaime aišku kad timeris suveiks žaidėjui prisijungus? :D

 

Jo atvėju reikia, nes timer'is globalus, jame ciklo pagalba einama pro visus zaidejus (MAX_PLAYERS) ir tikrinama ar jis prisijungęs (tas ID)

O kam toks variantas.. Tiesiog:

OnPlayerSpawn(playerid) return SetTimerEx("xpUp", 60000, 1, "i", playerid);
forward xpUp(playerid); public xpUp(playerid) return SetPlayerScore(playerid, GetPlayerScore(playerid) +1);

P.S Temos autoriui jo parašo suprastinimas:

public OnPlayerConnect(playerid)
{
    new
        str [ 27 ]
    ;
    return format(str, sizeof str, "%s sveikinam prisijungus į serverį!", GetPlayerNameEx(playerid)), SendClientMessagToAll(-1, str);
}
Redaguota , nario Matas F.

audi_signature_by_dominico20-d4i38el.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S Temos autoriui jo parašo suprastinimas:

public OnPlayerConnect(playerid)
{
    new
        str [ 27 ]
    ;
    return format(str, sizeof str, "%s sveikinam prisijungus į serverį!", GetPlayerNameEx(playerid)), SendClientMessagToAll(-1, str);
}

Jis neturi 

GetPlayerNameEx(playerid)

funkcijos, kas tada?

prieš 15 valandas(-ų), perestukinas maskatuoklis parašė:

koks skirtumas motyvuotas ar ne, paprasiau padaryt o uz tai repais atsiskaitysiu, kas gales tas pades. Neieskau motyvatoriu.

(redaguota)
stock GetPlayerNameEx ( playerid ) {
      new name [ MAX_PLAYER_NAME + 1 ];
      GetPlayerName ( playerid , name , sizeof ( name ) ) ;
      return name;
}

ez.

 

 

Tai buvo retorinis klausimas... Aš žinau kaip tai padaryti, bet Mato kodas gaunasi ilgesnis nei temos autoriaus.

Redaguota , nario MartynasK
prieš 15 valandas(-ų), perestukinas maskatuoklis parašė:

koks skirtumas motyvuotas ar ne, paprasiau padaryt o uz tai repais atsiskaitysiu, kas gales tas pades. Neieskau motyvatoriu.

(redaguota)

Tai buvo retorinis klausimas... Aš žinau kaip tai padaryti, bet Mato kodas gaunasi ilgesnis nei temos autoriaus.

Ilgis taspats, tačiau funkcija tam ir skirta, kad butu panaudota kode mažiau sh.

Redaguota , nario Matas F.

audi_signature_by_dominico20-d4i38el.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(redaguota)

 

 

 

Jo atvėju reikia, nes timer'is globalus, jame ciklo pagalba einama pro visus zaidejus (MAX_PLAYERS) ir tikrinama ar jis prisijungęs (tas ID)

O kam toks variantas.. Tiesiog:

OnPlayerSpawn(playerid) return SetTimerEx("xpUp", 60000, 1, "i", playerid);
forward xpUp(playerid); public xpUp(playerid) return SetPlayerScore(playerid, GetPlayerScore(playerid) +1);

P.S Temos autoriui jo parašo suprastinimas:

public OnPlayerConnect(playerid)
{
    new
        str [ 27 ]
    ;
    return format(str, sizeof str, "%s sveikinam prisijungus į serverį!", GetPlayerNameEx(playerid)), SendClientMessagToAll(-1, str);
}

Nežinau, bent jau man tai geriau daryti globalinį timerį, t.y. kad visiems vienodu laiku pridėtų kažkiek xp, o ne kiekvienam atskirai.

Redaguota , nario Rocky'
  • Parašė po 3 metų...
  • Parašė po 3 mėnesių...
  • Parašė po 1 mėnesio...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2758 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ą...