Peršokti į turinį
G-l-iMa-S-

Reikia pamokos :)

Recommended Posts

Sveiki taigi kas galite įdėti paprasta pamoką [RPG], nes esu pradininkas ant scriptinimo :) Tai ieškau pamokos, kai nueini į piceriją galėtum kažko nusipirkti :) Norėčiau, kad kai pavalgytų duotu biški gyvybių, ir, kad būtų su animacija :) Ir aišku, kad tam žmogui, kuris perką maistą nuima pinigų :) Kas įdės gaus +R3P. Dėkuj iš anksto

Dalintis šį pranešimą


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

Sveikas,na pabandysiu tave pamokyti kaip tai padaryti.

Pirmiausia reikia susikurti pickupą ant kurio užlipus išmestų visus maistus.

Viršuje susikurk :

new maistas;

Ir po :

public OnGameModeInit() 

Rašyk :

maistas = CreatePickup(1274, 2,  tavo pickup'o koordinatės , -1);

Na va,pickupą susikūrei.Dabar reikia,kad ant jo užlipus išmestų maisto pasirinkimą.

Po :

Po public OnPlayerPickUpPickup(playerid, pickupid)
{

Rašyk :

if(pickupid == maistas)
{
	ShowPlayerDialog(playerid, 15, DIALOG_STYLE_LIST,"Užkandinės meniu", "Sumuštinis 4LT\nDešrainis 3LT\nKeptas viščiukas 11LT", "Pirkti", "Iseiti");
	return 1;
}

Susikūrei dialogo langą.Dabar užlipus viską išmes kas ten parašyta,bet paspaudus kurį nors iš jų,nieko nevyks,todėl po :

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

Rašome :

if(dialogid == 15)
  {
     if(response)
     {
			if(listitem == 0)

        {
	 	if(GetPlayerMoney(playerid)< 4 )
		{
			SendClientMessage(playerid, COLOR, "Jums neužtenka pinigų.");
			return 1;
		} 
		SendClientMessage(playerid,COLOR,"Nusipirkote sumuštinį,skanaus.");
		GivePlayerMoney(playerid,-4);
		GivePlayerHealth(playerid,30);
		ApplyAnimation(playerid,"VENDING","vend_eat1_P",4.1,0,0,0,0,0);
        }
			if(listitem == 1)
        {
		if(GetPlayerMoney(playerid) < 6)
		{
			SendClientMessage(playerid,COLOR, "Jums neužtenka pinigų.");
			return 1;
		} 
     		SendClientMessage(playerid,COLOR,"Nusipirkote dešrainį,skanaus.");
		GivePlayerMoney(playerid,-6); 
		SetPlayerHealth(playerid,50);
		ApplyAnimation(playerid,"VENDING","vend_eat1_P",4.1,0,0,0,0,0); 
        }
			if(listitem == 2)
        {
		if(GetPlayerMoney(playerid) < 5)
		{
			SendClientMessage(playerid,COLOR, "Jums neužtenka pinigų.");
			return 1;
		} 
		SendClientMessage(playerid,COLOR,"Nusipirkote keptą viščiuką,skanaus."); 
		GivePlayerMoney(playerid,-11);
		GivePlayerHealth(playerid,80);
		ApplyAnimation(playerid,"VENDING","vend_eat1_P",4.1,0,0,0,0,0); 
	}
     }
     return 1;
  }

Kaip ir baigta,bet tau mes error'ą,nes mes panaudojome naują funkciją :

GivePlayerHealth(playerid,health);

Ši funkcija nenustato konkretų gyvybių skaičių,o tiesiog prideda gyvybes prie jau turimų.Kad nemestų error'o,reikia susikurti naują stock'ą.Tai kažkur pačioje apačioje rašyk :

stock GivePlayerHealth(playerid,health)
{
new Float:health1;
GetPlayerHealth(playerid,health1);
SetPlayerHealth(playerid, health1+health); 
return 1;
} 

na kaip ir viskas,tikiuosi padėjau ir tikiuosi,kad viską supratai.

Dalintis šį pranešimą


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



Svečias
Ši tema yra užrakinta.

  • Narių peržiūri šį forumą:   0 nariai

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


  • SuperGames programele
  • SuperGames programele


×