SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Scripting Help

Reply
 
Thread Tools Display Modes
Old 07/09/2019, 01:47 PM   #1
DarkWorldJack
Big Clucker
 
DarkWorldJack's Avatar
 
Join Date: Dec 2015
Location: Italy
Posts: 54
Reputation: 1
Default Textdraws Safe Money



ING:
Can you help me, I can't fix my code for depositing / withdrawing money, that is
- Left mouse button increases the money in the safe and decreases the money in possession (but the one on the Textdraws)
- Middle mouse button, decreases the money in the safe and increases the money in possession.


ITA:
Mi potete aiutare, non riesco a sistemare il mio codice per il deposito/prelievo dei soldi, ovvero
- tasto sinistro del mouse aumenta il denaro nella cassaforte e diminuisce il denaro in possesso (però quello sul Textdraws)
- Tasto centrale del mouse, diminuisce il denaro nella cassaforte e aumenta il denaro in possesso.


Code:
					    if (PREMI(KEY_SPRINT))
					    {
					        if (DenaroInPosesso[playerid] == 0 || DenaroInCassaforte[playerid] == 0) HideMenuCassaforte(playerid);
							else if (DenaroInCassaforte[playerid] == UserStat[playerid][spazio_cassaforte]) PlaySound(playerid, SOUND_CASSAFORTE_END);
							else {
								//Prelevare
						        if ((oldcash - DenaroInCassaforte[playerid]) < oldcash)
						        {
							        scmformat(playerid,COLOR_bianco,"Hai prelevato: $"verde"%s"bianco".", FormatNumber((oldcash - DenaroInCassaforte[playerid])));
						   		    giveSOLDI(playerid, (oldcash - DenaroInCassaforte[playerid])), Guadagno(playerid, (oldcash - DenaroInCassaforte[playerid]), 0, 0);
						         	UserStat[playerid][cassaforte] = (oldcash - DenaroInCassaforte[playerid]);
								}
					            //Depositare
						        else if (oldcash + DenaroInPosesso[playerid] > UserStat[playerid][spazio_cassaforte])
								{
									scm(playerid,COLOR_giallo,"La tua cassaforte è piena!");
								    UserStat[playerid][cassaforte] = UserStat[playerid][spazio_cassaforte];
								    new y = UserStat[playerid][spazio_cassaforte] - oldcash;
								    takeSOLDI(playerid, y), Guadagno(playerid, -y, 0, 0);
								    scmformat(playerid,COLOR_bianco,"Hai depositato: $"verde"%s"bianco".", FormatNumber(y));
								}
								else
								{
								    scmformat(playerid,COLOR_bianco,"Hai depositato: $"verde"%s"bianco". None", FormatNumber(DenaroInPosesso[playerid]));
								    takeSOLDI(playerid, DenaroInPosesso[playerid]), Guadagno(playerid, -DenaroInPosesso[playerid], 0, 0);
									UserStat[playerid][cassaforte] = (oldcash + DenaroInPosesso[playerid]);
								}
								OnePlayAnim(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,false,false,false,false,false,false);
								HideMenuCassaforte(playerid);
							}
						}
					    if (PREMI(KEY_FIRE)) //Depositare
					    {
					        if (oldcash >= UserStat[playerid][spazio_cassaforte]) PlaySound(playerid, SOUND_CASSAFORTE_END);
							if (DenaroInPosesso[playerid] <= 0) PlaySound(playerid, SOUND_CASSAFORTE_END);
							if (DenaroInPosesso[playerid] >= UserStat[playerid][spazio_cassaforte]) PlaySound(playerid, SOUND_CASSAFORTE_END);
							else
							{
								PlaySound(playerid, SOUND_CASSAFORTE_ADD);

	                            DenaroInPosesso[playerid] --;
						        DenaroInCassaforte[playerid] ++;
						        //Soldi in posesso
							    PlayerTextDrawSetStrings(playerid, SoldiInPosesso[playerid], "$%d", DenaroInPosesso[playerid]);
							    //Soldi in cassaforte
							    PlayerTextDrawSetStrings(playerid, SoldiInCassaforte[playerid], "$%d", DenaroInCassaforte[playerid]);
							}
						}
						if (PREMI(KEY_LOOK_BEHIND)) //Prelevare
					    {
							if ((oldcash - DenaroInCassaforte[playerid]) > oldcash) PlaySound(playerid, SOUND_CASSAFORTE_END);
							if (DenaroInCassaforte[playerid] <= 0) PlaySound(playerid, SOUND_CASSAFORTE_END);
							else
							{
							    DenaroInPosesso[playerid] ++;
						        DenaroInCassaforte[playerid] --;
						        //Soldi in possesso
							    PlayerTextDrawSetStrings(playerid, SoldiInPosesso[playerid], "$%d", DenaroInPosesso[playerid]);
							    //Soldi in cassaforte
							    PlayerTextDrawSetStrings(playerid, SoldiInCassaforte[playerid], "$%d", DenaroInCassaforte[playerid]);
							}
						}

Last edited by DarkWorldJack; 08/09/2019 at 12:11 PM.
DarkWorldJack is offline   Reply With Quote
Old 07/09/2019, 02:25 PM   #2
Jonny
Huge Clucker
 
Jonny's Avatar
 
Join Date: Nov 2009
Location: Italy
Posts: 284
Reputation: 38
Default Re: Textdraws Safe Money

ITA: Ogni volta che usi il SetString devi nuovamente fare TextDrawShowForPlayer, altrimenti il valore non si aggiorna
Un piccolo consiglio che aggiungerei è di salvare sul mysql alla disconnessione anziché ogni singola azione, non preoccuparti per i crash, verranno gestiti comunque dall'OnPlayerDisconnect, potrebbe diventare davvero pesante se hai troppi player ad effettuare query, soprattutto se possono farlo ad ogni click

ENG: Whenever you use TextDrawSetString you should then repeat TextDrawShowForPlayer, otherwise it will not be updated
__________________
Jonny is offline   Reply With Quote
Old 07/09/2019, 03:08 PM   #3
DarkWorldJack
Big Clucker
 
DarkWorldJack's Avatar
 
Join Date: Dec 2015
Location: Italy
Posts: 54
Reputation: 1
Default Re: Textdraws Safe Money

Quote:
Originally Posted by darkdrago View Post
ITA: Ogni volta che usi il SetString devi nuovamente fare TextDrawShowForPlayer, altrimenti il valore non si aggiorna
Un piccolo consiglio che aggiungerei è di salvare sul mysql alla disconnessione anziché ogni singola azione, non preoccuparti per i crash, verranno gestiti comunque dall'OnPlayerDisconnect, potrebbe diventare davvero pesante se hai troppi player ad effettuare query, soprattutto se possono farlo ad ogni click

ENG: Whenever you use TextDrawSetString you should then repeat TextDrawShowForPlayer, otherwise it will not be updated
ITA:
'PlayerTextDrawSetStrings' è già con ShowforPlayer, il mio problema è quando clicco con il mouse sinistro, ovvero Aumenta il valore dei soldi nella cassaforte(DenaroInCassaforte[playerid]) e diminuisce il valore dei soldi in mio possesso (DenaroInPosesso[playerid]) e quando vado per confermare il tutto, o mi toglie tutti i miei soldi e li butta nella cassaforte oppure li toglie, ma vado in negativo nella cassaforte

ENG:
'PlayerTextDrawSetStrings' is already with ShowforPlayer, my problem is when I click with the left mouse, or Increase the value of money in the safe (MoneyInCassaforte [playerid]) and decrease the value of the money in my possession (MoneyInPosesso [playerid]) and when I go to confirm everything, or take away all my money and throw it in the safe or take it off, but I go in the negative in the safe
DarkWorldJack is offline   Reply With Quote
Old 07/09/2019, 03:44 PM   #4
Jonny
Huge Clucker
 
Jonny's Avatar
 
Join Date: Nov 2009
Location: Italy
Posts: 284
Reputation: 38
Default Re: Textdraws Safe Money

ITA: Dovrebbe andare, ho anche messo alcuni commenti sui cambiamenti che ho fatto, se posso essere onesto posso dirti che dovresti ordinare meglio le cose, anziché usare continui elseif potresti usare le condizioni negative con return 1 per bloccare il codice.
Fammi sapere se ti da ancora problemi ed in caso spiegami cosa ancora non va

ENG: This should work, i also commented which changed i made
https://paste.ofcode.org/5Pbab2Jn46fFdMXkPPdK4m
__________________
Jonny is offline   Reply With Quote
Old 07/09/2019, 04:25 PM   #5
DarkWorldJack
Big Clucker
 
DarkWorldJack's Avatar
 
Join Date: Dec 2015
Location: Italy
Posts: 54
Reputation: 1
Default Re: Textdraws Safe Money

Quote:
Originally Posted by darkdrago View Post
ITA: Dovrebbe andare, ho anche messo alcuni commenti sui cambiamenti che ho fatto, se posso essere onesto posso dirti che dovresti ordinare meglio le cose, anziché usare continui elseif potresti usare le condizioni negative con return 1 per bloccare il codice.
Fammi sapere se ti da ancora problemi ed in caso spiegami cosa ancora non va

ENG: This should work, i also commented which changed i made
https://paste.ofcode.org/5Pbab2Jn46fFdMXkPPdK4m
ITA:
Grazie mille, ora provo e ti faccio sapere se mi da ancora problemi

ENG:
Thank you very much, now I try and let you know if it still gives me problems
DarkWorldJack is offline   Reply With Quote
Old 07/09/2019, 05:13 PM   #6
DarkWorldJack
Big Clucker
 
DarkWorldJack's Avatar
 
Join Date: Dec 2015
Location: Italy
Posts: 54
Reputation: 1
Default Re: Textdraws Safe Money

Quote:
Originally Posted by darkdrago View Post
ITA: Dovrebbe andare, ho anche messo alcuni commenti sui cambiamenti che ho fatto, se posso essere onesto posso dirti che dovresti ordinare meglio le cose, anziché usare continui elseif potresti usare le condizioni negative con return 1 per bloccare il codice.
Fammi sapere se ti da ancora problemi ed in caso spiegami cosa ancora non va

ENG: This should work, i also commented which changed i made
https://paste.ofcode.org/5Pbab2Jn46fFdMXkPPdK4m
ITA:
Quando clicco con il tasto sinistro diminuiscono i soldi in possesso, ma quando premo il tasto centrale del mouse non diminuisce i soldi nella cassaforte e quando premo SPAZIO mi si toglie tutti i soldi in mio possesso e mi lascia solamente la quantità di click fatti.
E quando i soldi in possesso sono a 0, e premo il tasto sinistro vanno i negativo e se premo SPAZIO mi aggiunge i soldi... ovvero fa il prelievo dalla cassaforte

ENG:
When I click with the left button they decrease the money in possession, but when I press the middle button of the mouse it does not decrease the money in the safe and when I press SPAZIO I take away all the money in my possession and it leaves me with only the amount of clicks made
DarkWorldJack is offline   Reply With Quote
Old 07/09/2019, 06:48 PM   #7
DarkWorldJack
Big Clucker
 
DarkWorldJack's Avatar
 
Join Date: Dec 2015
Location: Italy
Posts: 54
Reputation: 1
Default Re: Textdraws Safe Money

Quote:
Originally Posted by darkdrago View Post
ITA: Dovrebbe andare, ho anche messo alcuni commenti sui cambiamenti che ho fatto, se posso essere onesto posso dirti che dovresti ordinare meglio le cose, anziché usare continui elseif potresti usare le condizioni negative con return 1 per bloccare il codice.
Fammi sapere se ti da ancora problemi ed in caso spiegami cosa ancora non va

ENG: This should work, i also commented which changed i made
https://paste.ofcode.org/5Pbab2Jn46fFdMXkPPdK4m

ITA:
Mi correggo ho sistemato e funziona, ma ho un altra domanda, come posso fare per far aumentare tenendo premuto il tasto e aumenti sempre più velocemente?

ENG:
I correct myself, I have fixed and it works, but I have another question, how can I make it increase by holding down the button and increasing faster and faster?
DarkWorldJack is offline   Reply With Quote
Old 07/09/2019, 07:55 PM   #8
Jonny
Huge Clucker
 
Jonny's Avatar
 
Join Date: Nov 2009
Location: Italy
Posts: 284
Reputation: 38
Default Re: Textdraws Safe Money

ITA: Ti ho fatto un esempio, non l'ho testato ma dovrebbe fare il suo lavoro
ENG: I made you an example how it could work, not tested but should do its job
https://paste.ofcode.org/36RK2ufDAq7SwUhYvCVSEwP
__________________

Last edited by Jonny; 08/09/2019 at 03:36 AM.
Jonny is offline   Reply With Quote
Old 08/09/2019, 01:26 AM   #9
Symon
Gangsta
 
Symon's Avatar
 
Join Date: Apr 2019
Location: Italy
Posts: 515
Reputation: 18
Default Re: Textdraws Safe Money

ITA: DarkDrago invece di usare altre variabili usa la macro HOLDING e RELEASED.

ENG: DarkDrago use HOLDING and RELEASED macro instead.
__________________


Discord | Play Now | Website

Add your server to favourites and join our Discord.
Symon is offline   Reply With Quote
Old 08/09/2019, 03:13 AM   #10
Jonny
Huge Clucker
 
Jonny's Avatar
 
Join Date: Nov 2009
Location: Italy
Posts: 284
Reputation: 38
Default Re: Textdraws Safe Money

Quote:
Originally Posted by KeyOfKey View Post
ITA: DarkDrago invece di usare altre variabili usa la macro HOLDING e RELEASED.

ENG: DarkDrago use HOLDING and RELEASED macro instead.
ITA: La macro non fa altro che controllare oldkey e newkey infatti, ma non continuerà a funzionare per tutto il tempo che tieni premuto il tasto, poi non ci sono altre variabili, soltanto un timer che appunto tiene presente per quanto tu stia tenendo premuto il tasto
ENG: The macro does the same thing as newkey and oldkey, but it will not keep looping the code until i release the key
__________________
Jonny is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] Money safe system (rob/save) DarkLight Filterscripts 6 04/07/2017 06:15 AM
Safe money object ID Ahmed21 Scripting Help 4 07/08/2016 11:07 AM
Set object 'money safe' Ercha Scripting Help 2 30/05/2014 04:04 AM
safe money sysem with MySQL ArmyOps Scripting Help 0 27/02/2012 07:29 PM
[FilterScript] yBank V2.0 - a.k.a 'Safe Money Fast' ylleron Filterscripts 7 13/02/2012 03:12 PM


All times are GMT. The time now is 04:23 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.