Jump to content

cigarety + zavislost


Guest [BJ]boban88

Recommended Posts

Guest [BJ]boban88

ok dalsi TUT odomna je na poziadanie jedneho cloveka ide oto ze hrac si kupi skatulku cigariet v ktorej je 20 cigariet ak si hrac zapali stane sa cigareta[playerid]--; ak hrac vyfajci tychto 20 cigariet stane sa zavislym ak sa toto stane hracovi sa ukaze progresbar kde mu bude ubudat chut na cigu aak je na 0 tak ho to zabije ok tak podme nato ;)

 

 

ako prve si stiahneme tento INC DOWNLOAD

a teraz ideme nato uplne hore do modu dame tieto veci:

#include // celkom sa nam zide 
new cigareta[MAX_PLAYERS];
new cigaz[MAX_PLAYERS];;
new zavislost[MAX_PLAYERS]
new Bar:cig;
#define cigo 100 // nadefinujeme dialog
#define SCM SendClientMessage // ulachcene pisanie (neplati pre kopirakov )
forward text(playerid);
forward OdpocetCiga(playerid);

do ongamemodeinit

cig = CreateProgressBar(550,130,55.5,3.2,0x008000AA,100);//vytvorime progresbar

do onplayerspawn

if(zavislost[playerid]>20){//ak je zavislost vyssia ako 20
SetTimerEx("text",1000,0,"i",playerid);//spustime timer
SetTimerEx("OdpocetCiga",10000,1,"i",playerid);//spustime timer
ShowProgressBarForPlayer(playerid,cig);//ukazeme mu progresbar
}

onplayercommandtext

dcmd(zapalit,7,cmdtext);

OnPlayerUpdate

if(cigaz[playerid] == 0)//ak potreba klesla na 0
{
SCM(playerid,COLOR_RED,"nedoplnil si nikotin skapal si.");
SetPlayerHealth(playerid,0);//zabijeme ho 
cigaz[playerid] = 100;//nastavime s5 na 100
SetProgressBarValue(cig,cigaz[playerid]);//nastavime progresbar
UpdateProgressBar(cig,playerid);//obnovime progresbar
}

niekam mimo

public text(playerid) 
{
if(IsPlayerConnected(playerid)) SetTimerEx("text",1000,0,"i",playerid);//spustime timer
SetProgressBarValue(cig,cigaz[playerid]);//nastavime progresbar
UpdateProgressBar(cig,playerid);//obnovime progresbar
return 1;
}

public OdpocetCiga(playerid) // Odpocet
{
cigaz[playerid]--;//odpocitame potrebu
return 1;
}

dcmd_zapalit(playerid, params[])
{
#pragma unused params
new string[128];
if(cigareta[playerid] < 1)return SCM(playerid,0xFF0000AA,"nemas ziadnu cigaretu");//ak ten chuj nema cigi
if(zavislost[playerid]<20){//ak je zavislost este mensia ako 20 tak si iba zapali nic viac
ApplyAnimation(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
cigareta[playerid]--;//ubereme mu jednu cigaretu
zavislost[playerid]++;//pridame mu 1 zavislost
format(string, sizeof(string), "zapalil si si ostava ti %s cigariet.", cigareta[playerid]);
SCM(0x008000AA, string);
}else{
cigaz[playerid] = 100;//prave sa stal zavislym tak mu nastavime hodnotu na 100
ApplyAnimation(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);//animacia fajcenia
cigareta[playerid]--;//ubereme mu jednu cigaretu
ShowProgressBarForPlayer(playerid,cig);//prave sa stal zavislim tak mu ukazeme zavislost
format(string, sizeof(string), "zapalil si si ostava ti %s cigariet.", cigareta[playerid]);
SCM(playerid,0x008000AA, string);
}
return 1;
}

ok a teraz si este dame niekam kde si kupy tie cigarety

ongamemodeinit

CreatePickup(1274,1,x,y,z);//suradky si doplnte

onplayerpickup

if(IsPlayerInSphere(playerid,x,y,z,2))//suradky rovnake ako pickup
{
ShowPlayerDialog(playerid,cigo,DIALOG_STYLE_MSGBOX,"cigi","marlboro","kupit","odist");//ukazeme mu dialog kde si moze kupit cigi
}

on dialogresponse

if(dialogid == cigo)//ak je dialog cigo
if(response == 1)//ak stlaci 1 stane sa co ma
{
if ( GetPlayerMoney(playerid) < 100){
SCM(playerid, 0xFF0000AA, "Nemáš peniaze [100$].");// ak nema dostatok penazi
}else{
new string[256];
format(string, sizeof(string), "kupil si si cigarety mas %s cigariet.", cigareta[playerid]);
SCM(playerid,0x008000AA,string);//posle mu spravu kolko ma cigariet
GivePlayerMoney(playerid,-100);//zobereme mu peniaze za tie cigi
cigareta[playerid]=cigareta[playerid]+20;//pridame mu 20 cigariet
}
if(response == 0){} // ak stlaci 2 tak nic
}

a ukladanie

disconect

dini_IntSet(file, "cigi",cigareta[playerid]);
dini_IntSet(file,"zavislost",zavislost[playerid])
dini_IntSet(file,"potreba",cigaz[playerid])

login

cigareta[playerid] = dini_Int(file, "cigi");
zavislost[playerid] = dini_Int(file, "zavislost");
cigaz[playerid] = dini_Int(file, "potreba");

 

 

tak to je vsetko malo by ist vsetko ok nerobil som to v PWN ale vsetko som pisal tu v tomto okienku napisanie tak ak by ste videli chybu tak napiste ale kukal som to 3x takze malo by byt vsetko ok ale vzhladom na pokrocilu hodinu je mozne ze sa chybicka vbloudila :v: :v: :v: :v:

Link to comment
Share on other sites

Guest [BJ]boban88
To je dobry napad ale jak pak udelat aby se dalo odvyknout od cigaret?:d To pak treba bbude kourit o 1 min ?:d

da sa to spravit jednoducho

 

hore

#define odvykacka 101

ongamemodeinit

CreatePickup(1274,1,x,y,z);

onplayerpickup

if(IsPlayerInSphere(playerid,x,y,z,2))
{
ShowPlayerDialog(playerid,odvykacka,DIALOG_STYLE_MSGBOX,"odvykacka","odvyknut za 10 000?","ANO","NIE");
}

ondialogresponse

if(dialogid == odvykacka)
if(response == 1)
{
if ( GetPlayerMoney(playerid) < 10000){
SCM(playerid,0xFF0000AA,"Nemáš 10 000$");    
} else {
GivePlayerMoney(playerid,-10000);
cigaz[playerid]=0;
zavislost[playerid]=0;
HideProgressBarForPlayer(playerid,cig);
SCM(0x008000AA, "odvikol si si od cigariet");  
}
if(response == 0){} 
}

 

tento tut se mi zase libi někomu se to hodi do modu třeba nice 10/10

 

o5 dik :v:

Link to comment
Share on other sites

Guest [BJ]boban88
1. undefinited symbol CreateProgressBar

undefinited symbol UpdateProgressBar

undefinited symbol SetProgressBarValue

k tomuto zabudol som pridat #include uz je tam takze tie erory uz nebudu

2. tut má biť na vysvetlenie funkcii + malé ukážkové scripty a nie sem dať celý script...

takto má vyzerať normálny tut

viewtopic.php?f=8&t=11560

viewforum.php?f=78

viewtopic.php?f=8&t=3781

no jasne porovnavaj z ATomas-om a chytrak-om to ti ide vies co mne je to jedno co si myslis ja osobne si myslim ze za 0/10 to urcite neni ale ja ti to neberem kazdy ma vlastni nazor

Link to comment
Share on other sites

Guest Punkevník

Není to vysvetlené žiadna funkcia niekto pride da ctrl c ctrl v a ma to v mode nemal si to vysvetlovat ze prikaz:blbalba// TU VYSVETLENIE ale mal si to pisat prikaz:bkavkav a pod to prikaz bkabkav znamena ..... -0/10

Link to comment
Share on other sites

Není to vysvetlené žiadna funkcia niekto pride da ctrl c ctrl v a ma to v mode nemal si to vysvetlovat ze prikaz:blbalba// TU VYSVETLENIE ale mal si to pisat prikaz:bkavkav a pod to prikaz bkabkav znamena ..... -0/10

Presne si popsal co delas, jak vytvaris mod xD

Link to comment
Share on other sites

Presne si popsal co delas, jak vytvaris mod xD

To si zabil :d :D :d

 

edit:

 

SetTimerEx("text",1000,0,"i",playerid);//spustime timer 

 

co jsou ty parametry za 1000 ? Ja to nechapu...

Link to comment
Share on other sites

Já souhlásím s Qwertem. "není to vysvětlené". A ještě jedna věc. Když jsi líný dělat vysvětlení na progresbar tak na něj alespoň udělej nějakej odkaz např. wiki nebo jsem tu viděl i tut. 4/10

Link to comment
Share on other sites

Lol a to jako začne abstinence a hned chcípne jo? :d abstinence má něják sedum etap které tě pomalu fyzicky zabijí, na marihuaně máš závislost psychickou tam nechcípneš ale tady? dal bych třeba každou dobu SetPlayerHealth(playerid, GetPlayerHealth(playerid,-30)); nebo jak se to dělalo :d já už nevim ... a další je odvykování .. ale to se povede málo kterýmu kuřákovi tak co :d a abstinence se mi ani moc neprojevuje ;) (vlastní zkušenost) a za 2 todhle bych nedělal, serte všichni na kouření, dopadnete jako já ... dovedlo mě to až ke drogám a potom mě kvůli tomu opustila holka :(

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Prosím vás, jaký je ten OnPlayerUpdate? Já tam tento public nemám, prosím pošle mi někdo , jak vypadá (třeba public OnPlayerUpdate (NECO,NECO,NECO)

Díky moc, vypadá to zajímavě :)

Link to comment
Share on other sites

Prosím vás, jaký je ten OnPlayerUpdate? Já tam tento public nemám, prosím pošle mi někdo , jak vypadá (třeba public OnPlayerUpdate (NECO,NECO,NECO)

Díky moc, vypadá to zajímavě :)

 

http://wiki.sa-mp.com/wiki/OnPlayerUpdate

 

Příště použij toto, toto, potažmo rovnou toto.

Link to comment
Share on other sites

Prosím vás, jaký je ten OnPlayerUpdate? Já tam tento public nemám, prosím pošle mi někdo , jak vypadá (třeba public OnPlayerUpdate (NECO,NECO,NECO)

Díky moc, vypadá to zajímavě :)

 

http://wiki.sa-mp.com/wiki/OnPlayerUpdate

 

Příště použij toto, toto, potažmo rovnou toto.

I´m sorry, I´m stupid.

K tutu - Pravda funkce nejsou vysvětlené, ale kdo by to chtěl dělat při tak dlouhém TUTU :d njn tak 8.5/10 :thumbup:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...