Advertisement
Guest User

Untitled

a guest
Jul 31st, 2013
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.88 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4.  
  5. #define Rot 0xFF0000FF
  6. #define Grün 0x00FF00FF
  7.  
  8. new Premium[MAX_PLAYERS];
  9. #if defined FILTERSCRIPT
  10.  
  11. public OnFilterScriptInit()
  12. {
  13. print("\n--------------------------------------");
  14. print(" Blank Filterscript by your name here");
  15. print("--------------------------------------\n");
  16. return 1;
  17. }
  18.  
  19. public OnFilterScriptExit()
  20. {
  21. return 1;
  22. }
  23.  
  24. #else
  25.  
  26. main()
  27. {
  28. print("\n----------------------------------");
  29. print(" Blank Gamemode by your name here");
  30. print("----------------------------------\n");
  31. }
  32.  
  33. #endif
  34.  
  35. public OnGameModeInit()
  36. {
  37. SetGameModeText("Blank Script");
  38. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  39. return 1;
  40. }
  41.  
  42. public OnGameModeExit()
  43. {
  44. return 1;
  45. }
  46.  
  47. public OnPlayerRequestClass(playerid, classid)
  48. {
  49. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  50. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  51. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  52. return 1;
  53. }
  54.  
  55. public OnPlayerConnect(playerid)
  56. {
  57. return 1;
  58. }
  59.  
  60. public OnPlayerDisconnect(playerid, reason)
  61. {
  62. return 1;
  63. }
  64.  
  65. public OnPlayerSpawn(playerid)
  66. {
  67. return 1;
  68. }
  69.  
  70. public OnPlayerDeath(playerid, killerid, reason)
  71. {
  72. return 1;
  73. }
  74.  
  75. public OnVehicleSpawn(vehicleid)
  76. {
  77. return 1;
  78. }
  79.  
  80. public OnVehicleDeath(vehicleid, killerid)
  81. {
  82. return 1;
  83. }
  84.  
  85. public OnPlayerText(playerid, text[])
  86. {
  87. return 1;
  88. }
  89. //OCMD
  90. ocmd:givescore(playerid,params[])
  91. {
  92. new pID,Level;
  93. if(sscanf(params,"ii",pID,Level))return SendClientMessage(playerid,Rot,"Benutze: /givescore [ID][Level]");
  94. {
  95. SetPlayerScore(playerid,Level);
  96. SpielerSpeichern(playerid);
  97. SpielerSpeichern(pID);
  98. }
  99. return 1;
  100. }
  101. ocmd:givepremium(playerid,params[])
  102. {
  103. new pID;
  104. if(!GetPlayerScore(playerid))return SendClientMessage(playerid,Rot,"Der Spieler ist nicht Level 10!");
  105. if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Der angegebene Spieler ist nicht Onliene.");
  106. if(sscanf(params,"i",pID))return SendClientMessage(playerid,Rot,"Benutze: /givepremium [ID]");
  107. {
  108. Premium[playerid] = 1;
  109. SetPVarInt(pID,"Premium",Premium[playerid]);
  110. SpielerSpeichern(playerid);
  111. SpielerSpeichern(pID);
  112. }
  113. return 1;
  114. }
  115.  
  116.  
  117.  
  118. public OnPlayerCommandText(playerid, cmdtext[])
  119. {
  120. if (strcmp("/kill", cmdtext, true, 10) == 0)
  121. {
  122. if(Premium[playerid]>1)
  123. {
  124. SetPlayerHealth(playerid,0);
  125. GivePlayerMoney(playerid,-2000);
  126. SendClientMessage(playerid,Grün,"Du hast dich umgebracht!");
  127. }
  128. else
  129. {
  130. SendClientMessage(playerid,Rot,"Du hast kein Premiumaccount!");
  131. }
  132. return 1;
  133. }
  134. return 0;
  135. }
  136.  
  137. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnPlayerExitVehicle(playerid, vehicleid)
  143. {
  144. return 1;
  145. }
  146.  
  147. public OnPlayerStateChange(playerid, newstate, oldstate)
  148. {
  149. return 1;
  150. }
  151.  
  152. public OnPlayerEnterCheckpoint(playerid)
  153. {
  154. return 1;
  155. }
  156.  
  157. public OnPlayerLeaveCheckpoint(playerid)
  158. {
  159. return 1;
  160. }
  161.  
  162. public OnPlayerEnterRaceCheckpoint(playerid)
  163. {
  164. return 1;
  165. }
  166.  
  167. public OnPlayerLeaveRaceCheckpoint(playerid)
  168. {
  169. return 1;
  170. }
  171.  
  172. public OnRconCommand(cmd[])
  173. {
  174. return 1;
  175. }
  176.  
  177. public OnPlayerRequestSpawn(playerid)
  178. {
  179. return 1;
  180. }
  181.  
  182. public OnObjectMoved(objectid)
  183. {
  184. return 1;
  185. }
  186.  
  187. public OnPlayerObjectMoved(playerid, objectid)
  188. {
  189. return 1;
  190. }
  191.  
  192. public OnPlayerPickUpPickup(playerid, pickupid)
  193. {
  194. return 1;
  195. }
  196.  
  197. public OnVehicleMod(playerid, vehicleid, componentid)
  198. {
  199. return 1;
  200. }
  201.  
  202. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  203. {
  204. return 1;
  205. }
  206.  
  207. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerSelectedMenuRow(playerid, row)
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnPlayerExitedMenu(playerid)
  218. {
  219. return 1;
  220. }
  221.  
  222. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  223. {
  224. return 1;
  225. }
  226.  
  227. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  228. {
  229. return 1;
  230. }
  231.  
  232. public OnRconLoginAttempt(ip[], password[], success)
  233. {
  234. return 1;
  235. }
  236.  
  237. public OnPlayerUpdate(playerid)
  238. {
  239. return 1;
  240. }
  241.  
  242. public OnPlayerStreamIn(playerid, forplayerid)
  243. {
  244. return 1;
  245. }
  246.  
  247. public OnPlayerStreamOut(playerid, forplayerid)
  248. {
  249. return 1;
  250. }
  251.  
  252. public OnVehicleStreamIn(vehicleid, forplayerid)
  253. {
  254. return 1;
  255. }
  256.  
  257. public OnVehicleStreamOut(vehicleid, forplayerid)
  258. {
  259. return 1;
  260. }
  261.  
  262. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  263. {
  264. return 1;
  265. }
  266.  
  267. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  268. {
  269. return 1;
  270. }
  271.  
  272. stock LoadAccount(playerid)
  273. {
  274. new Spielerdatei[64];
  275. new name[MAX_PLAYER_NAME];
  276. GetPlayerName(playerid,name,sizeof(name));
  277. format(Spielerdatei,sizeof(Spielerdatei),"/Account/%s.txt",name);
  278. Premium[playerid]=dini_Int(Spielerdatei,"Premium");
  279. return 1;
  280. }
  281.  
  282. stock SpielerSpeichern(playerid)
  283. {
  284. new Spielerdatei[64];
  285. new name[MAX_PLAYER_NAME];
  286. GetPlayerName(playerid,name,sizeof(name));
  287. format(Spielerdatei,sizeof(Spielerdatei),"/Account/%s.txt",name);
  288. dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));
  289. return 1;
  290. }
  291.  
  292. stock hatPlayerPremium(playerid,rang)
  293. {
  294. if(GetPVarInt(playerid,"Premium")>=rang)return 1;
  295. return 0;
  296. }
  297.  
  298. //-----------------SSCANF-------------------------
  299. stock sscanf(string[], format[], {Float,_}:...)
  300. {
  301. #if defined isnull
  302. if (isnull(string))
  303. #else
  304. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  305. #endif
  306. {
  307. return format[0];
  308. }
  309. #pragma tabsize 4
  310. new
  311. formatPos = 0,
  312. stringPos = 0,
  313. paramPos = 2,
  314. paramCount = numargs(),
  315. delim = ' ';
  316. while (string[stringPos] && string[stringPos] <= ' ')
  317. {
  318. stringPos++;
  319. }
  320. while (paramPos < paramCount && string[stringPos])
  321. {
  322. switch (format[formatPos++])
  323. {
  324. case '\0':
  325. {
  326. return 0;
  327. }
  328. case 'i', 'd':
  329. {
  330. new
  331. neg = 1,
  332. num = 0,
  333. ch = string[stringPos];
  334. if (ch == '-')
  335. {
  336. neg = -1;
  337. ch = string[++stringPos];
  338. }
  339. do
  340. {
  341. stringPos++;
  342. if ('0' <= ch <= '9')
  343. {
  344. num = (num * 10) + (ch - '0');
  345. }
  346. else
  347. {
  348. return -1;
  349. }
  350. }
  351. while ((ch = string[stringPos]) > ' ' && ch != delim);
  352. setarg(paramPos, 0, num * neg);
  353. }
  354. case 'h', 'x':
  355. {
  356. new
  357. num = 0,
  358. ch = string[stringPos];
  359. do
  360. {
  361. stringPos++;
  362. switch (ch)
  363. {
  364. case 'x', 'X':
  365. {
  366. num = 0;
  367. continue;
  368. }
  369. case '0' .. '9':
  370. {
  371. num = (num << 4) | (ch - '0');
  372. }
  373. case 'a' .. 'f':
  374. {
  375. num = (num << 4) | (ch - ('a' - 10));
  376. }
  377. case 'A' .. 'F':
  378. {
  379. num = (num << 4) | (ch - ('A' - 10));
  380. }
  381. default:
  382. {
  383. return -1;
  384. }
  385. }
  386. }
  387. while ((ch = string[stringPos]) > ' ' && ch != delim);
  388. setarg(paramPos, 0, num);
  389. }
  390. case 'c':
  391. {
  392. setarg(paramPos, 0, string[stringPos++]);
  393. }
  394. case 'f':
  395. {
  396.  
  397. new changestr[16], changepos = 0, strpos = stringPos;
  398. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  399. {
  400. changestr[changepos++] = string[strpos++];
  401. }
  402. changestr[changepos] = '\0';
  403. setarg(paramPos,0,_:floatstr(changestr));
  404. }
  405. case 'p':
  406. {
  407. delim = format[formatPos++];
  408. continue;
  409. }
  410. case '\'':
  411. {
  412. new
  413. end = formatPos - 1,
  414. ch;
  415. while ((ch = format[++end]) && ch != '\'') {}
  416. if (!ch)
  417. {
  418. return -1;
  419. }
  420. format[end] = '\0';
  421. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  422. {
  423. if (format[end + 1])
  424. {
  425. return -1;
  426. }
  427. return 0;
  428. }
  429. format[end] = '\'';
  430. stringPos = ch + (end - formatPos);
  431. formatPos = end + 1;
  432. }
  433. case 'u':
  434. {
  435. new
  436. end = stringPos - 1,
  437. id = 0,
  438. bool:num = true,
  439. ch;
  440. while ((ch = string[++end]) && ch != delim)
  441. {
  442. if (num)
  443. {
  444. if ('0' <= ch <= '9')
  445. {
  446. id = (id * 10) + (ch - '0');
  447. }
  448. else
  449. {
  450. num = false;
  451. }
  452. }
  453. }
  454. if (num && IsPlayerConnected(id))
  455. {
  456. setarg(paramPos, 0, id);
  457. }
  458. else
  459. {
  460. #if !defined foreach
  461. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  462. #define __SSCANF_FOREACH__
  463. #endif
  464. string[end] = '\0';
  465. num = false;
  466. new
  467. name[MAX_PLAYER_NAME];
  468. id = end - stringPos;
  469. foreach (Player, playerid)
  470. {
  471. GetPlayerName(playerid, name, sizeof (name));
  472. if (!strcmp(name, string[stringPos], true, id))
  473. {
  474. setarg(paramPos, 0, playerid);
  475. num = true;
  476. break;
  477. }
  478. }
  479. if (!num)
  480. {
  481. setarg(paramPos, 0, INVALID_PLAYER_ID);
  482. }
  483. string[end] = ch;
  484. #if defined __SSCANF_FOREACH__
  485. #undef foreach
  486. #undef __SSCANF_FOREACH__
  487. #endif
  488. }
  489. stringPos = end;
  490. }
  491. case 's', 'z':
  492. {
  493. new
  494. i = 0,
  495. ch;
  496. if (format[formatPos])
  497. {
  498. while ((ch = string[stringPos++]) && ch != delim)
  499. {
  500. setarg(paramPos, i++, ch);
  501. }
  502. if (!i)
  503. {
  504. return -1;
  505. }
  506. }
  507. else
  508. {
  509. while ((ch = string[stringPos++]))
  510. {
  511. setarg(paramPos, i++, ch);
  512. }
  513. }
  514. stringPos--;
  515. setarg(paramPos, i, '\0');
  516. }
  517. default:
  518. {
  519. continue;
  520. }
  521. }
  522. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  523. {
  524. stringPos++;
  525. }
  526. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  527. {
  528. stringPos++;
  529. }
  530. paramPos++;
  531. }
  532. do
  533. {
  534. if ((delim = format[formatPos++]) > ' ')
  535. {
  536. if (delim == '\'')
  537. {
  538. while ((delim = format[formatPos++]) && delim != '\'') {}
  539. }
  540. else if (delim != 'z')
  541. {
  542. return delim;
  543. }
  544. }
  545. }
  546. while (delim > ' ');
  547. return 0;
  548. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement