Oggi è 08/08/2022, 11:58

Tutti gli orari sono UTC + 1 ora [ ora legale ]





 Pagina 1 di 1 [ 6 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [GUIDA] Creare un Anti MoneyHack
MessaggioInviato: 05/11/2010, 21:30 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Salve a tutti in questa guida spiegherò come creare un Anti MoneyHack funzionante. Questo Anti MoneyHack si baserà sul salvataggio dei soldi di un player in una variabile. Se i soldi della variabile dati con la rispettiva funzione non corrispondono a quelli che si hanno in game, viene richiamata la funzione OnPlayerMoneyHack e voi potrete decidere cosa fare.

Iniziamo!

Per prima cosa, in cima alla GameMode, inseriamo:
Codice:
new Cash[MAX_PLAYERS];

Così facendo creeremo la variabile dove salveremo i soldi non hackerati del player.

Fatto questo, sotto l'OnPlayerConnect, inseriamo:
Codice:
SetTimerEx("CheckPlayerCash", 1000, true, "d", playerid);

E così abbiamo creato il timer che controllerà i soldi del player

Adesso, fuori da tutto, inseriamo:
Codice:
stock GivePlayerCash(playerid, soldi)
{
   GivePlayerMoney(playerid, soldi);
   Cash[playerid] += soldi;
}

stock SetPlayerCash(playerid, soldi)
{
   ResetPlayerMoney(playerid);
   GivePlayerMoney(playerid, soldi);
   Cash[playerid] = soldi;
}

stock ResetPlayerCash(playerid)
{
   ResetPlayerMoney(playerid);
   Cash[playerid] = 0;
}

stock GetPlayerCash(playerid)
{
   return Cash[playerid];
}

Che saranno le funzioni che serviranno per dare, settare, resettare e ghettare i soldi non hackerati al player

E sempre fuori da tutto:
Codice:
forward CheckPlayerCash(playerid);
public CheckPlayerCash(playerid)
{
   if(GetPlayerMoney(playerid) > Cash[playerid])
   {
      new hackedmoney = GetPlayerMoney(playerid) - Cash[playerid];
      OnPlayerMoneyHack(playerid, hackedmoney);
   }
   return 1;
}

forward OnPlayerMoneyHack(playerid, hackedmoney);
public OnPlayerMoneyHack(playerid, hackedmoney)
{
   return 1;
}

Così abbiamo implementato nella GameMode una funzione che controlla quando il player hackera dei soldi ed una che viene richiamata quando i soldi vengono hackerati.

L'unica cosa che ci rimane da fare è decidere cosa far avvenire quando un player hackera dei soldi. Ciò che dovrà avvenire lo dovremo inserire sotto la funzione OnPlayerMoneyHack, creata precedentemente.
Esempi:
Togliere solo i soldi hackerati al cheater
Codice:
//Sotto OnPlayerMoneyHack
new
   string[128],
   pName[24];
GetPlayerName(playerid, pName, 24);
SetPlayerCash(playerid, GetPlayerMoney(playerid) - GetPlayerCash(playerid));
format(string, 128, "[AVVISO:] %s ha hackerato $%d e gli sono stati settati i suoi vecchi soldi ($%d).", pName, hackedmoney, GetPlayerCash(playerid));
SendClientMessageToAll(0xF60000AA, string);


Resettare tutti i soldi al cheater
Codice:
//Sotto OnPlayerMoneyHack
new
   string[128],
   pName[24];
GetPlayerName(playerid, pName, 24);
ResetPlayerCash(playerid);
format(string, 128, "[AVVISO:] %s ha hackerato $%d e gli sono stati resettati i soldi.", pName, hackedmoney);
SendClientMessageToAll(0xF60000AA, string);


Bannare il cheater
Codice:
//Sotto OnPlayerMoneyHack
new
   string[128],
   pName[24];
GetPlayerName(playerid, pName, 24);
format(string, 128, "[AVVISO:] %s ha hackerato $%d ed è stato bannato.", pName, hackedmoney);
SendClientMessageToAll(0xF60000AA, string);
Ban(playerid);


Beh altre funzioni da far accadere quando si hackerano dei soldi potete anche crearle voi :D

Nuove funzioni:
GivePlayerCash: Da soldi non hackerati al player
SetPlayerCash: Setta soldi non hackerati al player
ResetPlayerCash: Resetta soldi non hackerati al player
GetPlayerCash: Ghetta soldi non hackerati al player

Ultime cose da fare:
Per finire, l'unica cosa che dovrete fare, sarà sostituire GivePlayerMoney, ResetPlayerMoney e GetPlayerMoney con GivePlayerCash, ResetPlayerCash e GetPlayerCash. Se non farete così, anche quando darete dei soldi usando le normali funzioni come GivePlayerMoney il player sarà riconosciuto come cheater. Vi consiglio di usare la combinazione di tasti CTRL+H sul PAWN per sostituire velocemente le funzioni.

"Bugs":
Se per esempio vincerete soldi al casinò oppure guadagnerete soldi stuntando verrete riconosciuti come cheater. Quindi è meglio stare attenti!

Ultimi avvertimenti:
Questo AntiCheat potrebbe andare in conflitto con la vostra GM se usate un sistema di registrazione dato che i soldi della variabile saranno diversi da quelli salvati nel file del player. Si può facilmente ovviare mettendo nella funzione dove viene eseguito il login, alla fine di tutto,
Codice:
Cash[playerid] = GetPlayerMoney(playerid);


Spero di aver fatto un buon lavoro. Aspetto commenti : WohoW :
Se trovate bugs, segnalate =D
Vietato copiare la guida senza inserire i crediti! : Fuck You :

Enjoy ^^


Top
 E-mail  
 

 Oggetto del messaggio: Re: [GUIDA] Creare un Anti MoneyHack
MessaggioInviato: 05/11/2010, 21:36 
Avatar utente
Utente

Iscritto il: 31/10/2010
Messaggi: 901
Località: Universo - Via Lattea - Sistema Solare - Pianeta Terra - Europa - Italia - Sicilia - Grammichele(CT)
Favourite GTA: San Andreas
Xfire: Privato

Karma
2


Non connesso
Anche se già ne esisteva una, concordo dicendo che questa è migliore xD

peccato il bug del casinò =( cmq bel lavoro :D

_________________
Immagine


I Miei Filterscript Per Sa-Mp

Rampone System By me and Mik_Teck
Autovelox System By me and Mik_Teck
Metro System By me
pLaserPointer By me

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Creare un Anti MoneyHack
MessaggioInviato: 05/11/2010, 21:40 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Grazie mille Angelo! E' bello ricevere i complimenti da un moderatore della sezione ;). Comunque l'ho creata proprio perchè l'altra, postata da NOS ma presa dal SA:MP Forum non avrebbe mai potuto funzionare a causa di svariati bugs. Comunque aspetto altri pareri :D


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Creare un Anti MoneyHack
MessaggioInviato: 07/11/2010, 13:05 
Avatar utente
Utente

Iscritto il: 29/10/2010
Messaggi: 43
Località: Cosenza - ITA
Favourite GTA: San Andreas
Xfire: giuseppemazzei

Karma
0


Non connesso
Ora la inserisco tra le varie guide

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Creare un Anti MoneyHack
MessaggioInviato: 07/11/2010, 13:41 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Grazie :D


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Creare un Anti MoneyHack
MessaggioInviato: 03/01/2011, 19:01 
Avatar utente
Moderatore

Iscritto il: 28/10/2010
Messaggi: 919
Località: Veduggio con Colzano (Milano-Monza)
Favourite GTA: San Andreas
PlayStation Network: Nessuno
Xbox Live: Nessuno
Xfire: barle97

Karma
1


Non connesso
Per disattivare gli stunt, mettere in OnGameModeInit/OnFilterScriptInit questo:
Codice:
EnableStuntBonusForAll(0);


Scusate l'up di una discussione vecchia ma penso sia utile per chi seguirà la guida.

_________________
disasm 0xFFFF00 1: LE HANTENNE DEL RUTER SI MVONO DA SL!11!1!!1
[EPD]Giovanni94m: AHSUAHSAUSHAUSAHSAU
disasm 0xFFFF00 1: bella questa asd

[EPD]Giovanni94m: io non riesco a trovare un gioco che ci giocavo su ps1
[EPD]Giovanni94m: non ricordo il nome
[EPD]Giovanni94m: era un omino rosa
[EPD]Giovanni94m: ...
[BCD]barle_the_king: forse cercavi omino bianco [cit. google]
[BCD]barle_the_king: auhsahusuha
[EPD]Giovanni94m: no ahsau
[BCD]barle_the_king: firma duhahudshue

Immagine


Top
 E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 6 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron