SpriTe_ Posted May 22, 2013 Posted May 22, 2013 Salut SA-MP.ro, in ultimul timp am inceput sa postez multe topicuri la aceasta sectiune, caci rezolv un GM important, dati sa va explic:1.Intru in joc, ma duc la vreun pickup de casa:2.Scriu comanda /buy si ca sa vezi :De ce oare apare asa, comanda este in GM, iat-o:[pawn]CMD:buy( playerid, params[ ] ){ new str[ 255 ], str1[ 255 ], housenumber; housenumber = GetHouseID( playerid ); if ( housenumber == -1 ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}You are not in a house icon!" ); format( str1, sizeof( str1 ), "Houses/Users/%s", udb_encode( PlayerName( playerid ) ) ); if ( dini_Exists( str1 ) ) { if ( dini_Int( str1, "Houseid" ) !=- 255 ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}You can only buy one house!" ); } format( str1, sizeof( str1 ), "Houses/houseid%d", housenumber ); if ( strcmp( hInfo[ housenumber ][ Name ],"ForSale", true ) ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}This house isn't for sale!"); if ( GetPlayerMoney( playerid ) < hInfo[ housenumber ][ Cost ] ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}Not enough money!" ); SendClientMessage( playerid, COLOR_GREEN, "SUCCES: {FFFFFF}You have bought the house!" ); format( str, sizeof( str ), "%s has bought houseid 0", PlayerName( playerid ) ); print( str ); GivePlayerMoney( playerid, -hInfo[ housenumber ][ Cost ] ); dini_Set( str1, "Name", PlayerName( playerid ) ); strmid( hInfo[ housenumber ][ Name ] , PlayerName( playerid ), 0, 25, 25 ); hInfo[ housenumber ][ Locked ] = dini_IntSet( str1, "Locked", 0 ); format( str1, sizeof( str1 ), "Houses/Users/%s", udb_encode( PlayerName( playerid ) ) ); if ( !dini_Exists( str1 ) ) dini_Create( str1 ); new Float:sy, Float:sx, Float:sz; dini_IntSet( str1, "Houseid", housenumber ); if ( !dini_Isset( str1,"Rentid" ) ) { dini_IntSet( str1, "Rentid", -255 ); } GetPlayerPos( playerid, sx,sy,sz ); dini_FloatSet( str1, "SpawnX", sx ); dini_FloatSet( str1, "SpawnY", sy ); dini_FloatSet( str1, "SpawnZ", sz ); dini_IntSet( str1, "SpawnInt", GetPlayerInterior( playerid ) ); DestroyPickup( HousePickup[ housenumber ] ); HousePickup[ housenumber ] = CreatePickup( 1272, 23, hInfo[ housenumber ][ iconx ], hInfo[ housenumber ][ icony ], hInfo[ housenumber ][ iconz ] ); return 1;}[/pawn]Am tot in scriptfiles:[pawn]Am foulderul Houses, am casele in el, sunt 500 case, am foulderul Users.[/pawn]Am enum-ul:[pawn]enum HouseInfo{ Name[24], Renter[24], Rentable, Rentcost, Cost, Sell, Interior, Virtualworld, Locked, Float:InteriorX, Float:InteriorY, Float:InteriorZ, Float:iconx, Float:icony, Float:iconz, Rentfee}new hInfo[MAX_HOUSES][HouseInfo];[/pawn]Care-i problema ajutati-ma va rog frumos?
Question
SpriTe_
Salut SA-MP.ro, in ultimul timp am inceput sa postez multe topicuri la aceasta sectiune, caci rezolv un GM important, dati sa va explic:
1.Intru in joc, ma duc la vreun pickup de casa:
2.Scriu comanda /buy si ca sa vezi :
De ce oare apare asa, comanda este in GM, iat-o:
[pawn]
CMD:buy( playerid, params[ ] )
{
new str[ 255 ], str1[ 255 ], housenumber;
housenumber = GetHouseID( playerid );
if ( housenumber == -1 ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}You are not in a house icon!" );
format( str1, sizeof( str1 ), "Houses/Users/%s", udb_encode( PlayerName( playerid ) ) );
if ( dini_Exists( str1 ) )
{
if ( dini_Int( str1, "Houseid" ) !=- 255 ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}You can only buy one house!" );
}
format( str1, sizeof( str1 ), "Houses/houseid%d", housenumber );
if ( strcmp( hInfo[ housenumber ][ Name ],"ForSale", true ) ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}This house isn't for sale!");
if ( GetPlayerMoney( playerid ) < hInfo[ housenumber ][ Cost ] ) return SendClientMessage( playerid, COLOR_ULTRARED, "ERROR: {FFFFFF}Not enough money!" );
SendClientMessage( playerid, COLOR_GREEN, "SUCCES: {FFFFFF}You have bought the house!" );
format( str, sizeof( str ), "%s has bought houseid 0", PlayerName( playerid ) );
print( str );
GivePlayerMoney( playerid, -hInfo[ housenumber ][ Cost ] );
dini_Set( str1, "Name", PlayerName( playerid ) );
strmid( hInfo[ housenumber ][ Name ] , PlayerName( playerid ), 0, 25, 25 );
hInfo[ housenumber ][ Locked ] = dini_IntSet( str1, "Locked", 0 );
format( str1, sizeof( str1 ), "Houses/Users/%s", udb_encode( PlayerName( playerid ) ) );
if ( !dini_Exists( str1 ) ) dini_Create( str1 );
new Float:sy, Float:sx, Float:sz;
dini_IntSet( str1, "Houseid", housenumber );
if ( !dini_Isset( str1,"Rentid" ) )
{
dini_IntSet( str1, "Rentid", -255 );
}
GetPlayerPos( playerid, sx,sy,sz );
dini_FloatSet( str1, "SpawnX", sx );
dini_FloatSet( str1, "SpawnY", sy );
dini_FloatSet( str1, "SpawnZ", sz );
dini_IntSet( str1, "SpawnInt", GetPlayerInterior( playerid ) );
DestroyPickup( HousePickup[ housenumber ] );
HousePickup[ housenumber ] = CreatePickup( 1272, 23, hInfo[ housenumber ][ iconx ], hInfo[ housenumber ][ icony ], hInfo[ housenumber ][ iconz ] );
return 1;
}
[/pawn]
Am tot in scriptfiles:
[pawn]
Am foulderul Houses, am casele in el, sunt 500 case, am foulderul Users.
[/pawn]
Am enum-ul:
[pawn]
enum HouseInfo
{
Name[24],
Renter[24],
Rentable,
Rentcost,
Cost,
Sell,
Interior,
Virtualworld,
Locked,
Float:InteriorX,
Float:InteriorY,
Float:InteriorZ,
Float:iconx,
Float:icony,
Float:iconz,
Rentfee
}
new hInfo[MAX_HOUSES][HouseInfo];
[/pawn]
Care-i problema ajutati-ma va rog frumos?
1 answer to this question
Recommended Posts