Pénztárca

Indította TheChansee, 2014. március 23. - 11:37:40

Előző téma - Következő téma

TheChansee

Sziasztok!
Azt szeretném kérdezni, hogy, ha a játékosnak a pénztárcájában lévõ összeg 3 számjegynél nagyobb akkor tegyen pontot.
 
format(pstring,sizeof(pstring),\"(( Pénztárcád tartalma: %d Ft. ))\",admins[playerid][penz]);
SendClientMessage(playerid,-1,pstring);

 
Ebbe szeretném.
Pl.: Ha van nála 20 ezer forint.
20000 helyett azt írja, hogy: 20.000
[gmod]Javítottam helyetted a

taget

tagre![/gmod]


Lucio

#2
stock HErtek( szam )
{
new alakitott[64];
format( alakitott, 64, \"%d\", szam );
if( szam >= 1000 && szam < 10000 )
{
strins( alakitott, \" \", 1, sizeof(alakitott) );
}
else if( szam >= 10000 && szam < 100000 )
{
strins( alakitott, \" \", 2, sizeof(alakitott) );
}
else if( szam >= 100000 && szam < 1000000 )
{
strins( alakitott, \" \", 3, sizeof(alakitott) );
}
else if( szam >= 1000000 && szam < 10000000 )
{
strins( alakitott, \" \", 4, sizeof(alakitott) );
strins( alakitott, \" \", 1, sizeof(alakitott) );
}
else if( szam >= 10000000 && szam < 100000000 )
{
strins( alakitott, \" \", 5, sizeof(alakitott) );
strins( alakitott, \" \", 2, sizeof(alakitott) );
}
return alakitott;
}

 
Tessék ezt én írtam. Használata:
 
format(pstring,sizeof(pstring),\"(( Pénztárcád tartalma: %s Ft. ))\", HErtek(admins[playerid][penz]));
SendClientMessage(playerid,-1,pstring);

 
Annyi a lényege, hogy nem számként, hanem szövegként tér vissza. Tehát nem %d, hanem %s-t kell hozzá használni.
[gmod]Javítottam helyetted a

taget

tagre![/gmod]

TheChansee

#3
Ment a plusszocska mindketõttöknek!
Lucio, egy kérdés:
Kicsit megpróbáltam bõvíteni és valamiért nem mûködik rendesen az egyik bõvítés.
 
else if( szam >= 1000000000 && szam < 10000000000 )
{
strins( alakitott, \".\", 7, sizeof(alakitott) );
strins( alakitott, \".\", 4, sizeof(alakitott) );
}

 
[gmod]Javítottam helyetted a

taget

tagre![/gmod]

Lucio

Mert már nem fér bele az int típusba.

TheChansee

#5
Sziasztok!
Azt szeretném kérdezni, hogy, ha a játékosnak a pénztárcájában lévõ összeg 3 számjegynél nagyobb akkor tegyen pontot.
 
format(pstring,sizeof(pstring),\"(( Pénztárcád tartalma: %d Ft. ))\",admins[playerid][penz]);
SendClientMessage(playerid,-1,pstring);

 
Ebbe szeretném.
Pl.: Ha van nála 20 ezer forint.
20000 helyett azt írja, hogy: 20.000
[gmod]Javítottam helyetted a

taget

tagre![/gmod]


Lucio

#7
stock HErtek( szam )
{
new alakitott[64];
format( alakitott, 64, \"%d\", szam );
if( szam >= 1000 && szam < 10000 )
{
strins( alakitott, \" \", 1, sizeof(alakitott) );
}
else if( szam >= 10000 && szam < 100000 )
{
strins( alakitott, \" \", 2, sizeof(alakitott) );
}
else if( szam >= 100000 && szam < 1000000 )
{
strins( alakitott, \" \", 3, sizeof(alakitott) );
}
else if( szam >= 1000000 && szam < 10000000 )
{
strins( alakitott, \" \", 4, sizeof(alakitott) );
strins( alakitott, \" \", 1, sizeof(alakitott) );
}
else if( szam >= 10000000 && szam < 100000000 )
{
strins( alakitott, \" \", 5, sizeof(alakitott) );
strins( alakitott, \" \", 2, sizeof(alakitott) );
}
return alakitott;
}

 
Tessék ezt én írtam. Használata:
 
format(pstring,sizeof(pstring),\"(( Pénztárcád tartalma: %s Ft. ))\", HErtek(admins[playerid][penz]));
SendClientMessage(playerid,-1,pstring);

 
Annyi a lényege, hogy nem számként, hanem szövegként tér vissza. Tehát nem %d, hanem %s-t kell hozzá használni.
[gmod]Javítottam helyetted a

taget

tagre![/gmod]

TheChansee

#8
Ment a plusszocska mindketõttöknek!
Lucio, egy kérdés:
Kicsit megpróbáltam bõvíteni és valamiért nem mûködik rendesen az egyik bõvítés.
 
else if( szam >= 1000000000 && szam < 10000000000 )
{
strins( alakitott, \".\", 7, sizeof(alakitott) );
strins( alakitott, \".\", 4, sizeof(alakitott) );
}

 
[gmod]Javítottam helyetted a

taget

tagre![/gmod]

Lucio

Mert már nem fér bele az int típusba.