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

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3787 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 ! šiandien aš sumyslyjau švenčių proga įkelti savo kurtą dovanėlių sistemą.

Aprašymas: Iš viso dovanėlių yra 35, jas rinkti galima tik iš eilės, surinkus jas visas reikia sugrįžti į event'o pradinę vietą, taipat po rr niekas nedings, saugojima padariau su dini.

Taigi pradedu

GM viršuje įdedame

enum merry
{
dovanos,
pradejoevent,
baigeevent
}
new DovanuDB[MAX_PLAYERS][merry];
tuomet prie kitų pickup'ų kintamujų dedame
dovana[36],
Sukuriame komanda event'o pradžiai, pabaigai (vietoj X, Y, Z įrašykite savo kordinates) taipat nusistatykite ką gaus žaidėjas kaip prizą.
CMD:kaledos(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid,10,X,Y,Z)) return SendClientMessage(playerid,Raudona,"Tu neesi prie eglutės!");
if(DovanuDB[playerid][baigeevent]==1) return GameTextForPlayer(playerid,"~r~Tu jau uzbaigei event!",1500,4);
if(DovanuDB[playerid][pradejoevent]==1 && DovanuDB[playerid][dovanos]!=35) return SendClientMessage(playerid,Raudona,"Tu nesurinkai visu dovanu!");
if(DovanuDB[playerid][pradejoevent]==1 && DovanuDB[playerid][dovanos]==35)
{
ShowPlayerDialog(playerid, 4251,DIALOG_STYLE_MSGBOX,"Kalėdinis event","* Surinkai visas kalėdu senio paliktas dovanas, saunu, uz tai gauni prizu!\n{00FF00}15000 LT","+","-");
DovanuDB[playerid][baigeevent]=1;
GivePlayerMoney(playerid,15000);
return 1;
}
if(DovanuDB[playerid][pradejoevent]==0)
{
ShowPlayerDialog(playerid, 4250,DIALOG_STYLE_MSGBOX,"Kalėdinis event","* Ar nori pradėti 2014 kalėdinį event'ą ?","Tęsti !","Atšaukti");
return 1;
}
return 1;
}
OnDialogResponse dedame
if(dialogid == 4250)
{
if(response)
{
SendClientMessage(playerid,Melyna,"Pradėjai {00FF00}2014 {33CCFF}metų kalėdinį event !");
ShowPlayerDialog(playerid,4251,DIALOG_STYLE_MSGBOX, "Informacija","{FFFFFF}Visos dovanos yra paslėptos San-Fierro mieste(SF)\nIš viso dovanų yra {00FF00}35{FFFFFF}, surinkes visas dovanas turi grįžti čia atsiimti prizo!","Supratau","");
DovanuDB[playerid][pradejoevent]=1;
return 1;
}
if(!response)
{
return 1;
}
}
OnPlayerPickUpPickup dedame
for(new i=1; i<(dovana); i++)
{
    if(pickupid == pickups[0][dovana][i])
    {
        if(DovanuDB[playerid][dovanos]>(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Ðià dovanà jau radote !");
        if(DovanuDB[playerid][dovanos]<(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Turi dovanu ieskoti pagal eile !");
        DovanuDB[playerid][dovanos]++;
        SendClientMessage(playerid, Geltona,"Sveikiname radus dovanà !");
        return 1;
    }
}
prie kitų stock'ų dedame
stock SaugomDovanas(playerid, bool:simple)
{
	new file[80];
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,sizeof(name));
	format(file,sizeof(file),"Dovanos/%s.ini",name);
	if(!dini_Exists(file))
	{
	dini_Create(file);
	}
    dini_IntSet(file,"dovanos",DovanuDB[playerid][dovanos]);
	dini_IntSet(file,"pradejoevent",DovanuDB[playerid][pradejoevent]);
	dini_IntSet(file,"baigeevent",DovanuDB[playerid][baigeevent]);
}
stock KraunamDovanas(playerid)
{
	new name[MAX_PLAYER_NAME],file[80];
	GetPlayerName(playerid,name,sizeof(name));
	format(file,sizeof(file),"Dovanos/%s.ini",name);
	DovanuDB[playerid][dovanos] = dini_Int(file,"dovanos");
	DovanuDB[playerid][pradejoevent] = dini_Int(file,"pradejoevent");
	DovanuDB[playerid][baigeevent] = dini_Int(file,"baigeevent");
}
gm viršuje dedame
forward SaugomDovanas(playerid, bool:simple);
forward KraunamDovanas(playerid);
onplayerspawn dedame
KraunamDovanas(playerid);
onplayerdisconnect dedame
SaugomDovanas(playerid, true);
Ir galiausiai prie savo kitų pickup'ų arba ongamemodeinit dedame (kordinates galit pasikeisti).
pickups[0][dovana][1]=CreatePickupA(19056 ,2,-2149.2300,-135.5919,43.0010);
pickups[0][dovana][2]=CreatePickupA(19056 ,2,-2278.4980,-3.0964,36.2658);
pickups[0][dovana][3]=CreatePickupA(19057 ,2,-2428.7244,756.0995,35.1719);
pickups[0][dovana][4]=CreatePickupA(19057 ,2,-1929.9813,843.5460,-7.2984);
pickups[0][dovana][5]=CreatePickupA(19058 ,2,-1470.3845,703.1182,7.8480);

pickups[0][dovana][6]=CreatePickupA(19058 ,2,-1843.4628,130.1778,20.4078);
pickups[0][dovana][7]=CreatePickupA(19054 ,2,-1559.7113,-1490.6605,44.9453);
pickups[0][dovana][8]=CreatePickupA(19054 ,2,-1678.9302,-1203.9124,63.8645);

pickups[0][dovana][9]=CreatePickupA(19055 ,2,2293.5422,-1217.8193,-18.0089);
pickups[0][dovana][10]=CreatePickupA(19055 ,2,-1956.1766,395.1110,36.2000);
pickups[0][dovana][11]=CreatePickupA(19055 ,2,-2063.5894,257.9582,35.4184);
pickups[0][dovana][12]=CreatePickupA(19055 ,2,-1637.4703,1431.6815,7.1792);
pickups[0][dovana][13]=CreatePickupA(19055 ,2,-1739.5491,1234.7786,7.5469);

pickups[0][dovana][14]=CreatePickupA(19055 ,2,-1822.4529,-281.5427,25.0065);
pickups[0][dovana][15]=CreatePickupA(19055 ,2,-2045.4639,-33.7785,39.8622);
pickups[0][dovana][16]=CreatePickupA(19055 ,2,-2616.7051,-91.4828,4.3435);

pickups[0][dovana][17]=CreatePickupA(19055 ,2,-2925.4556,-96.6735,0.3873);
pickups[0][dovana][18]=CreatePickupA(19055 ,2,-2711.6951,-853.1942,7.0152);
pickups[0][dovana][19]=CreatePickupA(19055 ,2,-2243.1450,-1753.8252,478.0470);

pickups[0][dovana][20]=CreatePickupA(19056 ,2,-2238.5574,537.9151,35.2535);
pickups[0][dovana][21]=CreatePickupA(19055 ,2,-2261.0313,442.9736,41.5669);
pickups[0][dovana][22]=CreatePickupA(19055 ,2,-1664.2201,699.9802,24.8976);
pickups[0][dovana][23]=CreatePickupA(19055 ,2,-2662.4263,1352.2361,53.8972);
pickups[0][dovana][24]=CreatePickupA(19055 ,2,-1132.1487,1096.3795,32.8001);

pickups[0][dovana][25]=CreatePickupA(19057 ,2,-1606.0856,314.5273,7.1875);
pickups[0][dovana][26]=CreatePickupA(19055 ,2,-2487.1157,2357.1829,10.2663);
pickups[0][dovana][27]=CreatePickupA(19055 ,2,-1980.6046,430.8787,25.2952);
pickups[0][dovana][28]=CreatePickupA(19055 ,2,-1868.0129,32.1854,16.5726);
pickups[0][dovana][29]=CreatePickupA(19055 ,2,-1308.1973,-1518.1567,24.0436);

pickups[0][dovana][30]=CreatePickupA(19055 ,2,-1055.3204,-612.1994,32.0078);
pickups[0][dovana][31]=CreatePickupA(19058 ,2,-1887.6090,-204.7130,14.9752);
pickups[0][dovana][32]=CreatePickupA(19055 ,2,-2289.5332,-329.1719,50.8984);
pickups[0][dovana][33]=CreatePickupA(19056 ,2,-2506.1040,106.7170,35.1719);
pickups[0][dovana][34]=CreatePickupA(19055 ,2,-2777.4250,235.2859,7.1875);
pickups[0][dovana][35]=CreatePickupA(19054 ,2,-2819.2378,1115.3632,26.9500);
Gero naudojimo :) jei rasit klaidų praneškit. Redaguota , nario W4NT3D

 

 

dovana0,

dovana1,

dovana2,

dovana3,

dovana4,

dovana5,

dovana6,

dovana7,

dovana8,

dovana9,

dovana10,

dovana11,

dovana12,

dovana13,

dovana14,

dovana15,

dovana16,

dovana17,

dovana18,

dovana19,

dovana20,

dovana21,

dovana22,

dovana23,

dovana24,

dovana25,

dovana26,

dovana27,

dovana28,

dovana29,

dovana30,

dovana31,

dovana32,

dovana33,

dovana34,

Tiesiog siaubas.... nėra ką daugiau ir pasakyt.

Reikia Pawn pagalbos? Skype nerašyk.

 

 

 

 

 

 

O jei pabandytume taip?

for(new i=1; i<sizeof(dovana); i++)
{
    if(pickupid == pickups[0][dovana][i])
    {
        if(DovanuDB[playerid][dovanos]>(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Ðià dovanà jau radote !");
        if(DovanuDB[playerid][dovanos]<(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Turi dovanu ieskoti pagal eile !");
        DovanuDB[playerid][dovanos]++;
        SendClientMessage(playerid, Geltona,"Sveikiname radus dovanà !");
        return 1;
    }
}

O jei pabandytume taip?

for(new i=1; i<sizeof(dovana); i++)
{
    if(pickupid == pickups[0][dovana][i])
    {
        if(DovanuDB[playerid][dovanos]>(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Ðià dovanà jau radote !");
        if(DovanuDB[playerid][dovanos]<(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Turi dovanu ieskoti pagal eile !");
        DovanuDB[playerid][dovanos]++;
        SendClientMessage(playerid, Geltona,"Sveikiname radus dovanà !");
        return 1;
    }
}
++!! Va apie ka kalbejau! Kodas sutrumpintas 100x.

Guess who's back

 

O jei pabandytume taip?

for(new i=1; i<sizeof(dovana); i++)
{
    if(pickupid == pickups[0][dovana][i])
    {
        if(DovanuDB[playerid][dovanos]>(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Ðià dovanà jau radote !");
        if(DovanuDB[playerid][dovanos]<(i-1)) return SendClientMessage(playerid, Raudona,"~r~ Turi dovanu ieskoti pagal eile !");
        DovanuDB[playerid][dovanos]++;
        SendClientMessage(playerid, Geltona,"Sveikiname radus dovanà !");
        return 1;
    }
}

Skriptinu dar tik ~4 mėnesius, nemanau kad pats būčiau išmastęs tokį kodą, bet ačiū kad parodei trumpesnį kelia :)

O kas sakė kad aš nesuprantu? Tiesiog ši pamoka naujokų nieko neišmokins, nes nepaaiškinta, ką kokia funkcija daro, tiesiog kai kurie įsimes skriptą ir džiaugsis, kokie jie kūrėjai.

Jei ir būtų paaiškinimai dauguma į juos dėmesio nekreiptų.
prieš 15 valandas(-ų), perestukinas maskatuoklis parašė:

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

Bet nevisi tokie, tikrai yra žmonių, kurie nori mokytis.

Žinoma, kad yra, todėl ir parašiau "dauguma". Bet vistiek tenka pripažinti, kad didžioji dalis yra vaikai, kuriems svarbu kažką įsidėti į serverį ir tada puikuotis prieš draugus ir sakyti, kad tai padarė jie. Jiems visiškai neįdomu kaip tai veikia.
prieš 15 valandas(-ų), perestukinas maskatuoklis parašė:

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

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