Advertisement
Guest User

Mr. Monat Car System

a guest
Jul 28th, 2020
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 15.03 KB | None | 0 0
  1. //Includes
  2. #include <a_samp>
  3. #include <ocmd>
  4. #include <sscanf2>
  5. #include <a_mysql>
  6.  
  7. //enums
  8. enum playerInfo{
  9.     eingeloggt,
  10.     level,
  11.     db_id,
  12.     alevel
  13. }
  14.  
  15. enum buildingsEnum{
  16.     Float:b_x,
  17.     Float:b_y,
  18.     Float:b_z,
  19.     Float:b_ix,
  20.     Float:b_iy,
  21.     Float:b_iz,
  22.     b_interior,
  23.     b_shopname[15]
  24. }
  25.  
  26. enum carEnum{
  27.     id_x,
  28.     model,
  29.     besitzer,
  30.     Float:c_x,
  31.     Float:c_y,
  32.     Float:c_z,
  33.     Float:c_r,
  34.     db_id
  35. }
  36.  
  37. //Globale Variablen
  38. new dbhandle;
  39. new sInfo[MAX_PLAYERS][playerInfo];
  40. new bInfo[][buildingsEnum] = {
  41. {243.0825,-178.3224,1.5822,285.3642,-41.5576,1001.5156,1,"AMMUN1"},//Ammunation1
  42. {212.1142,-202.1886,1.5781,372.4523,-133.5244,1001.4922,5,"FDPIZA"}//Pizza
  43. };
  44. new cInfo[50][carEnum];
  45.  
  46. //Farben
  47. #define COLOR_RED 0xFF0000FF
  48.  
  49. //Dialoge
  50. #define DIALOG_TELEPORT 1
  51. #define DIALOG_REGISTER 2
  52. #define DIALOG_LOGIN 3
  53.  
  54. //MySQL
  55. #define db_host "127.0.0.1"
  56. #define db_user "samp"
  57. #define db_pass "mysqlpasswort"
  58. #define db_db "samp"
  59.  
  60. //Forwards
  61. forward OnUserCheck(playerid);
  62. forward OnPasswordResponse(playerid);
  63. forward carSavedToDB(carid);
  64. forward OnPlayerCarsLoad(playerid);
  65.  
  66. main()
  67. {
  68.  
  69. }
  70.  
  71.  
  72. public OnGameModeInit()
  73. {
  74.     SetGameModeText("MrMonat Tutorialmode");
  75.     AddPlayerClass(1,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
  76.     AddPlayerClass(2,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
  77.     AddPlayerClass(3,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
  78.    
  79.     DisableInteriorEnterExits();
  80.    
  81.     //Gebäude laden
  82.     for(new i=0; i<sizeof(bInfo); i++)
  83.     {
  84.         CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
  85.         Create3DTextLabel("Zum Betreten /enter",COLOR_RED,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z],10,0,1);
  86.     }
  87.    
  88.     //Autos erstellen
  89.     AddStaticVehicle(560,214.1196,-141.3710,1.3052,1.6804,-1,-1); //Sultan
  90.    
  91.     //MySQL
  92.     dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
  93.     return 1;
  94. }
  95.  
  96. public OnGameModeExit()
  97. {
  98.     mysql_close(dbhandle);
  99.     return 1;
  100. }
  101.  
  102. public OnPlayerRequestClass(playerid, classid)
  103. {
  104.     SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
  105.     SetPlayerCameraPos(playerid, 199.2307,-143.8328,1.5781);
  106.     SetPlayerCameraLookAt(playerid, 199.0846,-150.0331,1.5781);
  107.     SetPlayerFacingAngle(playerid,359.1443);
  108.     return 1;
  109. }
  110.  
  111. public OnUserCheck(playerid)
  112. {
  113.     new num_rows,num_fields;
  114.     cache_get_data(num_rows,num_fields,dbhandle);
  115.     if(num_rows==0)
  116.     {
  117.         //Registrierung
  118.         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  119.     }
  120.     else
  121.     {
  122.         //Login
  123.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  124.     }
  125.     return 1;
  126. }
  127.  
  128. public OnPlayerConnect(playerid)
  129. {
  130.     new nachricht[128];
  131.     format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
  132.     SendClientMessage(playerid,COLOR_RED,nachricht);
  133.    
  134.     //Login/Register
  135.     new name[MAX_PLAYER_NAME],query[128];
  136.     GetPlayerName(playerid,name,sizeof(name));
  137.     format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
  138.     mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
  139.     return 1;
  140. }
  141.  
  142. savePlayer(playerid)
  143. {
  144.     if(sInfo[playerid][eingeloggt]==0)return 1;
  145.     //Speichern level,money
  146.     new query[128];
  147.     format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][db_id]);
  148.     mysql_function_query(dbhandle,query,false,"","");
  149.     return 1;
  150. }
  151.  
  152. resetPlayer(playerid)
  153. {
  154.     for(new i=0; i<sizeof(sInfo[]); i++)
  155.     {
  156.         sInfo[playerid][playerInfo:i]=0;
  157.     }
  158.     return 1;
  159. }
  160.  
  161. public OnPlayerDisconnect(playerid, reason)
  162. {
  163.     for(new i=0; i<sizeof(cInfo); i++)
  164.     {
  165.         if(cInfo[i][id_x]==0)continue;
  166.         if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
  167.         GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
  168.         GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
  169.         new query[256];
  170.         format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);
  171.         mysql_function_query(dbhandle,query,false,"","");
  172.         DestroyVehicle(cInfo[i][id_x]);
  173.         cInfo[i][id_x]=0;
  174.     }
  175.     savePlayer(playerid);
  176.     resetPlayer(playerid);
  177.     return 1;
  178. }
  179.  
  180. public OnPlayerSpawn(playerid)
  181. {
  182.     return 1;
  183. }
  184.  
  185. public OnPlayerDeath(playerid, killerid, reason)
  186. {
  187.     return 1;
  188. }
  189.  
  190. public OnVehicleSpawn(vehicleid)
  191. {
  192.     return 1;
  193. }
  194.  
  195. public OnVehicleDeath(vehicleid, killerid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. public OnPlayerText(playerid, text[])
  201. {
  202.     return 1;
  203. }
  204.  
  205. public carSavedToDB(carid)
  206. {
  207.     cInfo[carid][db_id]=cache_insert_id(dbhandle);
  208.     return 1;
  209. }
  210.  
  211. saveCarToDB(playerid,carid)
  212. {
  213.     new query[128];
  214.     format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",sInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
  215.     mysql_function_query(dbhandle,query,true,"carSavedToDB","i",carid);
  216.     return 1;
  217. }
  218.  
  219. createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
  220. {
  221.     for(new i=0; i<sizeof(cInfo); i++)
  222.     {
  223.         if(cInfo[i][id_x]!=0)continue;
  224.         cInfo[i][besitzer]=sInfo[playerid][db_id];
  225.         cInfo[i][c_x]=x;
  226.         cInfo[i][c_y]=y;
  227.         cInfo[i][c_z]=z;
  228.         cInfo[i][c_r]=r;
  229.         cInfo[i][model]=modelid;
  230.         cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
  231.         new string[128];
  232.         format(string,sizeof(string),"Das Auto cInfo[%i] wurde erstellt.",i);
  233.         SendClientMessageToAll(COLOR_RED,string);
  234.         saveCarToDB(playerid,i);
  235.         return 1;
  236.     }
  237.     return 1;
  238. }
  239.  
  240. //Befehle
  241.  
  242.  
  243. ocmd:deletecar(playerid,params[])
  244. {
  245.     if(!isAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
  246.     if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug.");
  247.     DestroyVehicle(GetPlayerVehicleID(playerid));
  248.     return 1;
  249. }
  250.  
  251. ocmd:createcar(playerid,params[])
  252. {
  253.     if(!isAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
  254.     new mID,pID;
  255.     if(sscanf(params,"ui",pID,mID))return SendClientMessage(playerid,COLOR_RED,"INFO: /createcar [playerid] [model]");
  256.     if(mID<400||mID>611)return SendClientMessage(playerid,COLOR_RED,"Ungültiges Model.");
  257.     new Float:xc,Float:yc,Float:zc,Float:rc;
  258.     GetPlayerPos(pID,xc,yc,zc);
  259.     GetPlayerFacingAngle(pID,rc);
  260.     createPlayerCar(pID,mID,xc,yc,zc,rc);
  261.     return 1;
  262. }
  263.  
  264. ocmd:exit(playerid,params[])
  265. {
  266.     for(new i=0; i<sizeof(bInfo); i++)
  267.     {
  268.         if(GetPlayerVirtualWorld(playerid)!=i)continue;
  269.         if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]))continue;
  270.         SetPlayerPos(playerid,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
  271.         SetPlayerInterior(playerid,0);
  272.         SetPlayerVirtualWorld(playerid,0);
  273.         return 1;
  274.     }
  275.     return 1;
  276. }
  277.  
  278. ocmd:enter(playerid,params[])
  279. {
  280.     for(new i=0; i<sizeof(bInfo); i++)
  281.     {
  282.         if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
  283.         SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
  284.         SetPlayerInterior(playerid,bInfo[i][b_interior]);
  285.         SetPlayerVirtualWorld(playerid,i);
  286.         SetPlayerShopName(playerid,bInfo[i][b_shopname]);
  287.         return 1;
  288.     }
  289.     return 1;
  290. }
  291.  
  292. ocmd:teleport(playerid,params[])
  293. {
  294.     if(!isAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
  295.     ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"Teleport","Spawn\nFarm","Teleport","Abbrechen");
  296.     return 1;
  297. }
  298.  
  299. ocmd:pn(playerid,params[])
  300. {
  301.     new pID,text[128];
  302.     if(sscanf(params,"us[128]",pID,text))return SendClientMessage(playerid,COLOR_RED,"INFO: /pn [playerid] [text]");
  303.     SendClientMessage(pID,COLOR_RED,text);
  304.     return 1;
  305. }
  306.  
  307. ocmd:setadmin(playerid,params[])
  308. {
  309.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
  310.     new pID,a_level;
  311.     if(sscanf(params,"ui",pID,a_level))return SendClientMessage(playerid,COLOR_RED,"INFO: /setadmin [playerid] [adminlevel]");
  312.     sInfo[pID][alevel]=a_level;
  313.     savePlayer(pID);
  314.     SendClientMessage(pID,COLOR_RED,"Dein Adminrang wurde geändert.");
  315.     SendClientMessage(playerid,COLOR_RED,"Du hast den Adminrang geändert.");
  316.     return 1;
  317. }
  318.  
  319. isAdmin(playerid,a_level)
  320. {
  321.     if(sInfo[playerid][alevel]>=a_level)return 1;
  322.     return 0;
  323. }
  324.  
  325. ocmd:restart(playerid,params[])
  326. {
  327.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
  328.     SendRconCommand("gmx");
  329.     return 1;
  330. }
  331.  
  332. ocmd:test(playerid,params[])
  333. {
  334.     SendClientMessage(playerid,COLOR_RED,"Du hast /test eingegeben.");
  335.     return 1;
  336. }
  337.  
  338.  
  339. public OnPlayerCommandText(playerid, cmdtext[])
  340. {
  341.     return 0;
  342. }
  343.  
  344. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  345. {
  346.     return 1;
  347. }
  348.  
  349. public OnPlayerExitVehicle(playerid, vehicleid)
  350. {
  351.     return 1;
  352. }
  353.  
  354. public OnPlayerStateChange(playerid, newstate, oldstate)
  355. {
  356.     return 1;
  357. }
  358.  
  359. public OnPlayerEnterCheckpoint(playerid)
  360. {
  361.     return 1;
  362. }
  363.  
  364. public OnPlayerLeaveCheckpoint(playerid)
  365. {
  366.     return 1;
  367. }
  368.  
  369. public OnPlayerEnterRaceCheckpoint(playerid)
  370. {
  371.     return 1;
  372. }
  373.  
  374. public OnPlayerLeaveRaceCheckpoint(playerid)
  375. {
  376.     return 1;
  377. }
  378.  
  379. public OnRconCommand(cmd[])
  380. {
  381.     return 1;
  382. }
  383.  
  384. public OnPlayerRequestSpawn(playerid)
  385. {
  386.     return 1;
  387. }
  388.  
  389. public OnObjectMoved(objectid)
  390. {
  391.     return 1;
  392. }
  393.  
  394. public OnPlayerObjectMoved(playerid, objectid)
  395. {
  396.     return 1;
  397. }
  398.  
  399. public OnPlayerPickUpPickup(playerid, pickupid)
  400. {
  401.     return 1;
  402. }
  403.  
  404. public OnVehicleMod(playerid, vehicleid, componentid)
  405. {
  406.     return 1;
  407. }
  408.  
  409. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  410. {
  411.     return 1;
  412. }
  413.  
  414. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  415. {
  416.     return 1;
  417. }
  418.  
  419. public OnPlayerSelectedMenuRow(playerid, row)
  420. {
  421.     return 1;
  422. }
  423.  
  424. public OnPlayerExitedMenu(playerid)
  425. {
  426.     return 1;
  427. }
  428.  
  429. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  430. {
  431.     return 1;
  432. }
  433.  
  434. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  435. {
  436.     if(newkeys & KEY_YES)
  437.     {
  438.         //Enterbefehl
  439.         ocmd_enter(playerid,"");
  440.         return 1;
  441.     }
  442.     if(newkeys & KEY_NO)
  443.     {
  444.         //Exitbefehl
  445.         ocmd_exit(playerid,"");
  446.         return 1;
  447.     }
  448.     return 1;
  449. }
  450.  
  451. public OnRconLoginAttempt(ip[], password[], success)
  452. {
  453.     return 1;
  454. }
  455.  
  456. public OnPlayerUpdate(playerid)
  457. {
  458.     return 1;
  459. }
  460.  
  461. public OnPlayerStreamIn(playerid, forplayerid)
  462. {
  463.     return 1;
  464. }
  465.  
  466. public OnPlayerStreamOut(playerid, forplayerid)
  467. {
  468.     return 1;
  469. }
  470.  
  471. public OnVehicleStreamIn(vehicleid, forplayerid)
  472. {
  473.     return 1;
  474. }
  475.  
  476. public OnVehicleStreamOut(vehicleid, forplayerid)
  477. {
  478.     return 1;
  479. }
  480.  
  481. SetPlayerMoney(playerid,money)
  482. {
  483.     ResetPlayerMoney(playerid);
  484.     GivePlayerMoney(playerid,money);
  485.     return 1;
  486. }
  487.  
  488. getFreeCarID()
  489. {
  490.     for(new i=0; i<sizeof(cInfo); i++)
  491.     {
  492.         if(cInfo[i][id_x]==0)return i;
  493.     }
  494.     return 0;
  495. }
  496.  
  497. public OnPlayerCarsLoad(playerid)
  498. {
  499.     new num_fields,num_rows;
  500.     cache_get_data(num_rows,num_fields,dbhandle);
  501.     if(!num_rows)return 1;
  502.     for(new i=0; i<num_rows; i++)
  503.     {
  504.         new id=getFreeCarID();
  505.         cInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
  506.         cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
  507.         cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
  508.         cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
  509.         cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
  510.         cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
  511.         cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
  512.         cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
  513.     }
  514.     return 1;
  515. }
  516.  
  517. loadPlayerCars(playerid)
  518. {
  519.     new query[128];
  520.     format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
  521.     mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
  522.     return 1;
  523. }
  524.  
  525. public OnPasswordResponse(playerid)
  526. {
  527.     new num_fields,num_rows;
  528.     cache_get_data(num_rows,num_fields,dbhandle);
  529.     if(num_rows==1)
  530.     {
  531.         //Passwort richtig
  532.         sInfo[playerid][eingeloggt] = 1;
  533.         sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
  534.         SetPlayerScore(playerid,sInfo[playerid][level]);
  535.         sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
  536.         SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
  537.         sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
  538.         loadPlayerCars(playerid);
  539.     }
  540.     else
  541.     {
  542.         //Passwort falsch
  543.         SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
  544.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  545.     }
  546.     return 1;
  547. }
  548.  
  549. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  550. {
  551.     if(dialogid==DIALOG_LOGIN)
  552.     {
  553.         if(response)
  554.         {
  555.             new name[MAX_PLAYER_NAME],query[128],passwort[35];
  556.             GetPlayerName(playerid,name,sizeof(name));
  557.             if(strlen(inputtext)>0)
  558.             {
  559.                 mysql_escape_string(inputtext,passwort,dbhandle);
  560.                 format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
  561.                 mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
  562.             }
  563.             else
  564.             {
  565.                 //Keine Eingabe
  566.                 SendClientMessage(playerid,COLOR_RED,"Gibt bitte dein Passwort ein.");
  567.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  568.             }
  569.         }
  570.         else
  571.         {
  572.             Kick(playerid);
  573.         }
  574.         return 1;
  575.     }
  576.     if(dialogid==DIALOG_REGISTER)
  577.     {
  578.         if(response)
  579.         {
  580.             new name[MAX_PLAYER_NAME],query[128],passwort[35];
  581.             GetPlayerName(playerid,name,sizeof(name));
  582.             if(strlen(inputtext)>3)
  583.             {
  584.                 //Registrierungsfunktion
  585.                 mysql_escape_string(inputtext,passwort,dbhandle);
  586.                 format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s')) ",name,passwort);
  587.                 mysql_function_query(dbhandle,query,false,"","");
  588.             }
  589.             else
  590.             {
  591.                 //Kleiner als 4 Zeichen
  592.                 SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
  593.                 ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  594.             }
  595.         }
  596.         else
  597.         {
  598.             Kick(playerid);
  599.         }
  600.         return 1;
  601.     }
  602.     if(dialogid==DIALOG_TELEPORT)
  603.     {
  604.         if(response)
  605.         {
  606.             if(listitem==0)
  607.             {
  608.                 //Spawn
  609.                 SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
  610.             }
  611.             if(listitem==1)
  612.             {
  613.                 //Farm
  614.                 SetPlayerPos(playerid,0.0,0.0,6.0);
  615.             }
  616.         }
  617.         else
  618.         {
  619.             SendClientMessage(playerid,COLOR_RED,"Vorgang abgebrochen.");
  620.         }
  621.         return 1;
  622.     }
  623.     return 1;
  624. }
  625.  
  626. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  627. {
  628.     return 1;
  629. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement