Bank System v3.1 Update 03.07.2015
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- HamletEagle
- Fost moderator
- Posts: 750
- Joined: 21 Sep 2013, 15:05
- Detinator Steam: Da
- CS Status: Inactiv cateva zile.
- SteamID: privat
- Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator - Has thanked: 19 times
- Been thanked: 85 times
Ideea e frumoasa si chiar usoara, iti arat eu cum sa faci daca vrei.
- FaTzZu
- Fost moderator
- Posts: 1206
- Joined: 22 Dec 2012, 18:37
- Detinator Steam: Da
- Reputatie: Fost moderator ajutator
- Has thanked: 114 times
- Been thanked: 168 times
Code: Select all
if(equal(szArgs,"/retrage",strlen("/retrage")))
{
replace_all(szArgs,charsmax(szArgs),"/","")
client_cmd(id,"amx_%s",szArgs)
}
else if(equal(szArgs,"/depune",strlen("/depune")))
{
replace_all(szArgs,charsmax(szArgs),"/","")
client_cmd(id,"amx_%s",szArgs)
}
else if(equal(szArgs,"/transfer",strlen("/transfer")))
{
replace_all(szArgs,charsmax(szArgs),"/","")
client_cmd(id,"amx_%s",szArgs)
}
else if(equal(szArgs,"/money",strlen("/money")))
{
replace_all(szArgs,charsmax(szArgs),"/","")
client_cmd(id,"amx_%s",szArgs)
}
g_szCommands[][] = {
"/x",
"/y"
} etc ..
iar apoi cu for?
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
O alta idee ar fi:
Ai putea face sa arate toti banii din banca in hud. Ex: am 50k, poti face sa arate in hud 50000 $. Ai putea face un stock prin care sa setezi banii astfel: si sa inlocuiesti in pluginul tau folosind stock-ul:
Ai putea face sa arate toti banii din banca in hud. Ex: am 50k, poti face sa arate in hud 50000 $. Ai putea face un stock prin care sa setezi banii astfel: si sa inlocuiesti in pluginul tau folosind stock-ul:
- cmdTransfer(id) | Afiseaza codul
- HamletEagle
- Fost moderator
- Posts: 750
- Joined: 21 Sep 2013, 15:05
- Detinator Steam: Da
- CS Status: Inactiv cateva zile.
- SteamID: privat
- Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator - Has thanked: 19 times
- Been thanked: 85 times
Code: Select all
#include <amxmodx>
#include <amxmisc>
enum CommandArgs {Ammount, Time}
enum _:TimeStampTypes {CurrentTimeStamp, ReturnTimeStamp}
new BarrowFilePath[120]
new Trie:TriePlayerBarrows
public plugin_init()
{
register_clcmd("amx_barrow", "ClientCommand_Barrow")
TriePlayerBarrows = TrieCreate()
get_configsdir(BarrowFilePath, charsmax(BarrowFilePath))
format(BarrowFilePath, charsmax(BarrowFilePath), "%s/%s", BarrowFilePath, "bank_barrows.ini")
new FilePointer = fopen(BarrowFilePath, "rt")
if(FilePointer)
{
new FileData[256], PlayerAuthId[35], BarrowTime[10], ReturnTime[10], TimeArray[TimeStampTypes]
while(!feof(FilePointer))
{
fgets(FilePointer, FileData, charsmax(FileData))
parse(FileData, PlayerAuthId, charsmax(PlayerAuthId), BarrowTime, charsmax(BarrowTime), ReturnTime, charsmax(ReturnTime))
TimeArray[CurrentTimeStamp] = str_to_num(BarrowTime)
TimeArray[ReturnTimeStamp ] = str_to_num(ReturnTime)
TrieSetArray(TriePlayerBarrows, PlayerAuthId, TimeArray, sizeof TimeArray)
}
fclose(FilePointer)
}
}
public plugin_end()
{
TrieDestroy(TriePlayerBarrows)
}
public ClientCommand_Barrow(id)
{
if(!is_user_connected(id))
{
return 1
}
new Arguments[CommandArgs][30]
read_argv(1, Arguments[Ammount], charsmax(Arguments[]))
read_argv(2, Arguments[Time ], charsmax(Arguments[]))
new CurrentDate[10]; get_time("%d:%m:%Y", CurrentDate, charsmax(CurrentDate))
new TimeStamps[TimeStampTypes]
TimeStamps[CurrentTimeStamp] = parse_time(CurrentDate, "%d:%m:%Y")
TimeStamps[ReturnTimeStamp ] = str_to_num(Arguments[Time]) * 86400 //after how many days in seconds he would return the money
new PlayerAuthId[35]; get_user_authid(id, PlayerAuthId, charsmax(PlayerAuthId))
TrieSetArray(TriePlayerBarrows, PlayerAuthId, TimeStamps, sizeof TimeStamps)
new FilePointer = fopen(BarrowFilePath, "a")
if(FilePointer)
{
fprintf(FilePointer, "%s %s %s", PlayerAuthId, TimeStamps[CurrentTimeStamp], TimeStamps[ReturnTimeStamp])
fclose(FilePointer)
}
return 1
}
stock bool:UserHasOutStandings(id)
{
new PlayerAuthId[35]; get_user_authid(id,PlayerAuthId, charsmax(PlayerAuthId))
if(TrieKeyExists(TriePlayerBarrows, PlayerAuthId))
{
new ArrayTime[TimeStampTypes]
TrieGetArray(TriePlayerBarrows, PlayerAuthId, ArrayTime, sizeof ArrayTime))
new CurrentDate[10]; get_time("%d:%m:%Y", CurrentDate, charsmax(CurrentDate))
new CurrentTime = parse_time(CurrentDate, "%d:%m:%Y")
if(CurrentTime > ArrayTime[ReturnTimeStamp] + ArrayTime[CurrentTimeStamp])
{
return true
}
}
return false
}
Code: Select all
if(UserHasOutStandings(id))
Ceea ce zice FaTzZu e pur estetic, insa ti-as recomanda sa faci asa, nu e placut sa vezi acelasi cod de 15 ori. Insa, cand verifici in for daca aia e comanda trebuie sa pui break ca sa eviti sa caute in continuare aiurea,
Ce nu imi place ne cand cineva care nu are cunostintele necesare sa dea sfaturi o face. Atat timp cat nu stii destul pentru tine, nu incerca sa ii incurci si pe altii.
Yontu:
1. get_user_msgid("Money") are aceeasi valoare mereu, ar trebui salvat intr-o variabila in plugin_init de exemplu. O alta chestie, ar trebui sa folosesti MSG_ONE si MSG_ONE_UNRELIABLE. De ce ?
a)Mesajele care sunt reliable sunt trimite in mod sigur catre un player. E adevarat ca unreliable este mai sigur deoarece in cazul in care nu poate sa fie trimis corect nu da crash clientului.
b)Cand trimite acest mesaj, jocul foloseste MSG_ONE si nu MSG_ONE_UNRELIABLE
Code: Select all
MESSAGE_BEGIN( MSG_ONE, gmsgMoney, NULL, ENT( pev ) );
WRITE_LONG( m_iAccount );
WRITE_BYTE( bTrackChange );
MESSAGE_END();
Nu e gresit daca folosesti unreliable, insa ar fi de preferat sa te gandesti bine ce alegi.
Care e faza cu stockul pentru bani ? Mi se pare inutil si probabil gresit.
Code: Select all
if(abs(money) < 0)
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
- Traficant De Wi-Fi
- Membru, skill +3
- Posts: 1277
- Joined: 29 Mar 2015, 22:22
- Detinator Steam: Da
- SteamID: traficant_de_wifi
- Reputatie: Membru Club eXtreamCS (2 luni)
- Location: Arad
- Been thanked: 14 times
- Contact:
Stiu ca este vechi pluginul.. dar as dori daca se poate o mica modificare in care sa poti transfera banii in cont tuturor jucatorilor...
sau la ora fixa 18:00 -19:00 -20:00 toti jucatorii online sa primeasca x bani in cont!
sau la ora fixa 18:00 -19:00 -20:00 toti jucatorii online sa primeasca x bani in cont!
Discord: lucifer_xro