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

Komanda /apdovanojimas


exibo'

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

Sveiki visi, mokinuosiu dar geriau su stock naudotis, tad sukursiu visiškai lengvą skriptuką.

 

Pirmiausiai inclūdinam ZCMD

#include <zcmd>

Po to pasirašome stocką

Stock Apdovanojimas(playerid)
{
 GivePlayerMoney(playerid, 500); // keiskite į savo
 SetPlayerScore(playerid, 500); // keičiam į savo
 SetPlayerColor(playerid, SPALVA); // keičiam į savo
 SendClientMessage(playerid, -1, " Sveikinu, gavai apdovanojimą");
}

O tada su zcmd žaidžiam

CMD:apdovanojimas(playerid, params[])
{
 if(GetPlayerScore(playerid) > 100) // jeigu žaidėjas turi 100 XP arba daugiau
 Apdovanojimas(playerid);
 return 1;
}

Viskas!

Jeigu bus klausimų rašykite čia

Nuoroda į komentarą
Dalintis per kitą puslapį

Am... Oke.

 

Tu , parašiai ,kad reikia includint, bet nedavei include.

ZCMD inc: http://www69.zippyshare.com/v/2225066/file.html

Naudojimas: Įkelkite šį include į Gamemode jūsų/pawno/include

 

Tu padarei, jog apdovanojimas komanda gali naudoti turintys 100 xp ir daugiau, na tai jei žaidėjas turės ~600 ar daugiau xp, tai jam nusistatys į 500 XP, pasiėmus apdovanojimą.

 

Todėl vietoj šito:

SetPlayerScore(playerid, 500); 

Siūlyčiau dėti šitą ( tam ,kad žaidėjui duotų 500 xp, bet ne nustatytų į 500 ):

SetPlayerScore(playerid, GetPlayerScore(playerid) +500);
Redaguota , nario Marius..
Nuoroda į komentarą
Dalintis per kitą puslapį

Padaryk kad galėtų naudot tik vieną kartą. Plėtok įdėją.

 

Prie žaidėjų enum'o , prisirašuyk:

bool:ApdovanojimasGautas

ir komanda:

CMD:apdovanojimas(playerid, params[])
{
if( Player[playerid][ApdovanojimasGautas] ) return SendClientMessage(playerid, COLOR, "Info - Apdovanojimas gautas");
if(GetPlayerScore(playerid) > 100) // jeigu žaidėjas turi 100 XP arba daugiau
Apdovanojimas(playerid);
return 1;
}
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 1 mėnesio...

Nemanai kad taip butu paprasčiau ? Ir nereiketu naudoti stock ir t.t

CMD:apdovanojimas(playerid,params[])
{
    if(playerDB[playerid][savininkas]==0) return 0;
	for(new i=0; i<MAX_PLAYERS; i++)
    {
        GivePlayerMoneyA(i, 1000);
        SetPlayerScore(i, GetPlayerScore(i)+ 100);
        new name[MAX_PLAYER_NAME],msg[162];
        GetPlayerName(playerid, name, sizeof(name));
        format(msg, sizeof(msg), "{00FFFF}* Pagr.Administratorius {ffffff}%s{00ffff} iteikė visiems žaidėjams apdovanojima, {ffffff}1000 Lt{00ffff} ir {ffffff}100 Xp{00ffff}!", name);
        SendClientMessage(i,-1, msg);
    }
	return 1;
}
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Nemanai kad taip butu paprasčiau ? Ir nereiketu naudoti stock ir t.t

CMD:apdovanojimas(playerid,params[])
{
    if(playerDB[playerid][savininkas]==0) return 0;
	for(new i=0; i<MAX_PLAYERS; i++)
    {
        GivePlayerMoneyA(i, 1000);
        SetPlayerScore(i, GetPlayerScore(i)+ 100);
        new name[MAX_PLAYER_NAME],msg[162];
        GetPlayerName(playerid, name, sizeof(name));
        format(msg, sizeof(msg), "{00FFFF}* Pagr.Administratorius {ffffff}%s{00ffff} iteikė visiems žaidėjams apdovanojima, {ffffff}1000 Lt{00ffff} ir {ffffff}100 Xp{00ffff}!", name);
        SendClientMessage(i,-1, msg);
    }
	return 1;
}

Esmė, kad jo komanda leidžia pačiam žaidėjui parašyti komandą /apdovanojimas ir jis gauna pinigų bei xp sau. Tavo komanda duoda visiems žaidėjams pinigų bei xp ir komanda gali būti panaudota tik jei esi savininkas.

 

feel the difference.

Nuoroda į komentarą
Dalintis per kitą puslapį

Esmė, kad jo komanda leidžia pačiam žaidėjui parašyti komandą /apdovanojimas ir jis gauna pinigų bei xp sau. Tavo komanda duoda visiems žaidėjams pinigų bei xp ir komanda gali būti panaudota tik jei esi savininkas.

 

feel the difference.

Tai tp sunku keles eilutes ištrinti ir parašyti paprasta kodą ?

Nuoroda į komentarą
Dalintis per kitą puslapį

Jei norėjai pasakyt, kad jis nenaudotų stock ir tiesiog sukūrtų komandą, taip ir galėjai pasakyt. Kokiu tikslu jam visą tą kodą parodei? Ir perdaryt tavo kodą užtrūktų ilgiau nei tiesiog parašyti:
GivePlayerMoneyA(playerid,1000);

SetPlayerScore(playerid,GetPlayerScore(playerid)+500);

Redaguota , nario E-Me
Nuoroda į komentarą
Dalintis per kitą puslapį

Jei norėjai pasakyt, kad jis nenaudotų stock ir tiesiog sukūrtų komandą, taip ir galėjai pasakyt. Kokiu tikslu jam visą tą kodą parodei? Ir perdaryt tavo kodą užtrūktų ilgiau nei tiesiog parašyti:

GivePlayerMoneyA(playerid,1000);

SetPlayerScore(playerid,GetPlayerScore(playerid)+500);

Tai dabar reikia kabinetis kad ko norėjau to nepasakiau ? Nors esme tikrai suprati ka norėjau pasakyti. 

Nuoroda į komentarą
Dalintis per kitą puslapį

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