Guest User

Untitled

a guest
Jun 25th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.41 KB | None | 0 0
  1. //###################//
  2. //# Basic TDM 1.0   #//
  3. //# By: WH_FusioN #//
  4. //###################//
  5. //[INCLUDES]
  6. #include <a_samp>
  7. #include <dini>
  8.  
  9. //[DEFINES]
  10. #define AZUL 0x0000FFAA
  11. #define VERMELHO 0xFF0000AA
  12. #define AMARELO 0xFFFF00AA
  13. #define LARANJA 0xFF6A00AA
  14. #define VERDE 0x00FF00AA
  15. #define CASTANHO 0x855600AA
  16. #define CINZENTO 0x9E9E9EAA
  17. #define ROSA 0xFF00FFAA
  18. #define PRETO 0x000000AA
  19. #define BRANCO 0xFFFFFFAA
  20.  
  21. //[VARS]
  22. new time[MAX_PLAYERS];
  23. enum info
  24. {
  25.     kills,
  26.     mortes,
  27.     nivel,
  28.     respeito,
  29.     admin,
  30.     vip
  31. };
  32. new player[MAX_PLAYERS][info];
  33.  
  34. main()
  35. {
  36.     print("\n----------------------------------");
  37.     print("           Basic TDM 1.0");
  38.     print("           By: WH_FusioN");
  39.     print("----------------------------------\n");
  40. }
  41.  
  42. public OnGameModeInit()
  43. {
  44.     //[CONFIGS]
  45.     SetGameModeText("BTDM 1.0");
  46.     SendRconCommand("hostname Basic TDM 1.0");
  47.     SendRconCommand("mapname Los Santos");
  48.     SendRconCommand("website ---");
  49.     //[TIMES]
  50.     AddPlayerClass(0, -2130.185546875, 150.03318786621, 42.665424346924, 269.1425, 0, 0, 0, 0, 0, 0);//Time 1
  51.     AddPlayerClass(1, -2087.982421875, 303.9518737793, 42.186256408691, 269.1425, 0, 0, 0, 0, 0, 0);//Time 2
  52.     //[OBJETOS]
  53.     CreateObject(972,-2082.10009766,123.50000000,31.00000000,0.00000000,0.00000000,264.00000000); //object(tunnelentrance) (1)
  54.     CreateObject(972,-2071.19995117,129.39999390,30.50000000,0.00000000,0.00000000,355.99597168); //object(tunnelentrance) (2)
  55.     CreateObject(972,-2074.80004883,151.39999390,30.50000000,0.00000000,0.00000000,27.99548340); //object(tunnelentrance) (5)
  56.     CreateObject(972,-2081.60009766,176.00000000,30.50000000,0.00000000,0.00000000,357.99316406); //object(tunnelentrance) (6)
  57.     CreateObject(972,-2069.89990234,197.39999390,32.29999924,0.00000000,0.00000000,293.98950195); //object(tunnelentrance) (7)
  58.     CreateObject(972,-2044.80004883,203.30000305,32.29999924,0.00000000,0.00000000,267.98864746); //object(tunnelentrance) (8)
  59.     CreateObject(972,-2034.30004883,209.80000305,32.29999924,0.00000000,0.00000000,1.98400879); //object(tunnelentrance) (9)
  60.     CreateObject(972,-2035.50000000,233.89999390,32.29999924,0.00000000,0.00000000,1.98303223); //object(tunnelentrance) (10)
  61.     CreateObject(972,-2036.09997559,255.39999390,32.29999924,0.00000000,0.00000000,1.98303223); //object(tunnelentrance) (11)
  62.     CreateObject(972,-2036.90002441,277.00000000,32.29999924,0.00000000,0.00000000,1.98303223); //object(tunnelentrance) (12)
  63.     CreateObject(972,-2037.40002441,297.60000610,32.29999924,0.00000000,0.00000000,1.98303223); //object(tunnelentrance) (13)
  64.     CreateObject(972,-2044.59997559,308.79998779,32.29999924,0.00000000,0.00000000,89.98303223); //object(tunnelentrance) (14)
  65.     CreateObject(972,-2067.60009766,308.89999390,32.29999924,0.00000000,0.00000000,89.97802734); //object(tunnelentrance) (15)
  66.     CreateObject(972,-2090.60009766,309.00000000,32.29999924,0.00000000,0.00000000,89.97802734); //object(tunnelentrance) (16)
  67.     CreateObject(972,-2113.10009766,309.10000610,32.29999924,0.00000000,0.00000000,89.97802734); //object(tunnelentrance) (17)
  68.     CreateObject(972,-2129.60009766,309.29998779,32.29999924,0.00000000,0.00000000,89.97802734); //object(tunnelentrance) (18)
  69.     CreateObject(972,-2140.50000000,302.20001221,32.29999924,0.00000000,0.00000000,177.97802734); //object(tunnelentrance) (19)
  70.     CreateObject(972,-2140.50000000,302.19921875,32.29999924,0.00000000,0.00000000,177.97302246); //object(tunnelentrance) (20)
  71.     CreateObject(972,-2140.60009766,284.89999390,32.29999924,0.00000000,0.00000000,181.97302246); //object(tunnelentrance) (21)
  72.     CreateObject(972,-2140.39990234,277.60000610,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (22)
  73.     CreateObject(972,-2139.80004883,256.70001221,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (23)
  74.     CreateObject(972,-2138.89990234,233.60000610,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (24)
  75.     CreateObject(972,-2138.00000000,209.69999695,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (25)
  76.     CreateObject(972,-2136.80004883,187.80000305,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (26)
  77.     CreateObject(972,-2136.19995117,166.30000305,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (27)
  78.     CreateObject(972,-2135.80004883,143.80000305,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (28)
  79.     CreateObject(972,-2135.60009766,130.80000305,32.29999924,0.00000000,0.00000000,181.97204590); //object(tunnelentrance) (29)
  80.     CreateObject(972,-2129.00000000,120.69999695,32.29999924,0.00000000,0.00000000,273.97204590); //object(tunnelentrance) (30)
  81.     CreateObject(972,-2110.50000000,121.90000153,32.29999924,0.00000000,0.00000000,273.97155762); //object(tunnelentrance) (31)
  82.     CreateObject(972,-2099.39990234,123.80000305,32.29999924,0.00000000,0.00000000,273.97155762); //object(tunnelentrance) (32)
  83.     return 1;
  84. }
  85.  
  86. public OnGameModeExit()
  87. {
  88.     return 1;
  89. }
  90.  
  91. public OnPlayerRequestClass(playerid, classid)
  92. {
  93.     SetPlayerInterior(playerid,14);
  94.     SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  95.     SetPlayerFacingAngle(playerid, 270.0);
  96.     SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  97.     SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  98.     if(classid == 0)
  99.     {
  100.         GameTextForPlayer(playerid,"~r~Time 1",5000,6);
  101.         SetPlayerSkin(playerid, 163);
  102.         time[playerid] = 1;
  103.     }
  104.     else if(classid == 1)
  105.     {
  106.         GameTextForPlayer(playerid,"~g~Time 2",5000,6);
  107.         SetPlayerSkin(playerid, 164);
  108.         time[playerid] = 2;
  109.     }
  110.     return 1;
  111. }
  112.  
  113. public OnPlayerConnect(playerid)
  114. {
  115.     new string[255];
  116.     SendClientMessage(playerid, AMARELO, "Seja bem-vindo ao Basic TDM.");
  117.     format(string,255,"contas/%s.ini",playername(playerid));
  118.     if(dini_Exists(string))
  119.     {
  120.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Insira a sua password para logar:","OK","Sair");
  121.     }
  122.     if(!dini_Exists(string))
  123.     {
  124.         ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registro","Insira uma password para registrar:","OK","Sair");
  125.     }
  126.     return 1;
  127. }
  128.  
  129. public OnPlayerDisconnect(playerid, reason)
  130. {
  131.     saveacc(playerid);
  132.     return 1;
  133. }
  134.  
  135. public OnPlayerSpawn(playerid)
  136. {
  137.     if(time[playerid] == 1)
  138.     {
  139.         SetPlayerColor(playerid, 0x00FFFFAA);
  140.         GivePlayerWeapon(playerid, 24, 99999);
  141.     }
  142.     else if(time[playerid] == 2)
  143.     {
  144.         SetPlayerColor(playerid, 0xFF00FFAA);
  145.         GivePlayerWeapon(playerid, 24, 99999);
  146.     }
  147.     SetPlayerInterior(playerid, 0);
  148.     return 1;
  149. }
  150.  
  151. public OnPlayerDeath(playerid, killerid, reason)
  152. {
  153.     player[killerid][kills] ++;
  154.     player[playerid][mortes] ++;
  155.     if(player[killerid][respeito] >= 5)
  156.     {
  157.         player[killerid][respeito] = 0;
  158.         player[killerid][nivel] ++;
  159.         SendClientMessage(killerid, VERDE, "Parabens! Você ganhou um nivel! /stats para mais info");
  160.         return 1;
  161.     }
  162.     else
  163.     {
  164.         player[killerid][respeito] ++;
  165.     }
  166.     return 1;
  167. }
  168.  
  169. public OnVehicleSpawn(vehicleid)
  170. {
  171.     return 1;
  172. }
  173.  
  174. public OnVehicleDeath(vehicleid, killerid)
  175. {
  176.     return 1;
  177. }
  178.  
  179. public OnPlayerText(playerid, text[])
  180. {
  181.     return 1;
  182. }
  183.  
  184. public OnPlayerCommandText(playerid, cmdtext[])
  185. {
  186.     if(!IsPlayerConnected(playerid)) return 1;
  187.     if(strcmp("/stats", cmdtext, true, 6) == 0)
  188.     {
  189.         new string[255];
  190.         format(string,255,"Nivel: %d || Kills: %d || Mortes: %d || Respeito: %d/5", player[playerid][nivel], player[playerid][kills], player[playerid][mortes], player[playerid][respeito]);
  191.         SendClientMessage(playerid, CINZENTO, string);
  192.         return 1;
  193.     }
  194.     if(strcmp("/creditos", cmdtext, true, 9) == 0)
  195.     {
  196.         SendClientMessage(playerid, CINZENTO, "Scripter & Mapper: WH_FusioN");
  197.         return 1;
  198.     }
  199.     if(strcmp("/admins", cmdtext, true, 7) == 0)
  200.     {
  201.         new string[255];
  202.         SendClientMessage(playerid, ROSA, "Admins Online:");
  203.         for(new i = 0; i < MAX_PLAYERS; i++)
  204.         {
  205.             if(IsPlayerConnected(i))
  206.             {
  207.                 if(player[i][admin] >= 1 || IsPlayerAdmin(i))
  208.                 {
  209.                     format(string, 255, "Nome: %s | Nivel: %d", playername(i), player[i][admin]);
  210.                     SendClientMessage(playerid, CINZENTO, string);
  211.                 }
  212.             }
  213.         }
  214.         return 1;
  215.     }
  216.     if(strcmp("/vips", cmdtext, true, 5) == 0)
  217.     {
  218.         new string[255];
  219.         SendClientMessage(playerid, AZUL, "VIP's Online:");
  220.         for(new i = 0; i < MAX_PLAYERS; i++)
  221.         {
  222.             if(IsPlayerConnected(i))
  223.             {
  224.                 if(player[i][vip] >= 1)
  225.                 {
  226.                     format(string, 255, "Nome: %s | Nivel: %d", playername(i), player[i][vip]);
  227.                     SendClientMessage(playerid, CINZENTO, string);
  228.                 }
  229.             }
  230.         }
  231.         return 1;
  232.     }
  233.     return SendClientMessage(playerid, VERMELHO, "[ERRO]: Comando não existente.");
  234. }
  235.  
  236. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  237. {
  238.     return 1;
  239. }
  240.  
  241. public OnPlayerExitVehicle(playerid, vehicleid)
  242. {
  243.     return 1;
  244. }
  245.  
  246. public OnPlayerStateChange(playerid, newstate, oldstate)
  247. {
  248.     return 1;
  249. }
  250.  
  251. public OnPlayerEnterCheckpoint(playerid)
  252. {
  253.     return 1;
  254. }
  255.  
  256. public OnPlayerLeaveCheckpoint(playerid)
  257. {
  258.     return 1;
  259. }
  260.  
  261. public OnPlayerEnterRaceCheckpoint(playerid)
  262. {
  263.     return 1;
  264. }
  265.  
  266. public OnPlayerLeaveRaceCheckpoint(playerid)
  267. {
  268.     return 1;
  269. }
  270.  
  271. public OnRconCommand(cmd[])
  272. {
  273.     return 1;
  274. }
  275.  
  276. public OnPlayerRequestSpawn(playerid)
  277. {
  278.     return 1;
  279. }
  280.  
  281. public OnObjectMoved(objectid)
  282. {
  283.     return 1;
  284. }
  285.  
  286. public OnPlayerObjectMoved(playerid, objectid)
  287. {
  288.     return 1;
  289. }
  290.  
  291. public OnPlayerPickUpPickup(playerid, pickupid)
  292. {
  293.     return 1;
  294. }
  295.  
  296. public OnVehicleMod(playerid, vehicleid, componentid)
  297. {
  298.     return 1;
  299. }
  300.  
  301. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  302. {
  303.     return 1;
  304. }
  305.  
  306. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  307. {
  308.     return 1;
  309. }
  310.  
  311. public OnPlayerSelectedMenuRow(playerid, row)
  312. {
  313.     return 1;
  314. }
  315.  
  316. public OnPlayerExitedMenu(playerid)
  317. {
  318.     return 1;
  319. }
  320.  
  321. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  322. {
  323.     return 1;
  324. }
  325.  
  326. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  327. {
  328.     return 1;
  329. }
  330.  
  331. public OnRconLoginAttempt(ip[], password[], success)
  332. {
  333.     return 1;
  334. }
  335.  
  336. public OnPlayerUpdate(playerid)
  337. {
  338.     return 1;
  339. }
  340.  
  341. public OnPlayerStreamIn(playerid, forplayerid)
  342. {
  343.     return 1;
  344. }
  345.  
  346. public OnPlayerStreamOut(playerid, forplayerid)
  347. {
  348.     return 1;
  349. }
  350.  
  351. public OnVehicleStreamIn(vehicleid, forplayerid)
  352. {
  353.     return 1;
  354. }
  355.  
  356. public OnVehicleStreamOut(vehicleid, forplayerid)
  357. {
  358.     return 1;
  359. }
  360.  
  361. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  362. {
  363.     new string[255];
  364.     format(string, 255,"contas/%s.ini",playername(playerid));
  365.     if(dialogid == 1)
  366.     {
  367.         if(!response) return Kick(playerid);
  368.         if(!strcmp(inputtext, dini_Get(string,"Senha")))
  369.         {
  370.             SendClientMessage(playerid, VERDE, "Escolha sua time");
  371.             setacc(playerid);
  372.         }
  373.         else return Kick(playerid);
  374.     }
  375.     if(dialogid == 2)
  376.     {
  377.         if(!response) return Kick(playerid);
  378.         SendClientMessage(playerid, VERDE, "Escolha sua time");
  379.         dini_Create(string);
  380.         dini_Set(string, "Senha", inputtext);
  381.         saveacc(playerid);
  382.         setacc(playerid);
  383.     }
  384.     return 1;
  385. }
  386.  
  387. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  388. {
  389.     return 1;
  390. }
  391.  
  392. stock saveacc(playerid)
  393. {
  394.     new string[255];
  395.     format(string, 255,"contas/%s.ini", playername(playerid));
  396.     dini_IntSet(string,"Kills",player[playerid][kills]);
  397.     dini_IntSet(string,"Mortes",player[playerid][mortes]);
  398.     dini_IntSet(string,"Nivel",player[playerid][nivel]);
  399.     dini_IntSet(string,"Respeito",player[playerid][respeito]);
  400.     dini_IntSet(string,"Admin",player[playerid][admin]);
  401.     dini_IntSet(string,"VIP",player[playerid][vip]);
  402.     return 1;
  403. }
  404.  
  405. stock setacc(playerid)
  406. {
  407.     new string[255];
  408.     format(string, 255,"contas/%s.ini", playername(playerid));
  409.     ResetPlayerMoney(playerid);
  410.     player[playerid][kills] = dini_Int(string,"Kills");
  411.     player[playerid][mortes] = dini_Int(string,"Mortes");
  412.     player[playerid][nivel] = dini_Int(string,"Nivel");
  413.     player[playerid][respeito] = dini_Int(string,"Respeito");
  414.     player[playerid][admin] = dini_Int(string,"Admin");
  415.     player[playerid][vip] = dini_Int(string,"VIP");
  416.     return 1;
  417. }
  418.  
  419. stock playername(playerid)
  420. {
  421.     new name[MAX_PLAYER_NAME];
  422.     GetPlayerName(playerid, name, sizeof(name));
  423.     return name;
  424. }
  425.  
  426. strtok(const string[], &index)
  427. {
  428.     new length = strlen(string);
  429.     while ((index < length) && (string[index] <= ' '))
  430.     {
  431.         index++;
  432.     }
  433.  
  434.     new offset = index;
  435.     new result[20];
  436.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  437.     {
  438.         result[index - offset] = string[index];
  439.         index++;
  440.     }
  441.     result[index - offset] = EOS;
  442.     return result;
  443. }
Add Comment
Please, Sign In to add comment