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

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4877 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. Noriu jūs pamokyti, kaip sukūrti pickup'ą, kuris leis jums pasirinkti kažkokią dovaną švenčių proga. Kalėdos praėjo, bet vis tik laukiam naujų metų.

Pickup'as atrodys taip:

8b852ac361132942e1989a48d574b8be726.png

Nueiname į betkokį serverį, nueinate į jums patinkančią vietą (siūlau prie eglutės), kur bus jūsų dovanų pickup'as ir rašote /save dovana.

Einame į serverio failus, atsidarome gamemodes/data/playerDB failą.

Padarome naują eilutę betkur po:

enum item{

Įkeliame šį tekstą į tą eilutę:

dovana,

Atsidarome pickups.txt failą, kuris taip pat yra gamemodes/data aplanke.

Po eilute:

enum pdata{

Įrašome:

dovana,

Nusileidžiame kur nors žemiau, prie visų pickupų.

Padarome naują eilutę ir įdedame tekstą:

pickups[0][dovana]=CreatePickupA(1247, 2, x, y, z);

x, y, z - įkeliate koordinates, kurias gavote serveryje, parašę /save dovana.

Išsaugotos koordinatės atsiranda savedpositions.txt faile, kuris randasi Documents/GTA San Andreas User Files/samp aplanke.

Iš gautų koordinačių išimame skaičius esančius tik šioje vietoje kaip pavizdyje:

AddPlayerClass(100,-2446.4983,529.3775,30.2278,66.9066,0,0,0,0,0,0);

Čia mano gautos koordinatės, tai tik pavizdys.

Grįžtame į gamemodes aplanką ir atidarome jūsų gamemode failiuką. Dažniausiai GRP serveriai turi band7.pwn failiuką, jį atidarome.

Susirandame eilutę:

OnPlayerPickUpPickup
{

Kur nors po ja įkeliame mūsų pickup'o funkciją:

if(pickupid == pickups[0][dovana])
{
if(playerDB[playerid][dovana] == 1)
{
SendClientMessage(playerid,RED,"Jūs jau pasiėmete dovaną!");
return 0;
}
ShowPlayerDialog(playerid, 11223, DIALOG_STYLE_LIST, "Pasirinkite dovaną!", "1000LT\n500xp", "Pasirinkti", "Atšaukti");
return 1;
}

Susirandame eilutę su tekstu:

OnDialogResponse
{

Kur nors po ja, laisvoje, tuščioje vietoje įkeliame dovanų gavimo funkciją:

if(dialogid == 11223)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid,0xFFFFFFAA,"Svenciu proga gavote dovana: 1000 LT! Siltu ir linksmu svenciu!");
GivePlayerMoneyA(playerid,1000);
playerDB[playerid][dovana]=1;
}
if(listitem == 1)
{
SendClientMessage(playerid,0xFFFFFFAA,"Svenciu proga gavote dovana: 500 XP! Siltu ir linksmu svenciu!");
SetPlayerScore(playerid,GetPlayerScore(playerid)+500);
playerDB[playerid][dovana]=1;
}
}
return 1;
}

Išsaugome ir sukompilinam darbą. Spaudžiame F5. Jei iškylo klaidų, prašau rašyti temoje. Jei radote klaidų mano pamokoje, taip pat praneškite! Linksmų švenčių!

Galite keisti dovanas arba dovanų kiekį. Pvz, dovana 500xp perrašote į jūsų norimą skaičių ir taip pat pakeičiate eilutėje

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

+500 į +jūsų norimą kiekį.

-- Papildyta --

Šią eilutę:

ShowPlayerDialog(playerid, 11223, DIALOG_STYLE_LIST, "Pasirinkite dovaną!", "1000LT\n500xp", "Pasirinkti", "Atšaukti");

Padarykite, jog ji būtų vienoje eilutėje, o neišskirta į dvi eilutes.

Tiek dirbu,o REP negaunu :( Jei negaila +REP :)

Tikrai lengva ir įdomu, juk linksma per šventes gauti dovanų, bet dabar aš galvoju reiks man pasidaryti fejerverkų parduotuvę tai tikrai būtu įdomu... Bet aš manau nespėsiu iki naujų metų tai šia idėja atiduodu jums... ;)

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

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai



×
×
  • Sukurti naują...