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

[SISTEMA] Cigaretės.

Recommended Posts

Sveiki. Padarysiu jums vieną pamoką. Cigarečių parduotuvė.

pradžioje skripto:

new cigparduotuve,
ciginfo [ MAX_PLAYERS ], // Žmogui kuris susipažino su info ji daugiau nebus rodoma.
cignaudoja [ MAX_PLAYERS ],
cigruko [ MAX_PLAYERS ],
cigtimer [ MAX_PLAYERS ],
playercig [ MAX_PLAYERS ];

po

public OnGameModeInit( )
{

rašom

cigparduotuve = CreatePickup(1279, 2, SAVO KOORD, SAVO KOORD, SAVO KOORD, -1);

po

public OnPlayerPickUpPickup(playerid, pickupid)
{

rašom

if(pickupid == cigparduotuve){
if(!ciginfo[ playerid ]){
ShowPlayerDialog(playerid,17,DIALOG_STYLE_MSGBOX,"Cigarečių informacija","1 surūkyta cigaretė prideda 20HP!\nRūkyti cigaretes gali tik kas 2 minutes!","Pirkti cigarečių","Išeiti");
}else{
ShowPlayerDialog(playerid,18,DIALOG_STYLE_LIST,"Cigarečių pirkimas","Pirkti 5 cigaretes. Kaina: 50$\nPirkti 10 cigarečių. Kaina: 95$\nPirkti 20 cigarečių. Kaina 180$","Pirkti","Išeiti");
}
}

Po

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

rašom

if(dialogid == 17)
{
if(!response)
{
ShowPlayerDialog(playerid,18,DIALOG_STYLE_LIST,"Cigarečių pirkimas","Pirkti 5 cigaretes. Kaina: 50$\nPirkti 10 cigarečių. Kaina: 95$\nPirkti 20 cigarečių. Kaina 180$","Pirkti","Išeiti");
ciginfo[playerid] = true;
}
return 1;
}

Ir paskui rašom dar kartą:

if(dialogid == 17)
{
if(response)
{
if(listitem == 0)
{
playercig[ playerid ] = playercig[ playerid ]+5;
GivePlayerMoney(playerid, -50);
SendClientMessage(playerid, COLOR_ORANGE, "* Nusipirkai 5 cigaretes!");
}
else if(listitem == 1)
{
playercig[ playerid ] = playercig[ playerid ]+10;
GivePlayerMoney(playerid, -95);
SendClientMessage(playerid, COLOR_ORANGE, "* Nusipirkai 10 cigarečių!");
}
else if(listitem == 2)
{
playercig[ playerid ] = playercig[ playerid ]+20;
GivePlayerMoney(playerid, -180);
SendClientMessage(playerid, COLOR_ORANGE, "* Nusipirkai 20 cigarečių!");
}
}
return 1;
}

PIRKIMAS PADARYTAS!

Darom dabar vartojimą!

COMMAND:cigaretes(playerid, params[])
{
if(playercig[playerid] == 0){
SendClientMessage(playerid, COLOR_ORANGE, "* Tu neturi cigarečių!");
}
else if(playercig[playerid] > 0){
new string[256];
format(string,sizeof(string),"Dabar tu turi %d cigarečių!",playercig[playerid]);
SendClientMessage(playerid, COLOR_ORANGE, string);
}
return 1;
}

COMMAND:duoticig(playerid, params[])
{
new cigid,
cigkiekis[5];
if(playercig[playerid] < 0) return SendClientMessage(playerid, COLOR_ORANGE, "* Tu neturi cigarečių!");
else if(sscanf(params,"ud[5]",cigid,cigkiekis)) return SendClientMessage(playerid,COLOR_ORANGE,"* Naudojimas: /duoticig [Žaidėjo ID] [Cigarečių kiekis]");
else if(cigid == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"* Žaidėjas su tokiu ID neprisijungęs!");
else if(cigid == playerid) return SendClientMessage(playerid, COLOR_RED, "* Tu negali duoti sau cigarečių!");
else if(strlen(cigkiekis) >= 5 ) return SendClientMessage(playerid, COLOR_RED, "* Duodamų cigarečių skaičius turi sudaryti tik 5 skaičiai!");
GetPlayerPos(cigid,koord[0],koord[1],koord[2]);
else if(!PlayerToPoint(30, playerid, koord[0],koord[1],koord[2])) return SendClientMessage(playerid, COLOR_RED, "* Žaidėjas yra per toli!");
// Jeigu pagaliau pavyko
playercig[playerid] = playercig[playerid] -cigkiekis;
playercig[cigid] = playercig[cigid] + cigkiekis;
new string[124];
format(string,sizeof(string),"* Žaidėjas %s davė tau %d cigarečių!", playerid, cigkiekis);
SendClientMessage(cigid, COLOR_ORANGE, string);
new string1[124];
format(string1,sizeof(string1),"* Tu davei žaidėjui %s %d cigarečių", cigid, cigkiekis);
SendClientMessage(playerid, COLOR_ORANGE, string1);
return 1;
}

// Susimažinkit string dydžius dabar, kad greičiau krautų!

COMMAND:rukyti(playerid, params[])
{
if(cigruko[playerid] return SendClientMessage(playerid, COLOR_ORANGE, "* Tu jau rūkai! Galima rūkyti tik kas 2 min!");
else if(playercig[playerid] < 0) return SendClientMessage(playerid, COLOR_ORANGE, "* Tu neturi cigarečių!");
ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,0,1,1);
playercig[playerid] = playercig[playerid] - 1;
SetPlayerHealth(playerid, GetPlayerHealth(playerid)+20);
new string[124];
format(string,sizeof(string),"* Tu rūkai cigaretę! Dabar tau liko %d cigarečių!", cigkiekis);
SendClientMessage(cigid, COLOR_ORANGE, string);
SetTimerEx( "Ruko", 120000, true, "d", playerid );
cigruko[playerid] = true;
return 1;
}

forward Ruko(playerid);
public Ruko(playerid)
{
SendClientMessage(playerid, COLOR_ORANGE, "* Jau galite vėl rūkyti!");
KillTimer( cigtimer[ playerid ] );
rukocig[ playerid ] = false;
return 1;
}

Su saugojimu jums nepadėsiu. Kas bent kažkiek nusimano apie skriptinimą galit rašyti man į skype grosusas dėl pagalbos. Padėsiu ir su saugojimu. Jei radot klaidą tai rašykit, nes dabar viską iš galvos rašiau ir netikrinau :X. Beto čia įdėta yra animacija girto veikėjo, o ne rūkančio. Neturiu dabar laiko ieškoti rūkančio

Redaguota , nario Camas

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Čia nelogiškai padarytas scriptas... 1. Cigarečių nieks nepardavinėja po 5, 10 ar 15. Jū pokeliose būna 20 ar 40( priklauso kokios jos ). 2. Tikrovėje taip nebūna, jog kai surūkai cigarečių, atsiranda pats dievas ir sako - "Dabar dar rukyti negali. Palauk ten 32 sekundęs."...

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

playercig[ playerid ] = playercig[ playerid ]+10;

DAFUQ????? Tu ka *Myliu SuperGames.lt*??:DDDDDDDDDDDDDDDDDDDDDDD O ne geriau : playercig [ playerid ] +=10;??? Lygiavimo 0... *Myliu SuperGames.lt* sudas cia yra o ne sistema.

Redaguota , nario QsuN

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Čia nelogiškai padarytas scriptas... 1. Cigarečių nieks nepardavinėja po 5, 10 ar 15. Jū pokeliose būna 20 ar 40( priklauso kokios jos ). 2. Tikrovėje taip nebūna, jog kai surūkai cigarečių, atsiranda pats dievas ir sako - "Dabar dar rukyti negali. Palauk ten 32 sekundęs."...

Nu aišku, realiame pasaulyje mašinos pigiausios irgi po 40K, ane? Tipo į miestą atvažiavęs (kartais kaip nelegalus emigrantas) gauni iki 100K, tai irgi realu? O kam nepatinka, tai gali persidaryti. Ir šiaip rodosi nelabai skriptą žiūrėjai. Parūkius prideda hp, tai labai įdomu būtų šaudytis, kai išvien rūko ir vis atsiranda +20hp.

playercig[ playerid ] = playercig[ playerid ]+10;

DAFUQ????? Tu ka *Myliu SuperGames.lt*??:DDDDDDDDDDDDDDDDDDDDDDD O ne geriau : playercig [ playerid ] +=10;??? Lygiavimo 0... *Myliu SuperGames.lt* sudas cia yra o ne sistema.

Sistema daryta seniai, o lygiavimo nėra gal dėl to, kad jis čia net normaliai neįsideda? Nu matos, kad trauma esi. 3319c870f77f983d5ecdade74cc9d52e729.png

Labai įmantrūs mygtukai. (Iš tavo skriptų didžiųjų)

Nereikalingas išvis skriptas, tiesiog skripto pildymas ir tiek.

Logiška

Redaguota , nario Camas

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Nu aišku, realiame pasaulyje mašinos pigiausios irgi po 40K, ane? Tipo į miestą atvažiavęs (kartais kaip nelegalus emigrantas) gauni iki 100K, tai irgi realu? O kam nepatinka, tai gali persidaryti. Ir šiaip rodosi nelabai skriptą žiūrėjai. Parūkius prideda hp, tai labai įdomu būtų šaudytis, kai išvien rūko ir vis atsiranda +20hp.

Sistema daryta seniai, o lygiavimo nėra gal dėl to, kad jis čia net normaliai neįsideda? Nu matos, kad trauma esi. 3319c870f77f983d5ecdade74cc9d52e729.png

Labai įmantrūs mygtukai. (Iš tavo skriptų didžiųjų)

Logiška

:DDDDD Nu ir? Iš kokios norėjau puses iš tos ir padariau.. Vaikas stobalinis esi. :) + Aš jau nebescriptinu , nes nedomina mane jau sa-mp'as ;).

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

:DDDDD Nu ir? Iš kokios norėjau puses iš tos ir padariau.. Vaikas stobalinis esi. :) + Aš jau nebescriptinu , nes nedomina mane jau sa-mp'as ;).

Pats sampą imu pramogai. Bet ir mandras, pats va jau "Norėjau ir padariau", o kai mano kažkas netaip, tai ":DDDDDDDDDDDDDDDDDD *Myliu SuperGames.lt*". Nu ir dar tais "Vaikas" svaidais. Žodžiu, nebeįdomus esi, viso gero.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Sau viso gero pasakyk , vaikinuk , tas best-life.lt gmąs senai buvo paplatintas jau , + padariau klaidą nes iš tos puses mygtuka padariau ir ką dabar??. Pisk mokinkis scriptinti.. Išmok priimti kritiką o ne čia rekaut.

playercig [ playerid ] = playercig [ playerid ] + 5; - Cia gryna nesamone ... Nepaprašiau : playercig [ playerid ] + 5;???....

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Sau viso gero pasakyk , vaikinuk , tas best-life.lt gmąs senai buvo paplatintas jau , + padariau klaidą nes iš tos puses mygtuka padariau ir ką dabar??. Pisk mokinkis scriptinti.. Išmok priimti kritiką o ne čia rekaut.

playercig [ playerid ] = playercig [ playerid ] + 5; - Cia gryna nesamone ... Nepaprašiau : playercig [ playerid ] + 5;???....

Gal tu *Myliu SuperGames.lt* išsipagiriok nahalas? Sau viso gero sakyt? Pisk mokintis skriptint? Daug ritmesnių kalbų mokinuosi, o samp net nėra ką mokintis. Išvis galima padaryti vieną mygtuką, o ne du. Koks tu PRO scripter'is.

Paskutinė eilutė tavo vpš nesuprasi ką parašei.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

:D Camas , neesu pro scripteris :) Aš moku ne vien PAWN kalbą , aš moku HTML/CSS/PHP/PAWN/C++ ( nedaug , bet paprasta programa parašyt sugebu ) kalbas :).

O Dėl mygtuku koks skirtumas tau??.. Mano servas buvo o ne tavo kaip padariau taip padariau.

Tu *Myliu SuperGames.lt* aš tau atsakau. playercig [ playerid ] = playercig [ playerid ] + 5; čia tavo kode taip parašyta .. O geriau daryti paprastai : playercig [ playerid ] + 5;

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

:D Camas , neesu pro scripteris :) Aš moku ne vien PAWN kalbą , aš moku HTML/CSS/PHP/PAWN/C++ ( nedaug , bet paprasta programa parašyt sugebu ) kalbas :).

O Dėl mygtuku koks skirtumas tau??.. Mano servas buvo o ne tavo kaip padariau taip padariau.

Tu *Myliu SuperGames.lt* aš tau atsakau. playercig [ playerid ] = playercig [ playerid ] + 5; čia tavo kode taip parašyta .. O geriau daryti paprastai : playercig [ playerid ] + 5;

Toks dalykas kaip ... + 5; net neveiktų. Reikia naudoti arba ++ (1 pridėjimui) arba +=5.

Pats dirbu prie web.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

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ų

×   You cannot paste images directly. Upload or insert images from URL.


  • Šiame puslapyje naršo:   0 nariai

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

  • eneba
  • eneba
  • eneba



  • SuperGames programele
  • SuperGames programele