Szerző Téma: Pénz mentése és GetPlayerMoney - GivePlayerMoney felcserélése | Fegyverskill  (Megtekintve 1226 alkalommal)

0 Show voters
Sziasztok!
Most tanulom a dinit és már sok dologgal megismerkedtem de megakadtam!
A script lényege, hogy 1 percenként ad 100$-t
Na de nekem lekéri a pénzemet és úgy ad hozzá 100$-t!
Ergo van nekem 5000$-om akkor 1 perc után 10100$-om lesz ..
Ahogy kéne 5000$-on van akkor 1 perc után 5100$-on legyen ..
A GetPlayerMoney-t átírtam GivePlayerMoney-ra de akkor hibát írt ki ...
 
#include a_samp
#include dini
#define FILE \"money.txt\"
forward MoneyUp( );
public OnFilterScriptInit( ) SetTimer( \"MoneyUp\", 60000, true );
public OnPlayerConnect( playerid )
{
new NAME[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, NAME, sizeof( NAME ) );
GivePlayerMoney( playerid, dini_Int( FILE, NAME ) );
return 1;
}
public MoneyUp( )
{
for( new i; i < MAX_PLAYERS; i++ )
{
    if( IsPlayerConnected( i ) )
    {
        new NAME[ MAX_PLAYER_NAME ];
        GetPlayerName( i, NAME, sizeof( NAME ) );
        if( dini_Exists ( FILE ) ) dini_IntSet( FILE, NAME, GetPlayerMoney( i ) + 100 );
        else dini_Create( FILE ), dini_IntSet( FILE, NAME, GetPlayerMoney( i ) + 100 );
        GivePlayerMoney( i , GetPlayerMoney( i ) + 100 );
}
}
return 1;
}

 


Elakarom menteni a fegyverskilleket!
Hogy kell õket lekérdezni vagy hasonló?

Nem elérhető Tomee

  • 385
    • Profil megtekintése
0 Show voters
Így hozzáadja, a már meglévõ pénz összeget és +ba a 100-at.
  GivePlayerMoney( i , 100 );

0 Show voters
köszöntem mostmár csak a fegyverskill kéne és isten vagyok :DDDDDDDD

Nem elérhető Tomee

  • 385
    • Profil megtekintése
0 Show voters
Egy változóra lenne szükség, ami az adott fegyver skilljét tárolja játékon belül.
 

new Skill[MAX_PLAYERS[;
OnPlayerConnect()
Skill[playerid] = dini_Int( file, név );
OnPlayerSpawn()
SetPlayerSkillLevel( playerid, Skill[playerid] );

 
http://wiki.sa-mp.com/wiki/SetPlayerSkillLevel

0 Show voters
próbálkoztam de én még full hülye vagyok ehhez XD
ha valaki letudná írni részletesen akkor megköszönném! :)

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
0 Show voters

public OnPlayerConnect(playerid) SetPVarInt(playerid, #FegyverSkillAK47, dini_Int(FILE, NAME));
public OnPlayerSpawn(playerid) SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, GetPVarInt(playerid, #FegyverSkillAK47);
public OnPlayerCommandText(playerid, cmdtext[]) // Ha beír egy parancsot...
{
     if(!strcmp(\"/skillak\", cmdtext, true)) SetPVarInt(playerid, #FegyverSkillAK47, 999), SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, GetPVarInt(playerid, #FegyverSkillAK47); // így is alkalmazhatod. többféle lehetõség van.
     return 0;
}

 
Írd le teljes körûen, hogy mit nem értesz. :)

0 Show voters
õõ egy bõvebb leírást kaphatnák, hogy mi miért van? :D
ezt a SetPVar dolgot még soha nem használtam és azt se tudom mi :DD

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
0 Show voters
Mindenek elõtt, csak úgy fogod megérteni egy script adott funkcióit, ha tudod mi mit teljesít, ezért ezek kelleni fognak:
SetPvarInt - Megszabod/Megváltoztatod vele egy integer (egész szám pl : 1,2,3,4,5 minden ami nem tizedestört és társai) változó értékét. (Paraméterei a leírásban és megérted, hogy mi mit jelöl)
SetPlayerSkillLevel - Beállítod egy játékos skilljét egy adott fegyverre (paraméterei a leírásban)
 
Idézetet írta: ScreaM date=1369853033\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37881\" data-ipsquote-contentclass=\"forums_Topic


public OnPlayerConnect(playerid) /* Felcsatlakozik a szerverre egy játékos*/ SetPVarInt(playerid, #FegyverSkillAK47,  dini_Int(FILE, NAME)); //A FegyverSkillAK47 értékét beállítod annyira amennyi a fájlodban szerepel (Ergó a fájlodban AK47 skillje 100, ezt az értéket kiszedtük a fájlból és átruháztok a FegyverSkillAK47 változóba)
public OnPlayerSpawn(playerid) SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, GetPVarInt(playerid, #FegyverSkillAK47); // Ha a játékos lespawnol (rányom a Spawn gombra) beállítjuk az AK47 Skilljének értéket az az elõtt beállított változónak az értékével
public OnPlayerCommandText(playerid, cmdtext[]) // Ha beír egy parancsot...
{
     if(!strcmp(\"/skillak\", cmdtext, true)) SetPVarInt(playerid, #FegyverSkillAK47, 999), SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, GetPVarInt(playerid, #FegyverSkillAK47); // így is alkalmazhatod. többféle lehetõség van.
     return 0;
}

 

Remélem választ adtam a kérdésedre ;)

0 Show voters
köszönöm megpróbálok egy kicsit ügyeskedni :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal