Advertisement
Guest User

Untitled

a guest
May 27th, 2015
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.53 KB | None | 0 0
  1. CMD:vender(playerid, params[])
  2. {
  3. new minicmd[16], giveplayerid, price, amount;
  4. if(sscanf(params, "s[16]I(-1)I(-1)I(-1)", minicmd, giveplayerid, price, amount)) return SendClientMessage(playerid, -1, "falta algo perro"); //acá va si te falta algo en el comando
  5. if(!strcmp(minicmd, "arma", true) || !strcmp(minicmd, "micasa", true))
  6. {
  7. if(giveplayerid == -1) return SendClientMessage(playerid, -1, "Indicá jugador");
  8. else if(price == -1) return SendClientMessage(playerid, -1, "Indicá precio");
  9. }
  10. else if(!strcmp(minicmd, "mv", true) || !strcmp(minicmd, "materiales", true))
  11. {
  12. if(giveplayerid == -1) return SendClientMessage(playerid, -1, "Indicá jugador");
  13. else if(price == -1) return SendClientMessage(playerid, -1, "Indicá precio");
  14. else if(amount == -1) return SendClientMessage(playerid, -1, "Indicá cantidad");
  15. }
  16. else return SendClientMessage(playerid, -1, "usa bien el comando bobo, anda a la cancha");
  17.  
  18. if(!strcmp(minicmd, "arma", true))
  19. {
  20. id = giveplayerid;
  21. if(Info[playerid][pEstado]==0)
  22. {
  23. if(price < 0 || price > 500000) return SendClientMessageEx(playerid, COLOR_GRAD1, "Precio inválido ");
  24. if(id == playerid)
  25. return SendClientMessageEx(playerid, COLOR_GRAD1, "No puedes venderte un arma a ti mismo");
  26. if(IsPlayerConnected(id))
  27. {
  28. if(ProxDetectorS(6.0, playerid, id) && !IsPlayerInAnyVehicle(playerid))
  29. {
  30. if(IsPlayerInAnyVehicle(id))
  31. return SendClientMessageEx(playerid, COLOR_GRAD2, "No puedes vender un arma si el jugador esta en un coche.");
  32. weapon = GetPlayerWeapon(playerid);
  33. switch(weapon)
  34. {
  35. case 16, 18, 35, 36, 37, 38, 39, 40, 44, 45, 46, 0: SendClientMessage(playerid, COLOR_BLANCO, "Arma Inválida.");
  36. default:
  37. {
  38. format(string, sizeof(string), "Le ofreciste a {209AE6}%s{FFFFFF} una {11FF00}%s{FFFFFF} por {11FF00}$%d{FFFFFF}.", GetPlayerNameEx(id), WeaponNames[weapon], price);
  39. SendClientMessage(playerid, COLOR_BLANCO, string);
  40. format(string, sizeof(string), "{209AE6}%s {ffffff}te ofrece una %s por {11FF00}$%d{FFFFFF}, para aceptarla usa {FFFF00}/aceptar arma{FFFFFF}.", GetPlayerNameEx(playerid), WeaponNames[weapon], price);
  41. SendClientMessage(id, COLOR_BLANCO, string);
  42. Precio[id] = price;
  43. SetPVarInt(id,"gunID",playerid);
  44. SetPVarInt(playerid,"gun",weapon);
  45. SetPVarInt(playerid,"slot",GetWeaponSlot(weapon));
  46. }
  47. }
  48. }
  49. else SendClientMessage(playerid, COLOR_BLANCO, "Estas lejos del jugador o el esta en un auto.");
  50. }
  51. else SendClientMessage(playerid, COLOR_BLANCO, "Jugador no conectado.");
  52. }
  53. else SendClientMessage(playerid, COLOR_BLANCO, "No puedes hacer esto mientras estas tazeado, esposado o congelado.");
  54. return 1;
  55. }
  56. else if(!strcmp(minicmd, "coche", true))
  57. {
  58. new vstring[1024];
  59.  
  60. if(!IsPlayerInRangeOfPoint(playerid, 5, 358.3934,186.1840,1008.3828)) return SendClientMessageEx(playerid, COLOR_GRIS, "No estás en el ayuntamiento.");
  61. for(new i; i < MAX_PLAYERVEHICLES; i++)
  62. {
  63. if(PlayerVehicleInfo[playerid][i][pvId] > INVALID_PLAYER_VEHICLE_ID)
  64. format(vstring, sizeof(vstring), "%s\n{FFFFFF}Vehiculo: {04EBFB} %s {FFFFFF}| Matricula: {04EBFB}%d", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400], PlayerVehicleInfo[playerid][i][pvId]);
  65.  
  66. else if(PlayerVehicleInfo[playerid][i][pvImpounded] == 1)
  67. format(vstring, sizeof(vstring), "%s\n{FFFFFF}Vehiculo: {04EBFB}%s {FFFFFF}| {FF0000}Vehiculo Embargado", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400], PlayerVehicleInfo[playerid][i][pvId]);
  68.  
  69. }
  70. SafeDialogEx(playerid, SELLCAR, DIALOG_STYLE_LIST, "Venta de Vehiculo", vstring, "Vender", "Cancelar");
  71. SendClientMessageEx(playerid, COLOR_AZULCLARO, "No tienes un vehículo.");
  72. return 1;
  73. }
  74. else if(!strcmp(minicmd, "micasa", true))
  75. {
  76. new playername[MAX_PLAYER_NAME];
  77. GetPlayerName(playerid, playername, sizeof(playername));
  78. if((Info[playerid][pPhousekey] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[Info[playerid][pPhousekey]][hOwner], true) == 0))
  79. {
  80. if(price < 1) return SendClientMessageEx(playerid, COLOR_GRIS, "Precio debe ser mayor a 0.");
  81.  
  82. if(!IsPlayerConnected(giveplayerid)) return SendClientMessageEx(playerid, COLOR_GRIS, "Jugador especificado no está conectado en el servidor.");
  83. if(Info[giveplayerid][pPhousekey2] != INVALID_HOUSE_ID && Info[giveplayerid][pPhousekey] != INVALID_HOUSE_ID)
  84. {
  85. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador ya tiene 2 casas.");
  86. return 1;
  87. }
  88. if(Info[giveplayerid][pLevel] >= HouseInfo[Info[playerid][pPhousekey]][hLevel])
  89. {
  90. if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[Info[playerid][pPhousekey]][hExteriorX],HouseInfo[Info[playerid][pPhousekey]][hExteriorY],HouseInfo[Info[playerid][pPhousekey]][hExteriorZ]))
  91. {
  92. if (ProxDetectorS(8.0, playerid, giveplayerid))
  93. {
  94. HouseOffer[giveplayerid] = playerid;
  95. HousePrice[giveplayerid] = price;
  96. House[giveplayerid] = 1;
  97. format(string, sizeof(string), "* Ofreciste a tu casa a %s por $%d.", GetPlayerNameEx(giveplayerid), price);
  98. SendClientMessageEx(playerid, COLOR_AZULCLARO, string);
  99. format(string, sizeof(string), "%s te ha ofrecido su casa por $%d. (usa /aceptar casa para comprarla)", GetPlayerNameEx(playerid), price);
  100. SendClientMessageEx(giveplayerid, COLOR_AZULCLARO, string);
  101. return 1;
  102. }
  103. else
  104. {
  105. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador no está cerca tuyo.");
  106. }
  107. }
  108. else
  109. {
  110. SendClientMessageEx(playerid, COLOR_GRIS, "Tienes que estar cerca de casa.");
  111. }
  112. }
  113. else
  114. {
  115. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador no tiene el nivel requerido para tener esta casa.");
  116. }
  117. }
  118. else if((Info[playerid][pPhousekey2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[Info[playerid][pPhousekey2]][hOwner], true) == 0))
  119. {
  120. new string[128], giveplayerid, price;
  121. if(sscanf(params, "dd", giveplayerid, price)) return SendClientMessageEx(playerid, COLOR_BLANCO, "USA: /vmicasa2 [player] [precio]");
  122. if(price < 1) return SendClientMessageEx(playerid, COLOR_GRIS, "Precio debe ser mayor a 0.");
  123. if(!IsPlayerConnected(giveplayerid)) return SendClientMessageEx(playerid, COLOR_GRIS, "Jugador especificado no está conectado en el servidor.");
  124. if(Info[giveplayerid][pPhousekey2] != INVALID_HOUSE_ID && Info[giveplayerid][pPhousekey] != INVALID_HOUSE_ID)
  125. {
  126. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador ya tiene 2 casas.");
  127. return 1;
  128. }
  129. if(Info[giveplayerid][pLevel] >= HouseInfo[Info[playerid][pPhousekey2]][hLevel])
  130. {
  131. if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[Info[playerid][pPhousekey2]][hExteriorX],HouseInfo[Info[playerid][pPhousekey2]][hExteriorY],HouseInfo[Info[playerid][pPhousekey2]][hExteriorZ]))
  132. {
  133. if (ProxDetectorS(8.0, playerid, giveplayerid))
  134. {
  135. HouseOffer[giveplayerid] = playerid;
  136. HousePrice[giveplayerid] = price;
  137. House[giveplayerid] = 2;
  138. format(string, sizeof(string), "* Ofreciste a tu casa a %s por $%d.", GetPlayerNameEx(giveplayerid), price);
  139. SendClientMessageEx(playerid, COLOR_AZULCLARO, string);
  140. format(string, sizeof(string), "%s te ha ofrecido su casa por $%d. (usa /aceptar casa para comprarla)", GetPlayerNameEx(playerid), price);
  141. SendClientMessageEx(giveplayerid, COLOR_AZULCLARO, string);
  142. return 1;
  143. }
  144. else
  145. {
  146. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador no está cerca tuyo.");
  147. return 1;
  148. }
  149. }
  150. else
  151. {
  152. SendClientMessageEx(playerid, COLOR_GRIS, "Tienes que estar cerca de tu casa.");
  153. return 1;
  154. }
  155. }
  156. else
  157. {
  158. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador no tiene el nivel requerido para tener esta casa.");
  159. return 1;
  160. }
  161. }
  162. return 1;
  163.  
  164. }
  165. else if(!strcmp(minicmd, "casa", true))
  166. {
  167. new string[128];
  168. new house = Info[playerid][pPhousekey];
  169. if(house == INVALID_HOUSE_ID)
  170. {
  171. SendClientMessageEx(playerid, COLOR_BLANCO, "No eres dueño de una casa.");
  172. return 1;
  173. }
  174. if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[house][hExteriorX],HouseInfo[house][hExteriorY],HouseInfo[house][hExteriorZ]))
  175. {
  176. ClearHouse(house);
  177. HouseInfo[house][hLock] = 1;
  178. format( HouseInfo[house][hOwner], 128, "Nobody" );
  179. GivePlayerCash(playerid,HouseInfo[house][hValue]);
  180. HouseInfo[house][hGLUpgrade] = 1;
  181. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  182. format(string, sizeof(string), "~w~Felicitaciones~n~ Vendiste tu casa por ~n~~g~$%d", HouseInfo[house][hValue]);
  183. GameTextForPlayer(playerid, string, 4000, 3);
  184. Info[playerid][pPhousekey] = INVALID_HOUSE_ID;
  185. if(Info[playerid][pVW] == house+6000)
  186. {
  187. SetPlayerInterior(playerid,0);
  188. SetPlayerPos(playerid,HouseInfo[house][hExteriorX],HouseInfo[house][hExteriorY],HouseInfo[house][hExteriorZ]);
  189. Info[playerid][pInt] = 0;
  190. Info[playerid][pPhousekey] = INVALID_HOUSE_ID;
  191. }
  192. SaveHouses();
  193. OnPlayerUpdate(playerid);
  194. DestroyDynamicPickup(HouseInfo[house][hPickupID]);
  195. HouseInfo[house][hPickupID] = CreateDynamicPickup(1273, 23, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ]);
  196. DestroyDynamic3DTextLabel(HouseInfo[house][hTextID]);
  197. format(string, sizeof(string), "{55F032}En Venta!\n{55F032}Costo:{FFFFFF} $%d\n {55F032}Nivel:{FFFFFF} %d\n{55F032}Para comprar: /comprarcasa",HouseInfo[house][hValue],HouseInfo[house][hLevel]);
  198. HouseInfo[house][hTextID] = CreateDynamic3DTextLabel( string, COLOR_VERDE2, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ]+0.5, 10.0);
  199. new ip[32];
  200. GetPlayerIp(playerid,ip,sizeof(ip));
  201. format(string,sizeof(string),"%s (IP: %s) has sold their house (ID %d) for $%d.",GetPlayerNameEx(playerid),ip,house,HouseInfo[house][hValue]);
  202. Log("logs/casa.log", string);
  203. return 1;
  204. }
  205. else SendClientMessageEx(playerid, COLOR_BLANCO, "Necesitas estar cerca su casa (exterior) para venderla.");
  206. return 1;
  207. }
  208. else if(!strcmp(minicmd, "mv", true))
  209. {
  210. if(amount < 1) { SendClientMessageEx(playerid, COLOR_ROJO, " Necesitas tener monedas virtuales para vender!"); return 1; }
  211. if(price < 1) { SendClientMessageEx(playerid, COLOR_ROJO, " El precio no puede ser menor que 1!"); return 1; } // Esto es opcional
  212. if(Info[playerid][pMv] >= amount) {
  213. if(IsPlayerConnected(playerid)){
  214. if(IsPlayerConnected(giveplayerid)){
  215. if(ProxDetectorS(8.0, playerid, giveplayerid)){
  216. if(giveplayerid == playerid) return SendClientMessageEx(playerid, COLOR_AZULCLARO, "No puedes venderte a ti mismo.");
  217. format(string, sizeof(string), "* Has ofrecido a %s, %d monedas virtuales por $%d.", GetPlayerNameEx(giveplayerid), amount, price);
  218. SendClientMessageEx(playerid, COLOR_AZULCLARO, string);
  219. format(string, sizeof(string), "%s quiere venderte %d monedas virtuales por $%d, (Usa: /aceptar ps para comprar).", GetPlayerNameEx(playerid), amount, price);
  220. SendClientMessageEx(giveplayerid, COLOR_AZULCLARO, string);
  221. FOffer[giveplayerid] = playerid;
  222. FPrice[giveplayerid] = price;
  223. return FAmount[giveplayerid] = amount;
  224. }
  225. else return SendClientMessageEx(playerid, COLOR_BLANCO, "Ese jugador no está cerca tuyo.");
  226. } }
  227. else SendClientMessageEx(playerid, COLOR_GRAD1, "ID Inválida.");
  228. }
  229. else SendClientMessageEx(playerid, COLOR_GRAD1, "No tienes monedas virtuales.");
  230. return 1;
  231. }
  232. else if(!strcmp(minicmd, "casa2", true))
  233. {
  234. new string[128];
  235. new house2 = Info[playerid][pPhousekey2];
  236. if(house2 == INVALID_HOUSE_ID)
  237. {
  238. SendClientMessageEx(playerid, COLOR_BLANCO, "No eres dueño de una casa.");
  239. return 1;
  240. }
  241. if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[house2][hExteriorX],HouseInfo[house2][hExteriorY],HouseInfo[house2][hExteriorZ]))
  242. {
  243. ClearHouse(house2);
  244. HouseInfo[house2][hLock] = 1;
  245. format( HouseInfo[house2][hOwner], 128, "Nobody" );
  246. GivePlayerCash(playerid,HouseInfo[house2][hValue]);
  247. HouseInfo[house2][hGLUpgrade] = 1;
  248. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  249. format(string, sizeof(string), "~w~Felicitaciones~n~ Vendiste tu casa por ~n~~g~$%d", HouseInfo[house2][hValue]);
  250. GameTextForPlayer(playerid, string, 4000, 3);
  251. Info[playerid][pPhousekey2] = INVALID_HOUSE_ID;
  252. if(Info[playerid][pVW] == house2+6000)
  253. {
  254. SetPlayerInterior(playerid,0);
  255. SetPlayerPos(playerid,HouseInfo[house2][hExteriorX],HouseInfo[house2][hExteriorY],HouseInfo[house2][hExteriorZ]);
  256. Info[playerid][pInt] = 0;
  257. Info[playerid][pPhousekey2] = INVALID_HOUSE_ID;
  258. }
  259. //Info[playerid][pInsurance] = 0;
  260. SaveHouses();
  261. OnPlayerUpdate(playerid);
  262. DestroyDynamicPickup(HouseInfo[house2][hPickupID]);
  263. HouseInfo[house2][hPickupID] = CreateDynamicPickup(1273, 23, HouseInfo[house2][hExteriorX], HouseInfo[house2][hExteriorY], HouseInfo[house2][hExteriorZ]);
  264. DestroyDynamic3DTextLabel(HouseInfo[house2][hTextID]);
  265. format(string, sizeof(string), "{55F032}En Venta!\n{55F032}Costo:{FFFFFF} $%d\n {55F032}Nivel:{FFFFFF} %d\n{55F032}Para comprar: /comprarcasa",HouseInfo[house2][hValue],HouseInfo[house2][hLevel]);
  266. HouseInfo[house2][hTextID] = CreateDynamic3DTextLabel( string, COLOR_VERDE2, HouseInfo[house2][hExteriorX], HouseInfo[house2][hExteriorY], HouseInfo[house2][hExteriorZ]+0.5,10.0);
  267. new ip[32];
  268. GetPlayerIp(playerid,ip,sizeof(ip));
  269. format(string,sizeof(string),"%s (IP: %s) has sold their house (ID %d) for $%d.",GetPlayerNameEx(playerid),ip,house2,HouseInfo[house2][hValue]);
  270. Log("logs/casa.log", string);
  271. return 1;
  272. }
  273. else
  274. {
  275. SendClientMessageEx(playerid, COLOR_BLANCO, "Necesitas estar cerca su casa (exterior) para venderla.");
  276. }
  277. return 1;
  278. }
  279. else if(!strcmp(minicmd, "materiales", true))
  280. {
  281. if(amount < 1 || amount > 99999999) { SendClientMessageEx(playerid, COLOR_GRIS, " Los valores no pueden ser mayores a 99999999 gramos ni menores a 1."); return 1; }
  282. if(price < 1) { SendClientMessageEx(playerid, COLOR_GRIS, " El precio no puede ser menor que 1!"); return 1; }
  283. if (GetPVarInt(playerid, "ArmsTimer") > 0)
  284. {
  285. format(string, sizeof(string), " Tienes que esperar %d segundos despues de haber dado algún arma o materiales.", GetPVarInt(playerid, "ArmsTimer"));
  286. SendClientMessageEx(playerid,COLOR_GRIS,string);
  287. return 1;
  288. }
  289. if(IsPlayerConnected(playerid))
  290. {
  291. if(IsPlayerConnected(giveplayerid))
  292. {
  293. if(ProxDetectorS(8.0, playerid, giveplayerid))
  294. {
  295. if(giveplayerid == playerid)
  296. {
  297. SendClientMessageEx(playerid, COLOR_GRIS, "No puedes venderte a ti mismo.");
  298. return 1;
  299. }
  300. format(string, sizeof(string), "* Has ofrecido a %s, %d materiales por $%d.", GetPlayerNameEx(giveplayerid), amount, price);
  301. SendClientMessageEx(playerid, COLOR_AZULCLARO, string);
  302. format(string, sizeof(string), "%s quiere venderte %d materiales por $%d, (Usa: /aceptar materiales para comprar).", GetPlayerNameEx(playerid), amount, price);
  303. SendClientMessageEx(giveplayerid, COLOR_AZULCLARO, string);
  304. MatsOffer[giveplayerid] = playerid;
  305. MatsPrice[giveplayerid] = price;
  306. return MatsAmount[giveplayerid] = amount;
  307. }
  308. else
  309. {
  310. SendClientMessageEx(playerid, COLOR_GRIS, "Ese jugador no está cerca tuyo.");
  311. }
  312. }
  313. }
  314. else
  315. {
  316. SendClientMessageEx(playerid, COLOR_GRAD1, "ID Inválido.");
  317. }
  318. return 1;
  319. }
  320. return 1;
  321. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement