Szerző Téma: Bank Systembe kamat :D  (Megtekintve 1261 alkalommal)

Bank Systembe kamat :D
« Dátum: 2012. Augusztus 16. - 08:45:53 »
0
Hy all
valaki nem tudná meg csinálni h ez a Bank rendszer 15 percenként adjon kamatot;D
script:
[pawn]#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
#pragma tabsize 0
enum pInfo
{
pASD
};
new Player[MAX_PLAYERS][pInfo];
new mentes[128];
new bool:belepve[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason)
{
if(belepve[playerid]==true)
{
    new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
dini_Create(mentes);
dini_IntSet(mentes,\"Penz\",Player[playerid][pASD]);
}
belepve[playerid]=false;
return 1;
}
CMD:betesz(playerid,params[])
{
if(GetPlayerMoney(playerid)<1)return SendClientMessage(playerid,-1,\"Nincs nálad pénz.\");
new mennyit;
if(sscanf(params,\"d\",mennyit))return SendClientMessage(playerid,-1,\"Használat: /Betesz <mennyit>\");
if(mennyit<1)return SendClientMessage(playerid,-1,\"Minimum 1.\");
if(mennyit>GetPlayerMoney(playerid))return SendClientMessage(playerid,-1,\"Nincs nálad ennyi.\");
Player[playerid][pASD]+=mennyit;
    new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
dini_IntSet(mentes,\"Penz\",Player[playerid][pASD]);
SendClientMessage(playerid,-1,\"Betetél pénzt a bankba.\");
GivePlayerMoney(playerid,-mennyit);
return 1;
}
CMD:kivesz(playerid,params[])
{
new mennyit;
if(sscanf(params,\"d\",mennyit))return SendClientMessage(playerid,-1,\"Használat: /Kivesz <mennyit>\");
if(Player[playerid][pASD]<mennyit)return SendClientMessage(playerid,-1,\"Nincs ennyi pénzed.\");
if(mennyit<1)return SendClientMessage(playerid,-1,\"Minimum 1\");
Player[playerid][pASD]-=mennyit;
GivePlayerMoney(playerid,mennyit);
    new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
dini_IntSet(mentes,\"Penz\",Player[playerid][pASD]);
SendClientMessage(playerid,-1,\"Kivettél pénzt a bankból\");
return 1;
}
public OnPlayerSpawn(playerid)
{
belepve[playerid]=true;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
Player[playerid][pASD]=dini_Int(mentes,\"Penz\");
return 1;
}[/pawn]

Bank Systembe kamat :D
« Válasz #1 Dátum: 2012. Augusztus 16. - 15:32:44 »
0

new Kamat[MAX_PLAYERS];
Kamat = Player[playerid][pASD]/10; //Pl: Jatekos penze :10.000$/Kamat lesz:1.000$

 
csinalsz egy timert OnPlayerCOnnect ala:
 

#define egyperc 60*1000
SetTimerEx(\"Kamatolj\",15*egyperc,0,\"i\",playerid);

 


forward Kamatolj(playerid);
public Kamatolj(playerid) {
     Player[playerid][pASD] += Kamat;
     return 1;
}

Bank Systembe kamat :D
« Válasz #2 Dátum: 2012. Augusztus 16. - 15:35:46 »
0
de ez ki is irja h menyi kamatot kapott??:D

Bank Systembe kamat :D
« Válasz #3 Dátum: 2012. Augusztus 16. - 15:36:06 »
0
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
#define egyperc 60*1000
new Kamat[MAX_PLAYERS];
#pragma tabsize 0
enum pInfo
{
pASD
};
new Player[MAX_PLAYERS][pInfo];
new mentes[128];
new bool:belepve[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason)
{
        if(belepve[playerid]==true)
        {
    new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
        dini_Create(mentes);
        dini_IntSet(mentes,\"Penz\",Player[playerid][pASD]);
        }
        belepve[playerid]=false;
        return 1;
}
 
CMD:betesz(playerid,params[])
{
        if(GetPlayerMoney(playerid)<1)return SendClientMessage(playerid,-1,\"Nincs nálad pénz.\");
        new mennyit;
        if(sscanf(params,\"d\",mennyit))return SendClientMessage(playerid,-1,\"Használat: /Betesz <mennyit>\");
        if(mennyit<1)return SendClientMessage(playerid,-1,\"Minimum 1.\");
        if(mennyit>GetPlayerMoney(playerid))return SendClientMessage(playerid,-1,\"Nincs nálad ennyi.\");
        Player[playerid][pASD]+=mennyit;
    new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
        dini_IntSet(mentes,\"Penz\",Player[playerid][pASD]);
        SendClientMessage(playerid,-1,\"Betetél pénzt a bankba.\");
        GivePlayerMoney(playerid,-mennyit);
        return 1;
}
 
CMD:kivesz(playerid,params[])
{
        new mennyit;
        if(sscanf(params,\"d\",mennyit))return SendClientMessage(playerid,-1,\"Használat: /Kivesz <mennyit>\");
        if(Player[playerid][pASD]<mennyit)return SendClientMessage(playerid,-1,\"Nincs ennyi pénzed.\");
        if(mennyit<1)return SendClientMessage(playerid,-1,\"Minimum 1\");
        Player[playerid][pASD]-=mennyit;
        GivePlayerMoney(playerid,mennyit);
    new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
        dini_IntSet(mentes,\"Penz\",Player[playerid][pASD]);
        SendClientMessage(playerid,-1,\"Kivettél pénzt a bankból\");
        return 1;
}
public OnPlayerConnect(playerid) {
        SetTimerEx(\"Kamatolj\",15*egyperc,0,\"i\",playerid);
        Kamat[playerid] = Player[playerid][pASD]/10; //A kamat = jatekos penzenek az 1/10 ed resze (egytized)
        return 1;
}
 
public OnPlayerSpawn(playerid)
{
        belepve[playerid]=true;
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(mentes,sizeof(mentes),\"Bank/%s.ini\",name);
        Player[playerid][pASD]=dini_Int(mentes,\"Penz\");
        return 1;
forward Kamatolj(playerid);
public Kamatolj(playerid) {
     Player[playerid][pASD] += Kamat[playerid];
     return 1;
}
}

 
ebbe bele irtam neked.
Viszont mondd meg mennyi kamatot szeretnel.
mert en most egy alap kamatot raktam be
10% ot.de lehet tobb is ahogy te akarod.
De ha 10% kamat jo lessz, akkor ahova akarod hogy kiirja a kamatot annyit rakol hogy:
 

new kamatstr[50];
format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
SendClientMessage(playerid, -1, kamatstr);
« Utoljára szerkesztve: 2012. Augusztus 16. - 15:39:11 írta xSkillZ7x »

Bank Systembe kamat :D
« Válasz #4 Dátum: 2012. Augusztus 16. - 15:40:48 »
0
ezt be tettem jó csak azt h kell beálitani h menyi kamatot adjon?:D jah és kiirja h kamat pl 2000$

Bank Systembe kamat :D
« Válasz #5 Dátum: 2012. Augusztus 16. - 15:45:03 »
0
Itt van.Ki irja mennyi kamatot kaptal:
 

new kamatstr[50];
format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
SendClientMessage(playerid, -1, kamatstr);

 
Meg csinalhatod ugy is hogy egy kamatot adjon mindenkinek.(mindenki 2000$-t kap percenkent)
Viszont ha ugy csinalod ahogy en csinaltam, akkor kiszamitja a jatekos bankban levo penzenek a 10% at, es annyit ad hozza + ba percenkent.Am ott is hibaztam:

Kamat[playerid] = Player[playerid][pASD]/10;

 
ezt is a public Kamatolj ala rakd.
Igy:
 

forward Kamatolj(playerid);
public Kamatolj(playerid) {
     Kamat[playerid] = Player[playerid][pASD]/10;
     Player[playerid][pASD] += Kamat[playerid];
     return 1;
}

 
Ha azt akarod hogy 15 percenkent irja ki a kamatot, akkor ezt is berakod a kamatolj ala:
 

new kamatstr[50];
format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
SendClientMessage(playerid, -1, kamatstr);
es akkor igy lessz :
forward Kamatolj(playerid);
public Kamatolj(playerid) {
     Kamat[playerid] = Player[playerid][pASD]/10;
     Player[playerid][pASD] += Kamat[playerid];
     new kamatstr[50];
    format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
    SendClientMessage(playerid, -1, kamatstr);
     return 1;
}

 
Am ha a kamatot akarod allitani akkor
 

Kamat[playerid] = Player[playerid][pASD]/10;
                                                                    ^ - ezt a szamot modositot(10 et) es annyival osztja el
« Utoljára szerkesztve: 2012. Augusztus 16. - 15:50:29 írta xSkillZ7x »

Bank Systembe kamat :D
« Válasz #6 Dátum: 2012. Augusztus 16. - 15:47:15 »
0
és ezt hova is kell berakni?

Bank Systembe kamat :D
« Válasz #7 Dátum: 2012. Augusztus 16. - 15:51:22 »
+1
Idézetet írta: xSkillZ7x date=1345124703\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"26250\" data-ipsquote-contentclass=\"forums_Topic
Itt van.Ki irja mennyi kamatot kaptal:
 

new kamatstr[50];
format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
SendClientMessage(playerid, -1, kamatstr);

 
Meg csinalhatod ugy is hogy egy kamatot adjon mindenkinek.(mindenki 2000$-t kap percenkent)
Viszont ha ugy csinalod ahogy en csinaltam, akkor kiszamitja a jatekos bankban levo penzenek a 10% at, es annyit ad hozza + ba percenkent.Am ott is hibaztam:

Kamat[playerid] = Player[playerid][pASD]/10;

 
ezt is a public Kamatolj ala rakd.
Igy:
 

forward Kamatolj(playerid);
public Kamatolj(playerid) {
     Kamat[playerid] = Player[playerid][pASD]/10;
     Player[playerid][pASD] += Kamat[playerid];
     return 1;
}

 
Ha azt akarod hogy 15 percenkent irja ki a kamatot, akkor ezt is berakod a kamatolj ala:
 

new kamatstr[50];
format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
SendClientMessage(playerid, -1, kamatstr);
es akkor igy lessz :
forward Kamatolj(playerid);
public Kamatolj(playerid) {
     Kamat[playerid] = Player[playerid][pASD]/10;
     Player[playerid][pASD] += Kamat[playerid];
     new kamatstr[50];
    format(kamatstr, sizeof(kamatstr), \"Kamatod: %d %, Kamat[playerid]);
    SendClientMessage(playerid, -1, kamatstr);
     return 1;
}

 
Am ha a kamatot akarod allitani akkor
 

Kamat[playerid] = Player[playerid][pASD]/10;
                                                                    ^ - ezt a szamot modositot(10 et) es annyival osztja el

 

Tessek itt van tutorial :P

Bank Systembe kamat :D
« Válasz #8 Dátum: 2012. Augusztus 16. - 16:07:48 »
0
köszii adom a +-t ;D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal