Advertisement
Guest User

-1

a guest
Jul 21st, 2014
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.68 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <ocmd>
  7. #include <a_mysql>
  8. #include <sscanf2>
  9.  
  10. #if defined FILTERSCRIPT
  11.  
  12. public OnFilterScriptInit()
  13. {
  14. print("\n--------------------------------------");
  15. print(" Blank Filterscript by your name here");
  16. print("--------------------------------------\n");
  17. return 1;
  18. }
  19.  
  20. public OnFilterScriptExit()
  21. {
  22. return 1;
  23. }
  24.  
  25. #else
  26.  
  27. #define MAX_BIZ 100 //limit anpassen
  28. #define SQL_HOST "localhost"
  29. #define SQL_USER "gta"
  30. #define SQL_PASS "gta"
  31. #define SQL_DATA "BIZ"
  32.  
  33.  
  34. #pragma tabsize 0
  35. new BIZ = 0;
  36. new CB[MAX_PLAYERS];
  37.  
  38. new bla = false;
  39. #define SCME(%0,%1,%2) do{new _str[128]; format(_str,128,%2); SendClientMessage(%0,%1,_str);}while(bla)
  40. #define SAME(%0,%1) do{new _str[128]; format(_str,128,%1); SendClientMessageToAll(%0,_str);}while(bla)
  41.  
  42. enum
  43. {
  44. DIALOG_MENU = 500,//hm
  45. DIALOG_B_NAME,//name ändern
  46. DIALOG_B_OWNER,//besi. ändern
  47. DIALOG_B_BP,//kaufpreis
  48. DIALOG_B_OWN,//owner
  49. DIALOG_B_INT,//interior
  50. DIALOG_B_VW//virtuelle welt
  51.  
  52. }
  53.  
  54.  
  55.  
  56. enum b_data
  57. {
  58. ID,//Nur zum Laden. Ist irrelevant
  59. b_id,//eindeutige Biz ID
  60. b_name[64],//name
  61. b_owner[24],//Besitzer
  62. b_buyprice, //kaufpreis
  63. b_owned,//
  64. Float:b_enterposx,//x = 0; y = 1; z = 2
  65. Float:b_enterposy,// x = 0; y = 1; z = 2
  66. Float:b_enterposz,
  67. Float:b_exitposx,
  68. Float:b_exitposy,
  69. Float:b_exitposz,
  70. b_int,//interior,
  71. b_vw//vw
  72. }
  73.  
  74. new data[MAX_BIZ][b_data];
  75. main()
  76. {
  77. print("\n----------------------------------");
  78. print(" Blank Gamemode by your name here");
  79. print("----------------------------------\n");
  80. }
  81.  
  82. #endif
  83.  
  84. public OnGameModeInit()
  85. {
  86. // Don't use these lines if it's a filterscript
  87. SetGameModeText("Blank Script");
  88. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  89. Connect_To_Database();
  90. mysql_debug();
  91. LoadBiz();
  92.  
  93. return 1;
  94. }
  95.  
  96. public OnGameModeExit()
  97. {
  98. return 1;
  99. }
  100.  
  101. public OnPlayerRequestClass(playerid, classid)
  102. {
  103. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  104. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  105. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  106. return 1;
  107. }
  108.  
  109. public OnPlayerConnect(playerid)
  110. {
  111. return 1;
  112. }
  113.  
  114. public OnPlayerDisconnect(playerid, reason)
  115. {
  116. return 1;
  117. }
  118.  
  119. public OnPlayerSpawn(playerid)
  120. {
  121. return 1;
  122. }
  123.  
  124. public OnPlayerDeath(playerid, killerid, reason)
  125. {
  126. return 1;
  127. }
  128.  
  129. public OnVehicleSpawn(vehicleid)
  130. {
  131. return 1;
  132. }
  133.  
  134. public OnVehicleDeath(vehicleid, killerid)
  135. {
  136. return 1;
  137. }
  138.  
  139. public OnPlayerText(playerid, text[])
  140. {
  141. return 1;
  142. }
  143.  
  144. public OnPlayerCommandText(playerid, cmdtext[])
  145. {
  146. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  147. {
  148. // Do something here
  149. return 1;
  150. }
  151. return 0;
  152. }
  153.  
  154. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  155. {
  156. return 1;
  157. }
  158.  
  159. public OnPlayerExitVehicle(playerid, vehicleid)
  160. {
  161. return 1;
  162. }
  163.  
  164. public OnPlayerStateChange(playerid, newstate, oldstate)
  165. {
  166. return 1;
  167. }
  168.  
  169. public OnPlayerEnterCheckpoint(playerid)
  170. {
  171. return 1;
  172. }
  173.  
  174. public OnPlayerLeaveCheckpoint(playerid)
  175. {
  176. return 1;
  177. }
  178.  
  179. public OnPlayerEnterRaceCheckpoint(playerid)
  180. {
  181. return 1;
  182. }
  183.  
  184. public OnPlayerLeaveRaceCheckpoint(playerid)
  185. {
  186. return 1;
  187. }
  188.  
  189. public OnRconCommand(cmd[])
  190. {
  191. return 1;
  192. }
  193.  
  194. public OnPlayerRequestSpawn(playerid)
  195. {
  196. return 1;
  197. }
  198.  
  199. public OnObjectMoved(objectid)
  200. {
  201. return 1;
  202. }
  203.  
  204. public OnPlayerObjectMoved(playerid, objectid)
  205. {
  206. return 1;
  207. }
  208.  
  209. public OnPlayerPickUpPickup(playerid, pickupid)
  210. {
  211. return 1;
  212. }
  213.  
  214. public OnVehicleMod(playerid, vehicleid, componentid)
  215. {
  216. return 1;
  217. }
  218.  
  219. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  220. {
  221. return 1;
  222. }
  223.  
  224. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  225. {
  226. return 1;
  227. }
  228.  
  229. public OnPlayerSelectedMenuRow(playerid, row)
  230. {
  231. return 1;
  232. }
  233.  
  234. public OnPlayerExitedMenu(playerid)
  235. {
  236. return 1;
  237. }
  238.  
  239. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  240. {
  241. return 1;
  242. }
  243.  
  244. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  245. {
  246. return 1;
  247. }
  248.  
  249. public OnRconLoginAttempt(ip[], password[], success)
  250. {
  251. return 1;
  252. }
  253.  
  254. public OnPlayerUpdate(playerid)
  255. {
  256. return 1;
  257. }
  258.  
  259. public OnPlayerStreamIn(playerid, forplayerid)
  260. {
  261. return 1;
  262. }
  263.  
  264. public OnPlayerStreamOut(playerid, forplayerid)
  265. {
  266. return 1;
  267. }
  268.  
  269. public OnVehicleStreamIn(vehicleid, forplayerid)
  270. {
  271. return 1;
  272. }
  273.  
  274. public OnVehicleStreamOut(vehicleid, forplayerid)
  275. {
  276. return 1;
  277. }
  278.  
  279. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  280. {
  281. switch(dialogid)
  282. {
  283. case DIALOG_MENU:
  284. {
  285. if(!response)return 1;
  286. switch(listitem)
  287. {
  288. case 0://name
  289. {
  290. ShowPlayerDialog(playerid,DIALOG_B_NAME,DIALOG_STYLE_INPUT," Biz - Name"," Gib nun den neuen Namen ein:","Weiter","Abbruch");
  291. }
  292. case 1://owner
  293. {
  294. ShowPlayerDialog(playerid,DIALOG_B_OWNER,DIALOG_STYLE_INPUT," Biz - Owner"," Gib nun den Namen des neuen Besitzers ein:","Weiter","Abbruch");
  295.  
  296. }
  297. case 2://kaufpreis
  298. {
  299. ShowPlayerDialog(playerid,DIALOG_B_BP,DIALOG_STYLE_INPUT," Biz - Kaufpreis"," Gib nun den neuen Kaufpreis ein:","Weiter","Abbruch");
  300.  
  301. }
  302. case 3://usage
  303. {
  304. ShowPlayerDialog(playerid,DIALOG_B_OWN,DIALOG_STYLE_INPUT," Biz - Benutzt"," Gib nun den neuen Wert ein.\n 0 = Niemand \n 1 = In Besitz","Weiter","Abbruch");
  305. }
  306. case 4://int
  307. {
  308. ShowPlayerDialog(playerid,DIALOG_B_INT,DIALOG_STYLE_INPUT," Biz - Interior"," Gib nun die neue Interior-ID ein:","Weiter","Abbruch");
  309. }
  310. case 5://cw
  311. {
  312. ShowPlayerDialog(playerid,DIALOG_B_VW,DIALOG_STYLE_INPUT," Biz - Virtuelle Welt","Gib nun die neue Virtuelle Welt ein:","Weiter","Abbruch");
  313. }
  314. }
  315. }
  316. case DIALOG_B_NAME:
  317. {
  318. if(!response)return 1;
  319. if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_NAME,DIALOG_STYLE_INPUT," Biz - Name"," Gib nun den neuen Namen ein:","Weiter","Abbruch");
  320. new query[200];
  321. format(query,sizeof(query)," UPDATE bizdata SET name = '%s' WHERE bizid = '%d'",inputtext,CB[playerid]);
  322. mysql_query(query);
  323. SCME(playerid,-1," Name geändert! > %s < Bei nächstem GMX aktiv!", inputtext);
  324. }
  325. case DIALOG_B_OWNER:
  326. {
  327. if(!response)return 1;
  328. if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_OWNER,DIALOG_STYLE_INPUT," Biz - Owner"," Gib nun den Namen des neuen Besitzers ein:","Weiter","Abbruch");
  329. new query[200];
  330. format(query,sizeof(query)," UPDATE bizdata SET owner = '%s' WHERE bizid = '%d'",inputtext,CB[playerid]);
  331. mysql_query(query);
  332. SCME(playerid,-1," Besitzer geändert! > %s < Bei nächstem GMX aktiv!", inputtext);
  333. }
  334. case DIALOG_B_BP:
  335. {
  336. if(!response)return 1;
  337. if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_BP,DIALOG_STYLE_INPUT," Biz - Kaufpreis"," Gib nun den neuen Kaufpreis ein:","Weiter","Abbruch");
  338. if(!IsNumeric(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_BP,DIALOG_STYLE_INPUT," Biz - Kaufpreis"," Gib nun den neuen Kaufpreis ein:","Weiter","Abbruch");
  339. new query[200];
  340. format(query,sizeof(query)," UPDATE bizdata SET buyprice = '%d' WHERE bizid = '%d'",inputtext,CB[playerid]);
  341. mysql_query(query);
  342. SCME(playerid,-1," Kaufpreis geändert! > %d < Bei nächstem GMX aktiv!", inputtext);
  343. }
  344. case DIALOG_B_OWN:
  345. {
  346. if(!response)return 1;
  347. if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_OWN,DIALOG_STYLE_INPUT," Biz - Benutzt"," Gib nun den neuen Wert ein.\n 0 = Niemand \n 1 = In Besitz","Weiter","Abbruch");
  348. if(!IsNumeric(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_OWN,DIALOG_STYLE_INPUT," Biz - Benutzt"," Gib nun den neuen Wert ein.\n 0 = Niemand \n 1 = In Besitz","Weiter","Abbruch");
  349. new query[200];
  350. format(query,sizeof(query)," UPDATE bizdata SET owned = '%d' WHERE bizid = '%d'",inputtext,CB[playerid]);
  351. mysql_query(query);
  352. SCME(playerid,-1," 'Benutzt' geändert! > %d < Bei nächstem GMX aktiv!", inputtext);
  353. }
  354. case DIALOG_B_INT:
  355. {
  356. if(!response)return 1;
  357. if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_INT,DIALOG_STYLE_INPUT," Biz - Interior"," Gib nun die neue Interior-ID ein:","Weiter","Abbruch");
  358. if(!IsNumeric(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_INT,DIALOG_STYLE_INPUT," Biz - Interior"," Gib nun die neue Interior-ID ein:","Weiter","Abbruch");
  359. new query[200];
  360. format(query,sizeof(query)," UPDATE bizdata SET int = '%d' WHERE bizid = '%d'",inputtext,CB[playerid]);
  361. mysql_query(query);
  362. SCME(playerid,-1," Interior geändert! > %d < Bei nächstem GMX aktiv!", inputtext);
  363. }
  364. case DIALOG_B_VW:
  365. {
  366. if(!response)return 1;
  367. if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_VW,DIALOG_STYLE_INPUT," Biz - Virtuelle Welt","Gib nun die neue Virtuelle Welt ein:","Weiter","Abbruch");
  368. if(!IsNumeric(inputtext))return ShowPlayerDialog(playerid,DIALOG_B_VW,DIALOG_STYLE_INPUT," Biz - Virtuelle Welt","Gib nun die neue Virtuelle Welt ein:","Weiter","Abbruch");
  369. new query[200];
  370. format(query,sizeof(query)," UPDATE bizdata SET vw = '%d' WHERE bizid = '%d'",inputtext,CB[playerid]);
  371. mysql_query(query);
  372. SCME(playerid,-1," Virtuelle Welt geändert! > %d < Bei nächstem GMX aktiv!", inputtext);
  373. }
  374. }
  375.  
  376.  
  377. return 1;
  378. }
  379.  
  380. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  381. {
  382. return 1;
  383. }
  384.  
  385. ocmd@2:bh,bizhelp(playerid,params[])
  386. {
  387. #pragma unused params
  388. return SendClientMessage(playerid,-1," /cb - Createbiz | /clb - Control Biz | /bb - Buybiz");
  389. }
  390.  
  391. ocmd@2:cb,createbiz(playerid,params[])
  392. {
  393. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1," Du hast nicht die benötigten Bereichtigungen für diesen Befehl!");
  394. new name[30],bp,Float:pos[3],text[128],query[500];
  395. if(sscanf(params,"s[30]d",name,bp))return SendClientMessage(playerid,-1," /cb <Name> <Kaufpreis>");
  396. if(bp < 0)return SendClientMessage(playerid,-1," Der Preis darf nicht unter 0 sein!");
  397. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  398. CreatePickup(1239,1,pos[0],pos[1],pos[2]);
  399. format(text,sizeof(text)," > %s < \n > Besitzer : Niemand <\n > Kaufpreis : %d <",name,bp);
  400. Create3DTextLabel(text,0xFDFFFFFF,pos[0],pos[1],pos[2],10,0,0);
  401. printf("Biz Created: %i %s %f %f %f %d",BIZ,name,pos[0],pos[1],pos[2],bp);
  402. format(query,sizeof(query),"INSERT INTO `bizdata`(`bizid`,`name`,`owner`,`buyprice`,`owned`, \
  403. `enterposx`,`enterposy`,`enterposz` \
  404. ,`exitposx`,`exitposy`, `exitposz`,`int`,`vw`) VALUES ('%i','%s','Niemand','%i','0','%f','%f','%f','0.0000','0.0000','0.0000','0','0')", \
  405. BIZ,name,bp,pos[0],pos[1],pos[2]);
  406. mysql_query(query);
  407. format(data[BIZ][b_name],64,"%s",name);
  408. format(data[BIZ][b_owner],24,"Niemand");
  409. data[BIZ][b_buyprice] = bp;
  410. data[BIZ][b_owned] = 0;
  411. data[BIZ][b_int] = GetPlayerInterior(playerid);
  412. data[BIZ][b_vw] = GetPlayerVirtualWorld(playerid);
  413. SCME(playerid,-1," Biz erstellt! %s | %s | %d",name,data[BIZ][b_owner], bp);
  414. return 1;
  415. }
  416.  
  417. ocmd@2:bb,buybiz(playerid,params[])
  418. {
  419. #pragma unused params
  420. new i,bool:found,query[200],name[MAX_PLAYER_NAME];
  421. for(; i < sizeof(data); i++)
  422. {
  423. if(IsPlayerInRangeOfPoint(playerid,3.0,data[i][b_enterposx],data[i][b_enterposy],data[i][b_enterposz])) {found=true; break; }
  424. }
  425. format(query,sizeof(query)," UPDATE bizdata SET owner = '%s', owned = '1' WHERE bizid = '%d'",GetPlayerName(playerid, name, sizeof(name)), data[i][b_id]);
  426. return SendClientMessage(playerid, -1, ((!found) ? (" Du bist nicht in der Nähe eines Business's") : ("Biz gekauft!"))),mysql_query(query);
  427. }
  428.  
  429.  
  430. ocmd@2:clb,controlbiz(playerid,params[])
  431. {
  432. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1," Du hast nicht die benötigten Berechtigungen für diesen Befehl!");
  433. new id,string[200];
  434. if(sscanf(params,"d",id))return SendClientMessage(playerid,-1," /clb < Bizid >");
  435. if(CheckID(id) == 0)return SendClientMessage(playerid,-1," Es ist kein Biz mit dieser Nummer vorhanden!");
  436. format(string,sizeof(string)," {FFFFFF}Name = %s\n Besitzer = %s\n Kaufpreis = %d\n in Besitz = %d\n Interior = %d\n VW = %d",data[id][b_name], \
  437. data[id][b_owner],data[id][b_buyprice],data[id][b_owned],data[id][b_int],data[id][b_vw]);
  438. ShowPlayerDialog(playerid,DIALOG_MENU,DIALOG_STYLE_LIST,"BIZ",string,"Weiter","Abbruch");
  439. CB[playerid] = id;
  440. return 1;
  441. }
  442.  
  443. /*
  444. ID,//Nur zum Laden. Ist irrelevant
  445. b_id,//eindeutige Biz ID
  446. b_name[64],//name
  447. b_owner[24],//Besitzer
  448. b_buyprice, //kaufpreis
  449. b_owned,//
  450. Float:b_enterposx,//x = 0; y = 1; z = 2
  451. Float:b_enterposy,// x = 0; y = 1; z = 2
  452. Float:b_enterposz,
  453. Float:b_exitposx,
  454. Float:b_exitposy,
  455. Float:b_exitposz,
  456. b_int,//interior,
  457. b_vw//vw
  458. */
  459. stock CheckID(id)
  460. {
  461. new Query[128],count;
  462. format(Query, sizeof(Query), "SELECT * FROM `bizdata` WHERE `bizid` = '%d'", id);
  463. mysql_query(Query);
  464. mysql_store_result();
  465. count = mysql_num_rows();
  466. mysql_free_result();
  467. return count;
  468. }
  469.  
  470. stock LoadBiz()
  471. {
  472. new idx,
  473. result[200];
  474. format(result, 128, "SELECT * FROM `bizdata`");
  475. mysql_query(result);
  476. mysql_store_result();
  477. while(mysql_fetch_row_format(result, "|"))
  478. {
  479. sscanf(result, "p<|>e<iis[64]s[24]iiffffffii>",data[idx]);
  480. new text2[128],text3[128];
  481. CreatePickup(1239,1,data[idx][b_enterposx],data[idx][b_enterposy],data[idx][b_enterposz],data[idx][b_vw]);
  482. format(text2,sizeof(text2),"> %s <\n> Besitzer : Niemand <\n> Kaufpreis : %d <",data[idx][b_name],data[idx][b_buyprice]);
  483. format(text3,sizeof(text3),"> %s <\n Besitzer : %s <",data[idx][b_name],data[idx][b_owner]);
  484. Create3DTextLabel((data[idx][b_owned] == 0 ) ? ( text2 ) : ( text3),0xFDFFFFFF,data[idx][b_enterposx],data[idx][b_enterposy],data[idx][b_enterposz],10,0,0);
  485. idx ++;
  486. BIZ++;
  487. }
  488. mysql_free_result();
  489. printf(" [m_dynbiz] ->> %d Biz's geladen!",BIZ);
  490. }
  491.  
  492.  
  493. stock Connect_To_Database()
  494. {
  495. mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  496. if(mysql_ping() == 1)
  497. {
  498. print("[m_dynbiz] Verbindung steht!");
  499. return true;
  500. }
  501. else
  502. {
  503. print("[m_dynbiz] Verbindung steht nicht!");
  504. // SendRconCommand("fs unload dynbiz");
  505. return true;
  506.  
  507. }
  508. }
  509.  
  510. stock IsNumeric(const string[])
  511. {
  512. for (new i = 0, j = strlen(string); i < j; i++)
  513. {
  514. if (string[i] > '9' || string[i] < '0') return 0;
  515. }
  516. return 1;
  517. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement