· 6 years ago · Apr 22, 2019, 05:08 PM
1class PropStats
2{
3ID = 1;
4Nombre = null;
5Precio = 0;
6Dueno = null;
7Compartido = null;
8Compartido2 = null;
9}
10
11ScriptLoad:
12Casa <- array( 1001, null );
13CargarCasas();
14
15BaseDeDatos:
16mysql_query( db, "CREATE TABLE IF NOT EXISTS Casas ( ID NUMERIC, Nombre TEXT, Precio NUMERIC, Dueno TEXT, Compartido TEXT, Compartido2 TEXT, PX FLOAT, PY FLOAT, PZ FLOAT )" );
17
18onPickupPickedUp:
19if ( !player.Vehicle && pickup.Model == 407 )
20{
21if ( Casa[ pickup.ID ] != null )
22{
23Info( "[#00bfff]Nombre de propiedad: [#ffffff]" + Casa[ pickup.ID ].Nombre + " [#00bfff]ID: [#ffffff]" + Casa[ pickup.ID ].ID + " [#00bfff]Dueno: [#ffffff]" + Casa[ pickup.ID ].Dueno + ".", player );
24Info( "[#00bfff]Precio: [#ffffff]" + Casa[ pickup.ID ].Precio + " [#00dfff]Compartida con: [#ffffff][" + Casa[ pickup.ID ].Compartido + "] [#00bfff] | [#ffffff][" + Casa[ pickup.ID ].Compartido2 + "] [#EEC900].",player );
25}
26}
27
28onPlayerCommand:
29if ( cmd == "casacmds" || cmd=="propcmds" )
30{
31if ( Checar( player, null ) ) return 0;
32else
33{
34Cmd("comprarcasa, vendercasa, miscasas, miscasascompart, compartcasa, descompartcasa, compartcasa2, descompartcasa2, casa",player)
35}
36return 1;
37}
38
39else if ( cmd == "comprarcasa" || cmd=="buyprop" )
40{
41if ( !text ) Cmd( "/"+ cmd + " <ID>", player );
42else if ( !IsNum( text ) ) Error( "Use Numeros.", player );
43else if ( !FindProp( text.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
44else if ( Casa[ text.tointeger() ].Dueno != "Vice-City" ) Error( "Esta propiedad no esta en venta.", player );
45else if ( player.Cash < Casa[ text.tointeger() ].Precio ) Error( "Su dinero no es suficiente para esta propiedad.", player );
46else
47{
48player.Cash -= Casa[ text.tointeger() ].Precio;
49Casa[ text.tointeger() ].Dueno = player.Name;
50mysql_query( db, "UPDATE Casas SET Dueno='" + player.Name + "' WHERE ID='" + Casa[ text.tointeger() ].ID + "'" );
51Info("Propiedad comprada con exito.", player );
52}
53return 0;
54}
55
56else if ( cmd == "vendercasa" || cmd=="sellprop" )
57{
58if ( !text ) Cmd( "/" + cmd + " <ID>", player );
59else if ( !IsNum( text ) ) Error( "Use Numeros.", player );
60else if ( !FindProp( text.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
61else if ( Casa[ text.tointeger() ].Dueno != player.Name ) Error( "Usted no es propietario de esta casa.", player );
62else
63{
64player.Cash += Casa[ text.tointeger() ].Precio / 2;
65Casa[ text.tointeger() ].Dueno = "Vice-City";
66Casa[ text.tointeger() ].Compartido = "N/A";
67mysql_query( db, "UPDATE Casas SET Dueno='Vice-City', Compartido='N/A' WHERE ID='" + Casa[ text.tointeger() ].ID + "'" );
68Info("Propiedad vendida con exito.",player );
69}
70return 0;
71}
72
73else if ( cmd == "casa" || cmd=="proploc")
74{
75if ( !text ) Cmd( "/" + cmd + " <ID>", player );
76else if ( !IsNum( text ) ) Error( "Use Numeros.", player );
77else if ( !FindProp( text.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
78else if ( Casa[ text.tointeger() ].Dueno != player.Name && Casa[ text.tointeger() ].Compartido != player.Name && Casa[ text.tointeger() ].Compartido2 != player.Name ) Error( "Usted no es propietario de esta casa.", player );
79else
80{
81player.IsFrozen = true;
82NewTimer( "GotoProp", 3000, 1, player.ID, text );
83Espera("Aguarde 3 segundos...", player );
84}
85return 0;
86}
87
88else if ( cmd == "miscasas" || cmd=="myprops")
89{
90local b;
91for( local i = 0, pickup; i < GetPickupCount(); i++ )
92{
93pickup = FindPickup( i );
94if ( pickup && Casa[ i ] != null )
95{
96if ( Casa[ i ].Dueno == player.Name )
97{
98if ( b ) b = b + ", " + Casa[ i ].Nombre + " (" + i + ")";
99else b = Casa[ i ].Nombre + " (" + i + ")";
100}
101}
102}
103if ( !b ) Error( "Usted No tiene propiedades.",player );
104else Info("Sus propiedades: " + b + ".",player)
105return 1;
106}
107
108else if ( cmd == "miscasascompart" || cmd=="myshareprops")
109{
110local b;
111for( local i = 0, pickup; i < GetPickupCount(); i++ )
112{
113pickup = FindPickup( i );
114if ( pickup && Casa[ i ] != null )
115{
116if ( Casa[ i ].Compartido == player.Name )
117{
118if ( b ) b = b + ", " + Casa[ i ].Nombre + " (" + i + ")";
119else b = Casa[ i ].Nombre + " (" + i + ")";
120}
121}
122}
123if ( !b ) Error( "No hay pripiedades compartida con usted.",player );
124else Info("Propiedades compartida con usted: " + b + ".",player)
125return 1;
126}
127
128else if ( cmd == "compartcasa1"||cmd=="shareprop1" )
129{
130if ( !text ) Cmd("/" + cmd + " <ID> <Nick/ID>", player );
131else
132{
133local id = GetTok( text, " ", 1 );
134if ( !id ) Cmd("/" + cmd + " <ID> <Nick/ID>", player );
135else if ( !IsNum( id ) ) Error( "Use Numeros.", player );
136else if ( !FindProp( id.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
137else if ( Casa[ id.tointeger() ].Dueno != player.Name ) Error( "Usted no es propietario de esta casa.", player );
138else if ( Casa[ id.tointeger() ].Compartido != "N/A" ) Error( "Esta propiedad ya esta compartida con: " + Casa[ id.tointeger() ].Compartido + ".",player );
139else
140{
141local plr = GetPlayer( GetTok( text, " ", 2 ) );
142if ( !plr ) Error( "Jugador desconocido.", player );
143else if ( plr.ID == player.ID ) Error( "La propiedad es suya no es necesario que se la comparta.", player );
144else
145{
146Casa[ text.tointeger() ].Compartido = plr.Name;
147mysql_query( db, "UPDATE Casas SET Compartido='" + plr.Name + "' WHERE ID='" + Casa[ text.tointeger() ].ID + "'" );
148Info("La propiedad se compartio con " + plr.Name + " exitosamente.", player );
149}
150}
151}
152return 1;
153}
154
155else if ( cmd == "compartcasa1"||cmd=="shareprop1" )
156{
157if ( !text ) Cmd("/" + cmd + " <ID> <Nick/ID>", player );
158else
159{
160local id = GetTok( text, " ", 1 );
161if ( !id ) Cmd("/" + cmd + " <ID> <Nick/ID>", player );
162else if ( !IsNum( id ) ) Error( "Use Numeros.", player );
163else if ( !FindProp( id.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
164else if ( Casa[ id.tointeger() ].Dueno != player.Name ) Error( "Usted no es propietario de esta casa.", player );
165else if ( Casa[ id.tointeger() ].Compartido2 != "N/A" ) Error( "Esta propiedad ya esta compartida con: " + Casa[ id.tointeger() ].Compartido + ".",player );
166else
167{
168local plr = GetPlayer( GetTok( text, " ", 2 ) );
169if ( !plr ) Error( "Jugador desconocido.", player );
170else if ( plr.ID == player.ID ) Error( "La propiedad es suya no es necesario que se la comparta.", player );
171else
172{
173Casa[ text.tointeger() ].Compartido2 = plr.Name;
174mysql_query( db, "UPDATE Casas SET Compartido2='" + plr.Name + "' WHERE ID='" + Casa[ text.tointeger() ].ID + "'" );
175Info("La propiedad se compartio con " + plr.Name + " exitosamente.", player );
176}
177}
178}
179return 1;
180}
181
182else if ( cmd == "descompartcasa" || cmd == "delshareprop" )
183{
184if ( !text ) Cmd( "/" + cmd + " <ID>", player );
185else if ( !IsNum( text ) ) Error( "Use Numeros.", player );
186else if ( !FindProp( text.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
187else if ( Casa[ text.tointeger() ].Dueno != player.Name ) Error( "Usted no es propietario de esta casa.", player );
188else if ( Casa[ text.tointeger() ].Compartido == "N/A" ) Error( "La propiedad no esta compartida.",player );
189else
190{
191Casa[ text.tointeger() ].Compartido = "N/A";
192Info("Propiedad descompartida exitosamente.", player );
193mysql_query( db, "UPDATE Casas SET Compartido='N/A' WHERE ID='" + Casa[ text.tointeger() ].ID + "'" );
194}
195return 1;
196}
197
198else if ( cmd == "descompartcasa" || cmd == "delshareprop" )
199{
200if ( !text ) Cmd( "/" + cmd + " <ID>", player );
201else if ( !IsNum( text ) ) Error( "Use Numeros.", player );
202else if ( !FindProp( text.tointeger() ) ) Error( "ID: "+text+" no existe.", player );
203else if ( Casa[ text.tointeger() ].Dueno != player.Name ) Error( "Usted no es propietario de esta casa.", player );
204else if ( Casa[ text.tointeger() ].Compartido2 == "N/A" ) Error( "La propiedad no esta compartida.",player );
205else
206{
207Casa[ text.tointeger() ].Compartido2 = "N/A";
208Info("Propiedad descompartida exitosamente.", player );
209mysql_query( db, "UPDATE Casas SET Compartido2='N/A' WHERE ID='" + Casa[ text.tointeger() ].ID + "'" );
210}
211return 1;
212}
213
214function CargarCasas()
215{
216local i = 1, id, Nombre, Precio, Dueno, Compartido, Compartido2, x, y, z, id;
217local q = mysql_query( db, "SELECT * FROM Casas" );
218if ( !q ) {
219 print( "MySQL query failed." );
220 return;
221 }
222while ( data = mysql_fetch_assoc( q ) != null )
223{
224id = data[ 0 ];
225Nombre = data[ 1 ];
226Precio = data[ 2 ];
227Dueno = data[ 3 ];
228Compartido = data[ 4 ];
229Compartido2 = data[ 5 ];
230x = data[ 6 ];
231y = data[ 7 ];
232z = data[ 8 ];
233id = CreatePickup( 407, 1, 1, x, y, z, 255, true ).ID;
234Casa[ id ] = PropStats();
235Casa[ id ].ID = id;
236Casa[ id ].Nombre = Nombre;
237Casa[ id ].Precio = Precio;
238Casa[ id ].Dueno = Dueno;
239Casa[ id ].Compartido = Compartido;
240Casa[ id ].Compartido2 = Compartido2;
241i++;
242}
243mysql_free_result( q );
244print( "Casas Cargadas, Cantidad: " + i );
245}
246
247function CountProps()
248{
249local c = 1;
250for( local i = 1, pickup; i < GetPickupCount(); i++ )
251{
252pickup = FindPickup( i );
253if ( pickup && pickup.Model == 407 ) c ++;
254}
255return c;
256}
257
258function PropNameExist( Nombre )
259{
260local result = false;
261for( local i = 0, pickup; i < GetPickupCount(); i++ )
262{
263pickup = FindPickup( i );
264if ( pickup && Casa[ pickup.ID ] != null )
265{
266if ( Casa[ pickup.ID ].Nombre == Nombre ) result = true;
267}
268}
269return result;
270}
271
272function FindProp( id )
273{
274if ( id < 0 ) return false;
275else if ( id > 1000 ) return false;
276else if ( Casa[ id ] == null ) return false;
277else return true;
278}
279
280function GotoProp( player, text )
281{
282local player = FindPlayer( player );
283if ( player )
284{
285player.Pos = FindPickup( Casa[ text.tointeger() ].ID ).Pos;
286Info("Transportado ha su propiedad con exito.", player );
287player.IsFrozen = false;
288}
289}