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

Užkandinė su GUI


appleomax

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

Pagal reikalavimą: http://www.supergames.lt/topic/171127-gal%C4%97tum%C4%97t-pamoka-numesti-arba-kaip-juos-sukurti/ nusprendžiau sukurti paprastą pamoką. Šioje pamokoje parodysiu, kaip susikurti paprastą užkandinę su pickup, ant kurio užlipus išmeta mums GUI dialogą ir leidžia pasirinkti maistą

 

Pridedame modifikacijos viršuje:

new pickupas; // Sukuriame pickupo kintamąjį

Susirandame OnGameModeInit ir pridedame

OnGameModeInit()
{
	pickupas = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1); // kuriame patį pickupą, koordinates ir kitus parametrus galite keisti savaip
	return 1;
}

OnPlayerPickUpPickup:

public OnPlayerPickUpPickup(playerid, pickupid) // Callbackas, kuris kviečiamas kai žaidėjas užlipa ant pickup
{
	if(pickupid == pickupas) // kai žaidėjas užlipa ant mūsų sukurto pickupo, rodome jam dialogą
	{
		ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST,"Užkandinė","Mėsainis\nDešrainis\nKebabas\nBulvytės","Valgyti","Atšauti"); // Parodome dialogą, kuris suteiks galimybę pasirinkti 1 iš 4 užkandžių
	}
	return 1;
}

OnDialogResponse:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 0) // Jeigu žaidėjui parodėme dialogą su ID 0, kuris yra užkandinės dialogas
	{
		if(response) // Tikriname ar paspaudė "Valgyti"
		{
			if(listitem == 0)
			{
				SendClientMessage(playerid, -1, "Valgote mėsainį");
			}
			if(listitem == 1)
			{
				SendClientMessage(playerid, -1, "Valgote dešrainį");
			}
			if(listitem == 2)
			{
				SendClientMessage(playerid, -1, "Valgote kebabą");
			}
			if(listitem == 3)
			{
				SendClientMessage(playerid, -1, "Valgote bulvytes");
			}
		}
	        return 1;
        }
	return 0;
}

Įspėjimas: jeigu jau turite ShowDialog su ID 0, tai jį pakeiskite į prieinamą

 

Callbackai:

 

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

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

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

Redaguota , nario appleomax
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Ir ka tu cia padarei? PICKUPA, DIALOG, ir  MSG nusiuntima? Nei animacijos nieko... Bevertis skriptas...

 

Visų pirma dariau tai pagal reikalavimą visiškiems naujokams , dabartiniai naujokai net to nesugeba pasidaryt,i tai nusiramink

Redaguota , nario appleomax
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 1 metų...
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 0) // Jeigu žaidėjui parodėme dialogą su ID 0, kuris yra užkandinės dialogas
	{
		if(response) // Tikriname ar paspaudė "Valgyti"
		{
		    switch(listitem)
		    {
		        case 0: SendClientMessage(playerid, -1, "Valgote mėsainį");
		        case 1: SendClientMessage(playerid, -1, "Valgote mėsainį");
		        case 2: SendClientMessage(playerid, -1, "Valgote mėsainį");
		    }
		}
		return true;
	}
	return true;
}

Šis varijantas geriau, mažiau eilučių xd

Redaguota , nario !Tautvis!
Nuoroda į komentarą
Dalintis per kitą puslapį

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 0) // Jeigu žaidėjui parodėme dialogą su ID 0, kuris yra užkandinės dialogas
	{
		if(response) // Tikriname ar paspaudė "Valgyti"
		{
		    switch(listitem)
		    {
		        case 0: SendClientMessage(playerid, -1, "Valgote mėsainį");
		        case 1: SendClientMessage(playerid, -1, "Valgote mėsainį");
		        case 2: SendClientMessage(playerid, -1, "Valgote mėsainį");
		    }
		}
		return true;
	}
	return true;
}
Šis varijantas geriau, mažiau eilučių xd
Nihuja
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...

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