Jump to content

script Uložište jednoduše... $ vložit/vybrat/stav


rEf

Recommended Posts

Je to popsaný víc to popisovat ani se vyjadřovat nebudu blbne mi internet.

Někdo ocení někdo ne.

/*
	Uložiště nebo-li Banku podle vás jsem vytvořil z nudy.
	rEfíček 2015
	Lepší pawneři mě můžou bu****vat nebo si rovnat skill's.
	Jinak pro ty co neumí skoro nic tohle funguje tak se nebojte (pokud jsem na něco nezapoměl ).
	Je to jako FS ale můžete si to udělat jako includ nebo dát do módu přímo.
	Jenom místo Banka[MAX_PLAYERS] si zadejte svoje to snad umíte.
	Popsaný to je dost přeji příjemné mazání // textu 
*/

#include <a_samp>

//------------------------------------------------------------------------------

#define MAX_BANKS 		100 // maximum kolik lze vytvořit bank

//------------------------------------------------------------------------------

#define D_Banka 		2420 // definice dialog menu uloziste
#define D_Banka_Vlozit 	2421 // definice dialog vlozeni penez do uloziste
#define D_Banka_Vybrat 	2422 // definice dialog vybrani penez s uloziste
#define D_Banka_Stav 	2423 // definice dialog stav penez v ulozisti

//------------------------------------------------------------------------------

new BankPickup[MAX_BANKS]; // pickup uložiště
new BankCount = -1; // count
new Banka[MAX_PLAYERS]; // tohle je jenom pro příklad

//------------------------------------------------------------------------------

public OnFilterScriptInit(){
	// Místo 0,0,0 dosadte pozice x,y,z uložiště vždy vytvoříte CreateBank(pozice x, pozice y, pozice z);
	CreateBank(0,0,0);
	CreateBank(0,0,0);
	return true;
}

//------------------------------------------------------------------------------

public OnFilterScriptExit(){ // pro me momentalne nepodstatna blbost ale podstatna blbost pro filterscript
	return true;
}

//------------------------------------------------------------------------------

public OnPlayerConnect(playerid){
	Banka[playerid] = 0; // pro příklad peníze v uložišti na 0 po připojení potom si dejte login/register
	// kde bude logicky načítání peněz což snad umí ten kdo to využije
	return true;
}

//------------------------------------------------------------------------------

public OnPlayerPickUpPickup(playerid, pickupid){
	for(new i; i <= BankCount;i++){ // count jednoduše aby bylo jasno o jaké uložiště se jedná id 0 1 2 3 ... atd
		if(pickupid == BankPickup[i]){ // pickup uložiště a níže co vyvolá
  			ShowPlayerDialog(playerid,D_Banka,DIALOG_STYLE_LIST,"Uložiště peněz","Vložit\nVybrat\nStav","Vybrat","Zavřít");
		}
	}
	return true;
}

//------------------------------------------------------------------------------

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    new s[200]; // string
	if(dialogid == D_Banka){ // dialog menu uložiště
		if(response == 1){ // tlačítko levé
			if(listitem == 0) return ShowPlayerDialog(playerid,D_Banka_Vlozit,DIALOG_STYLE_INPUT,"Uložiště peněz","Zadejte částku kterou chcete vložit.","Vložit","Zrušit"); // vložení peněz input
			else if(listitem == 1) return ShowPlayerDialog(playerid,D_Banka_Vybrat,DIALOG_STYLE_INPUT,"Uložiště peněz","Zadejte částku kterou chcete vybrat.","Vybrat","Zrušit"); // vybrání peněz input
			else if(listitem == 2){ // stav peněz v uložišti
				format(s, sizeof(s), "Na účtě máš $%d", Banka[playerid]); // format
				ShowPlayerDialog(playerid,D_Banka_Stav,DIALOG_STYLE_MSGBOX,"Uložiště peněz",s,"Zavřít",""); // dialog stav klasika msgbox
			}
		}
	}
	if(dialogid == D_Banka_Vlozit){ // dialog vlozit input
		if(response == 1){ // tlačítko levé
			new money = strval(inputtext); // new money se rovná inputtext částka kterou jste zadali přes strval
			if(GetPlayerMoney(playerid) < money) return SendClientMessage(playerid, -1, "Nemáš dostatek peněz."); // zjistí kolik máte peněz u sebe a kolik chcete vložit
			if(money <= 0) return SendClientMessage(playerid, -1, "Nemůžeš zadat 0 nebo -."); // zjistí jestli jste nezadal 0 nebo -částku
			Banka[playerid] += money; // dá peníze do uložiště
			GivePlayerMoney(playerid,-money); // sebere vám peníze které jste vložili
			SendClientMessage(playerid, -1, "Úspěšně si vložil peníze na účet."); // zpráva
		}
	}
	if(dialogid == D_Banka_Vybrat){ // dialog vybrat input
		if(response == 1){ // tlačítko levé
			new money = strval(inputtext); // new money se rovná inputtext částka kterou jste zadali přes strval
			if(Banka[playerid] < money) return SendClientMessage(playerid, -1, "Tolik peněz na účtě nemáš."); // zjistí peníze v uložišti a kolik si chcete vybrat
			if(money <= 0) return SendClientMessage(playerid, -1, "Nemůžeš zadat 0 nebo -."); // zjistí jestli jste nezadal 0 nebo -částku
			Banka[playerid] -= money; // sebere peníze s uložiště
			GivePlayerMoney(playerid,money); // dá vám peníze
			SendClientMessage(playerid, -1, "Úspěšně si vybral peníze s účtu."); // zpráva
		}
	}
	return true;
}

//------------------------------------------------------------------------------

stock CreateBank(Float:x, Float:y, Float:z){ // stock pro vytváření uložišt/bank
	BankCount++; // +1 count vždy připočte podle toho kolik jste uložišt vytvořili
	if(BankCount >= MAX_BANKS) return print("Byl prekrocen max. pocet bank."); // zjistí jestli není překročen limit
	BankPickup[BankCount] = CreatePickup(1274,1,x,y,z,0); // vytvoří pickup zeleného $
	// sem si můžete přidat třeba mapikonu
	return BankCount; // return count klasika
}
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 3 weeks later...

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...