Advertisement
Guest User

Untitled

a guest
Jul 13th, 2016
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 22.19 KB | None | 0 0
  1. //Smoke Weed everday!! By Rocky Balboa
  2. // MySQL Edit by SLaYz
  3. //______________________________________________//
  4.  
  5.  
  6. // ========[INCLUDE]========
  7. #include <a_samp>
  8. #include <zcmd>
  9. #include <streamer>
  10. #include <sscanf2>
  11. #include <foreach>
  12. #include <a_mysql>
  13.  
  14. #include <YSI\y_ini>
  15.  
  16. // ========[MySQL-Defines]========
  17. #define UseSQL //Ausklammern um die Dini-Version zu nutzen.
  18.  
  19. #define HOST    "127.0.0.1"
  20. #define DB      "root"
  21. #define PASS    "Ad@"
  22. #define USER    "samp_server"
  23.  
  24. // ========[Farben]========
  25. #define C_GRAU  "{C0C0C0}"
  26. #define C_WEISS"{FFFFFF}"
  27. #define C_ROT   "{FF0000}"
  28. #define C_BLAU  "{4169E1}"
  29. #define C_GRUEN "{ADFF2F}"
  30. #define DO "{9797FF}"
  31. #define ME "{FFB76F}"
  32. #define FARBE_ICH 0xB871FFFF
  33. #define FARBE_DU 0x9797FFFF
  34. #define COLOR_GRAU      0xC0C0C0FF
  35.  
  36. // ========[DIALOGE]========
  37. #define nSRC "Drogen/%s.ini"
  38. #define DIALOG_NMENU    2030
  39. #define DIALOG_NKAUF    2031
  40. #define DIALOG_NVERKAUF 2032
  41. #define DIALOG_NPFLANZ  2033
  42. #define DIALOG_NNUTZ    2034
  43.  
  44. // ========[ENUMS + NEWS + FORWARDS]========
  45. enum ServerVar // Enum für die Servervariabelen
  46. {
  47.     MySQLHandle
  48. };
  49.  
  50. enum nInfo
  51. {
  52.     pDroge, // Menge der Drogen
  53.     pPflanze, // Menge der Pflanzen
  54.     pNutz, // Menge der benutzten Drogen
  55.     pGepflanzt, // Gepflanzte Pflanzen 1 Ja 0 Nein
  56.     Float:pBuscheX, // Coords x
  57.     Float:pBuscheY, // Coords
  58.     Float:pBuscheZ, // Coords
  59.     pObiectBusch, // OCoords
  60.     Text3D:pLabel, // 3D Text
  61.     pLabels, // 3D Text
  62.     pUnterDrogen // Wenn wir unter Drogen sind 1 Ja 0 Nein.
  63. };
  64.  
  65. new nPlayer[MAX_PLAYERS][nInfo],
  66.     dstring[128],
  67.     ServerVars[ServerVar];
  68.    
  69. forward DrogenSQL(playerid, Schritt);
  70. // ========[PUBLICS]========
  71. main()
  72. {
  73.    
  74.    
  75. }
  76.  
  77. public OnGameModeInit()
  78. {  
  79.     #if defined UseSQL
  80.     mysql_log(LOG_ALL);
  81.     mysql_log(LOG_ALL , LOG_TYPE_HTML);
  82.    
  83.     ServerVars[MySQLHandle] = mysql_connect(HOST, USER, DB, PASS);
  84.    
  85.     new error = mysql_errno(ServerVars[MySQLHandle]);
  86.     if(error == ER_DBACCESS_DENIED_ERROR || error == ER_ACCESS_DENIED_ERROR)
  87.     {
  88.  
  89.         print("[MySQL] Fehler beim Verbinden.");
  90.         return true;
  91.     }
  92.     else
  93.     {
  94.         print("[MySQL] Es wurde erfolgreich eine Verbindung aufgebaut.");
  95.     }
  96.    
  97.     printf("[MySQL] Erstelle die Drogen-Datenbank");
  98.     new query[200];
  99.     mysql_format(ServerVars[MySQLHandle], query, sizeof(query),  "CREATE TABLE IF NOT EXISTS `Drogen` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`), `Spieler` VARCHAR(24), `Menge` int(11), `Busch` int(11),`Benutzt` int(11))");
  100.     mysql_tquery(ServerVars[MySQLHandle], query, "", "");
  101.     #endif
  102.     return 1;
  103. }
  104.  
  105.  
  106.  
  107. public OnPlayerConnect(playerid)
  108. {
  109.     #if defined UseSQL
  110.     new query[60 + MAX_PLAYER_NAME];
  111.     mysql_format(ServerVars[MySQLHandle], query, sizeof(query), "SELECT COUNT(*) AS `count`, id FROM Drogen WHERE `Spieler` = '%e'", Nick(playerid));
  112.     mysql_function_query(ServerVars[MySQLHandle], query, true, "DrogenSQL", "dd", playerid, 1);
  113.    
  114.     #else
  115.     if(!fexist(nNick(playerid)))
  116.     {
  117.         new INI:drogen = INI_Open(nNick(playerid));
  118.         INI_SetTag(drogen, "general");
  119.         INI_WriteInt(drogen, "Menge", 0);
  120.         INI_WriteInt(drogen, "Busch", 0);
  121.         INI_WriteInt(drogen, "Benutzt", 0);
  122.         INI_Close(drogen);
  123.         return 1;
  124.     }
  125.     else
  126.     {
  127.         INI_ParseFile(nNick(playerid), "LadeDrogen_%s", .bExtra = true, .extra = playerid);
  128.     }
  129.     #endif
  130.     return 1;
  131. }
  132.  
  133. public OnPlayerDisconnect(playerid, reason)
  134. {
  135.     speicherDrogen(playerid); // Speichert die Drugs
  136.     return 1;
  137. }
  138.  
  139. public OnPlayerSpawn(playerid)
  140. {
  141.     SetPlayerDrunkLevel(playerid, 0);
  142.     return 1;
  143. }
  144.  
  145. public OnPlayerDeath(playerid, killerid, reason)
  146. {
  147.     nPlayer[playerid][pUnterDrogen] = 0; // Ob er nach dem Tod die Drogen nutzen darf.
  148.     SetPlayerWeather(playerid, 1); // Wetter
  149.     SetPlayerDrunkLevel(playerid, 0); // Kamera aus
  150.     return 1;
  151. }
  152.  
  153. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  154. {
  155.     if(dialogid == DIALOG_NKAUF)
  156.     {
  157.         if(response == 1)
  158.         {
  159.             new tekst[500];
  160.             switch(listitem)
  161.             {
  162.                 case 0:
  163.                 {
  164.                     return ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_LIST, ""C_BLAU"Was möchtest du ?", tekst, "Kaufen", "Abbrechen");
  165.                 }
  166.                 case 1:
  167.                 {
  168.                     if(GetPlayerMoney(playerid) <= 500)
  169.                     {
  170.                         format(dstring, sizeof(dstring), ""C_GRAU"Du hast keine "C_GRUEN"€500"C_GRAU"..");
  171.                         ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_MSGBOX,""C_BLAU"Irgendwas stimmt hier nicht:", dstring, "Ok", "");
  172.                     }
  173.                     GameInfo(playerid,"~g~Gekaufter ~p~Busch.",1);
  174.                     GivePlayerMoney(playerid, -500);
  175.                     nPlayer[playerid][pPflanze] += 1;
  176.                     format(dstring, sizeof(dstring), ""C_GRUEN"Positiv"C_GRAU" gekaufter Busch");
  177.                     ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_MSGBOX,""C_BLAU"Es hat geklappt!:", dstring, "Ok", "");
  178.                     speicherDrogen(playerid);
  179.                 }
  180.                 case 2:
  181.                 {
  182.                     if(GetPlayerMoney(playerid) <= 900)
  183.                     {
  184.                         format(dstring, sizeof(dstring), ""C_GRAU"Du hast nicht dabei "C_GRUEN"€900"C_GRAU"..");
  185.                         ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_MSGBOX,""C_BLAU"Irgendwas stimmt hier nicht!:", dstring, "Ok", "");
  186.                     }
  187.                     GameInfo(playerid,"~g~Gekaufte ~p~Drogen.",1);
  188.                     GivePlayerMoney(playerid, -900);
  189.                     nPlayer[playerid][pDroge] += 5;
  190.                     format(dstring, sizeof(dstring), ""C_GRUEN"Positiv"C_GRAU" 5 gram Drogen gekauft");
  191.                     ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_MSGBOX,""C_BLAU"UEs hat geklappt!:", dstring, "Ok", "");
  192.                     speicherDrogen(playerid);
  193.                 }
  194.             }
  195.         }
  196.     }
  197.     return 1;
  198. }
  199.  
  200. public DrogenSQL(playerid, Schritt)
  201. {
  202.     switch(Schritt)
  203.     {
  204.         case 1:
  205.         {
  206.             new query[100];
  207.             printf("[MySQL] Prüfe auf vorhandenen Datensatz des Spieler %s.", Nick(playerid));
  208.             new count = cache_get_field_content_int(0, "count");
  209.             if(count)
  210.             {
  211.                 printf("[MySQL] Datensatz gefunden. Lade den Datensatz des Spieler %s.", Nick(playerid));
  212.                 mysql_format( ServerVars[MySQLHandle], query, sizeof(query), "SELECT * FROM `Drogen` WHERE `Spieler`= '%e'", Nick(playerid));
  213.                 mysql_function_query(ServerVars[MySQLHandle], query, true, "DrogenSQL", "dd", playerid, 2);
  214.                 return 1;
  215.             }
  216.             else
  217.             {
  218.                 printf("[MySQL] Kein Datensatz gefunden. Erstelle einen neuen Datensatz für den Spieler %s.", Nick(playerid));
  219.                 mysql_format(ServerVars[MySQLHandle], query, sizeof(query), "INSERT INTO `Drogen` (`Spieler`, `Menge`, `Busch`, `Benutzt`) VALUES ('%e' , '0', '0', '0')", Nick(playerid));
  220.                 mysql_function_query(ServerVars[MySQLHandle], query, true, "DrogenSQL", "dd", playerid, 2);
  221.                 printf("[MySQL] Lade den Datensatz des Spieler %s.", Nick(playerid));
  222.                 return 1;
  223.             }
  224.         }
  225.         case 2:
  226.         {
  227.             nPlayer[playerid][pDroge] = cache_get_field_content_int(0, "Menge");
  228.             nPlayer[playerid][pPflanze] = cache_get_field_content_int(0, "Busch");
  229.             nPlayer[playerid][pNutz] = cache_get_field_content_int(0, "Benutzt");
  230.             printf("[MySQL] Datensatz des Spieler %s erfolgreich Geladen.", Nick(playerid));
  231.         }
  232.     }
  233.     return 1;
  234. }
  235. // ========[BEFEHLE - ADMINISTRATOR]========
  236. CMD:dgeb(playerid, params[])
  237. {
  238.     new drogen[32], player, nanzahl;
  239.     if(!IsPlayerAdmin(playerid))
  240.         return ShowInfo(playerid, "FEHLER!");
  241.  
  242.     if(sscanf(params, "s[32]ud", drogen, player, nanzahl))
  243.         return ShowInfo(playerid, "Nutze: /dgeb <Droge/Busch> <id spieler> <menge>.");
  244.  
  245.     if(player == INVALID_PLAYER_ID)
  246.     {
  247.         ShowInfo(playerid, "Dieser Spieler ist nicht on-line!");
  248.         return 1;
  249.     }
  250.  
  251.     if(strcmp(drogen, "droge", true) == 0)
  252.     {
  253.         if(nanzahl<1 || nanzahl>200)
  254.             return ShowInfo(playerid, "Falsche anzahl 1-200g.");
  255.         nPlayer[player][pDroge] += nanzahl;
  256.         format(dstring, sizeof(dstring), "Du gibst ("C_GRUEN"%d gram"C_GRAU") drogen an "C_GRUEN"%s.", nanzahl, Nick(player));
  257.         ShowInfo(playerid, dstring);
  258.         format(dstring, sizeof(dstring), ""C_GRAU"Du hast Drogen erhalten, \nAdministrator ("C_ROT"%s"C_GRAU") gab dir("C_GRUEN"%d gram"C_GRAU") Drogen.", Nick(playerid), nanzahl);
  259.         ShowPlayerDialog(player, DIALOG_NMENU, DIALOG_STYLE_MSGBOX,""C_BLAU"Erhalten!:", dstring, "Ok", "");
  260.         speicherDrogen(player);
  261.     }
  262.     if(strcmp(drogen, "busch", true) == 0)
  263.     {
  264.         if(nanzahl<1 || nanzahl>20)
  265.             return ShowInfo(playerid, "Falsche anzahl 1-20 Busche.");
  266.         nPlayer[player][pPflanze] += nanzahl;
  267.         format(dstring, sizeof(dstring), "Du gibst ("C_GRUEN"%d"C_GRAU") Busche an "C_GRUEN"%s.", nanzahl, Nick(player));
  268.         ShowInfo(playerid, dstring);
  269.         format(dstring, sizeof(dstring), ""C_GRAU"Du hast Busche erhalten,\nAdministrator ("C_ROT"%s"C_GRAU") gab dir ("C_GRUEN"%d"C_GRAU") Busche.", Nick(playerid), nanzahl);
  270.         ShowPlayerDialog(player, DIALOG_NMENU, DIALOG_STYLE_MSGBOX,""C_BLAU"Erhalten!:", dstring, "Ok", "");
  271.         speicherDrogen(player);
  272.     }
  273.     return 1;
  274. }
  275.  
  276. CMD:dcheck(playerid, params[])
  277. {
  278.     new tekst[400];
  279.     if(!IsPlayerAdmin(playerid))
  280.         return ShowInfo(playerid, "FEHLER!");
  281.     new player;
  282.     if(sscanf(params, "i", player))
  283.         return ShowInfo(playerid, "Nutze: /dcheck <id Spieler>.");
  284.     if(player == INVALID_PLAYER_ID)
  285.     {
  286.         ShowInfo(playerid, "Dieser Spieler ist nicht on-line!");
  287.         return 1;
  288.     }
  289.  
  290.     format(tekst, sizeof(tekst), ""C_GRAU"Spieler hat bei sich("C_GRUEN"%d"C_GRAU") gram Drogen\n"C_GRAU"Spieler hat bei sich ("C_GRUEN"%d"C_GRAU") Busche\n"C_GRAU"Spieler hat schon ("C_GRUEN"%d"C_GRAU") gram Drogen benutzt", nPlayer[player][pDroge], nPlayer[player][pPflanze], nPlayer[player][pNutz]);
  291.     ShowPlayerDialog(playerid, DIALOG_NMENU, DIALOG_STYLE_MSGBOX,""C_BLAU"Drogen/Buschi gracza:", tekst, "Ok", "");
  292.     return 1;
  293. }
  294.  
  295. CMD:dspeicher(playerid, params[])
  296. {
  297.     if(!IsPlayerAdmin(playerid))
  298.         return ShowInfo(playerid, "FEHLER!");
  299.  
  300.     new str[128];
  301.     format(str, sizeof(str), ""C_BLAU"[Info]:"C_GRAU" Der Administrator Speichert alle Drogen ("C_GRUEN"%s"C_GRAU") - "C_ROT"Es kann zu laggs führen", Nick(playerid));
  302.     SendClientMessageToAll(COLOR_GRAU, str);
  303.     for (new i = 0 ; i < MAX_PLAYERS ; i++)
  304.     {
  305.         speicherDrogen(i);
  306.     }
  307.     return 1;
  308. }
  309.  
  310. // ========[SPIELER - BEFEHLE]========
  311. CMD:dhilfe(playerid, cmdtext[])
  312. {
  313.     new tekst[1000];
  314.     if(IsPlayerAdmin(playerid))
  315.     {
  316.         strcat(tekst, ""C_GRAU"/dgeb[Droge/Busch] [ID] [Menge]\n");
  317.         strcat(tekst, ""C_GRAU"/dcheck [ID] "C_GRUEN"- checken wie viel der Spieler Drogen hat.\n");
  318.         strcat(tekst, ""C_GRAU"/dspeicher "C_GRUEN"- Drogen Speichern\n");
  319.         ShowPlayerDialog(playerid, DIALOG_NMENU, DIALOG_STYLE_MSGBOX, ""C_BLAU"Deine Administrator Befehle", tekst, "Ok", "");
  320.     }
  321.     else
  322.     {
  323.         strcat(tekst, ""C_GRAU"/dkauf "C_GRUEN"- Liste zum Kauf\n");
  324.         strcat(tekst, ""C_GRAU"/dpflanzen "C_GRUEN"- Pflanzt Samen\n");
  325.         strcat(tekst, ""C_GRAU"/dsammeln "C_GRUEN"- Pflanzen Sammeln.\n");
  326.         strcat(tekst, ""C_GRAU"/dnutzen "C_GRUEN"- Drogen nutzen.\n");
  327.         strcat(tekst, ""C_GRAU"/dgive [Droge/Busch] [ID] [Menge] "C_GRUEN"- An weiteren Spieler geben\n");
  328.         ShowPlayerDialog(playerid, DIALOG_NMENU, DIALOG_STYLE_MSGBOX, ""C_BLAU"Deine Befehle als Spieler:", tekst, "Ok", "");
  329.         return 1;
  330.     }
  331.     return 1;
  332. }
  333.  
  334. CMD:dkauf(playerid, params[])
  335. {
  336.     new tekst[500];
  337.     if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT)
  338.     {
  339.         format(tekst, sizeof(tekst), ""C_GRAU"Um was zu Kaufen steige aus dem Fahrzeug!");
  340.         ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_MSGBOX,""C_BLAU"Irgendwas stimmt nicht:", tekst, "Ok", "");
  341.         return 1;
  342.     }
  343.     if(DoInRange(10.0, playerid, 2309.1284,-2130.5847,13.5735))
  344.     {
  345.         strcat(tekst, ""C_BLAU"ID:   Name:   Preis:\n");
  346.         strcat(tekst, ""C_GRUEN"[1]"C_GRAU". Busch -"C_GRUEN" €500.\n");
  347.         strcat(tekst, ""C_GRUEN"[2]"C_GRAU". Drogen [5g] -"C_GRUEN" €900.\n");
  348.         ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_LIST, ""C_BLAU"Vielleicht Intressiert sich was?", tekst, "Kaufen", "Abbrechen");
  349.     }
  350.     else
  351.     {
  352.         format(tekst, sizeof(tekst), ""C_GRAU"Du bist nicht am Drogenverkauf Platz");
  353.         ShowPlayerDialog(playerid, DIALOG_NKAUF, DIALOG_STYLE_MSGBOX,""C_BLAU"Falscher Platz:", tekst, "Ok", "");
  354.     }
  355.     return 1;
  356. }
  357.  
  358. CMD:dpflanzen(playerid, params[])
  359. {
  360.     new tekst[300];
  361.     if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT)
  362.     {
  363.         format(tekst, sizeof(tekst), ""C_GRAU"Um was zu Pflanzen steige aus dem Fahrzeug!.");
  364.         ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Irgendwas stimmt nicht!:", tekst, "Ok", "");
  365.         return 1;
  366.     }
  367.     if(nPlayer[playerid][pPflanze] >= 2) // Du brauchst 2 Busche
  368.     {
  369.         if(nPlayer[playerid][pGepflanzt] == 0)
  370.         {
  371.             if(GetPlayerInterior(playerid) >= 0) // Wenn du nicht im Interior bist.
  372.             {
  373.                 new Float:X,Float:Y,Float:Z;
  374.                 ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
  375.                 SetTimerEx("SammelUP3DText", 600000, false, "i", playerid);  //nach 10 Minuten kannst du sie sammeln
  376.                 GetPlayerPos(playerid, X, Y, Z);
  377.                 nPlayer[playerid][pObiectBusch] = CreateObject(862, X, Y, Z-1.0, 0, 0, 0, 0);
  378.                 nPlayer[playerid][pLabel] = Create3DTextLabel(""C_GRUEN"Pflanzen\n"C_GRAU"Du kannst sie noch nicht sammeln",COLOR_GRAU,X,Y,Z,20.0,0);
  379.                 nPlayer[playerid][pLabels]++;
  380.                 nPlayer[playerid][pBuscheX] = X;
  381.                 nPlayer[playerid][pBuscheY] = Y;
  382.                 nPlayer[playerid][pBuscheZ] = Z;
  383.                 nPlayer[playerid][pGepflanzt] = 1;
  384.                 nPlayer[playerid][pPflanze] -= 2;
  385.                 speicherDrogen(playerid);
  386.  
  387.                 format(dstring, sizeof(dstring),"* Pflanzt. (( "ME"(%d) %s "DO"))",playerid,Nick(playerid));
  388.                 ZeigeText(playerid,FARBE_ICH,10.0,dstring);
  389.             }
  390.             else
  391.             {
  392.                 format(tekst, sizeof(tekst), ""C_GRAU"Du kannst nicht im Interior Pflanzen");
  393.                 ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Irgendwas stimmt nicht", tekst, "Ok", "");
  394.             }
  395.         }
  396.         else
  397.         {
  398.             format(tekst, sizeof(tekst), ""C_GRAU"Du hast schon gepflanzt");
  399.             ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Du hast es schon getan:", tekst, "Ok", "");
  400.         }
  401.     }
  402.     else
  403.     {
  404.         format(tekst, sizeof(tekst), ""C_GRAU"Du hast keine Pflanzen\n"C_GRAU"Du brauchst"C_GRUEN"2"C_GRAU" zum Pflanzen");
  405.         ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Du hast nichts dabei!:", tekst, "Ok", "");
  406.     }
  407.     return 1;
  408. }
  409.  
  410. CMD:dsammeln(playerid, params[])
  411. {
  412.     new tekst[300];
  413.     if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) // Wenn wir nicht zu Fuß sind.
  414.     {
  415.         format(tekst, sizeof(tekst), ""C_GRAU"Um zu Pflanzen darsft du nicht im Auto sitzen.");
  416.         ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Irgendwas stimmt nicht", tekst, "Ok", "");
  417.         return 1;
  418.     }
  419.     if(DoInRange(3.0, playerid, nPlayer[playerid][pBuscheX],nPlayer[playerid][pBuscheY], nPlayer[playerid][pBuscheZ]))
  420.     {
  421.         if(nPlayer[playerid][pGepflanzt] >= 2)
  422.         {
  423.             ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
  424.             DestroyObject(nPlayer[playerid][pObiectBusch]);
  425.             Delete3DTextLabel(nPlayer[playerid][pLabel]);
  426.             nPlayer[playerid][pLabels]--;
  427.             nPlayer[playerid][pGepflanzt] = 0;
  428.             nPlayer[playerid][pDroge] += 5;
  429.             speicherDrogen(playerid);
  430.            
  431.             format(tekst, sizeof(tekst), ""C_GRAU"Du hast es geschafft und ("C_GRUEN"5"C_GRAU") gram Drogen erhalten!");
  432.             ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Du hast alles aufgesammelt:", tekst, "Ok", "");
  433.             format(dstring, sizeof(dstring),"* sammelt Drogen (( "ME"(%d) %s "DO"))",playerid,Nick(playerid));
  434.             ZeigeText(playerid,FARBE_ICH,10.0,dstring);
  435.         }
  436.         else
  437.         {
  438.             format(tekst, sizeof(tekst), ""C_GRAU"Die Pflanzen sind noch nich gewachsen");
  439.             ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Lass dir noch Zeit.:", tekst, "Ok", "");
  440.         }
  441.     }
  442.     else
  443.     {
  444.         format(tekst, sizeof(tekst), ""C_GRAU"Du bist am Falschen Ort");
  445.         ShowPlayerDialog(playerid, DIALOG_NPFLANZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Falscher Ort:", tekst, "Ok", "");
  446.     }
  447.     return 1;
  448. }
  449.  
  450. CMD:dnutzen(playerid, params[])
  451. {
  452.     new String[256];
  453.     new tekst[300];
  454.     if(nPlayer[playerid][pDroge] <= 0)
  455.     {
  456.         ShowInfo(playerid, "Du hast keine Drogen! ");
  457.         return 1;
  458.     }
  459.     if(nPlayer[playerid][pUnterDrogen] != 1)
  460.     {
  461.         format(String, sizeof(String),"* raucht einen Joint (( "ME"(%d) %s "DO"))",playerid,Nick(playerid));
  462.         ZeigeText(playerid,FARBE_ICH,10.0,String);
  463.         GameInfo(playerid,"~g~Joint ~p~geraucht...",1);
  464.         strcat(tekst, ""C_GRAU"Nun rauchst du einen Joint "C_GRUEN"(droge)"C_GRAU".\n");
  465.         strcat(tekst, ""C_GRAU"Du bist echt breit nach diesem Joint.\n");
  466.         strcat(tekst, ""C_GRAU"Deine HP"C_ROT"steigt"C_GRAU".\n");
  467.         ShowPlayerDialog(playerid, DIALOG_NMENU, DIALOG_STYLE_MSGBOX,""C_BLAU"Rauchst einen Joint", tekst, "Ok", "");
  468.         // EINSTELLUNGEN
  469.         SetPlayerWeather(playerid, -66); // Wetter
  470.         SetPlayerDrunkLevel(playerid, 180000); // Bildschirm Wackeln 3 Minuten.
  471.         SetPlayerHealth(playerid, 100); //  100 HP.
  472.         SetPlayerTime(playerid,12,00); // UHR 12:00
  473.         SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY); // Animation
  474.         SetTimerEx("unterDrogen", 180000, false, "i", playerid); // Löscht das Wackeln
  475.         nPlayer[playerid][pDroge] -= 1; // Entfernt die Drogen
  476.         nPlayer[playerid][pNutz] += 1; // Gibt entfernte Drogen
  477.         nPlayer[playerid][pUnterDrogen] = 1; // 1 - unter Drogen 0 - sauber
  478.         speicherDrogen(playerid); // Speichert
  479.     }
  480.     else
  481.     {
  482.         format(tekst, sizeof(tekst), ""C_GRAU"Du bist schon unter Drogen...\n");
  483.         ShowPlayerDialog(playerid, DIALOG_NNUTZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Du hast schon Drogen genommen", tekst, "Ok", "");
  484.     }
  485.     return 1;
  486. }
  487.  
  488. CMD:dgive(playerid, params[])
  489. {
  490.     new drogen[32], player, nanzahl;
  491.     if(sscanf(params, "s[32]ui", drogen, player, nanzahl))
  492.         return ShowInfo(playerid, "Nutze: /ngive <Drogen/Busch> <id Spieler> <Menge>.");
  493.  
  494.     if(player == INVALID_PLAYER_ID)
  495.     {
  496.         ShowInfo(playerid, "Dieser Spieler ist nicht on-line!");
  497.         return 1;
  498.     }
  499.  
  500.     if(strcmp(drogen, "droge", true) == 0)
  501.     {
  502.         if(nanzahl<1 || nanzahl>200)
  503.             return ShowInfo(playerid, "Falsche Anzahl von Drogen 1-200g.");
  504.  
  505.         if(nPlayer[playerid][pDroge] >= nanzahl)
  506.         {
  507.             nPlayer[playerid][pDroge] -= nanzahl;
  508.             nPlayer[player][pDroge] += nanzahl;
  509.             format(dstring, sizeof(dstring),"* %s nimmt Drogen aus der Tasche und gibt sie an %s.",Nick(playerid),Nick(player));
  510.             ZeigeText(playerid,FARBE_ICH,10.0,dstring);
  511.             speicherDrogen(player);
  512.             speicherDrogen(playerid);
  513.         }
  514.         else
  515.         {
  516.             ShowInfo(playerid, "Du hast nicht soviele Drogen dabei.");
  517.         }
  518.     }
  519.     if(strcmp(drogen, "busch", true) == 0)
  520.     {
  521.         if(nanzahl<1 || nanzahl>20)
  522.             return ShowInfo(playerid, "Falsche Anzahl an Buschen 1-200.");
  523.  
  524.         if(nPlayer[playerid][pPflanze] >= nanzahl)
  525.         {
  526.             nPlayer[playerid][pPflanze] -= nanzahl;
  527.             nPlayer[player][pPflanze] += nanzahl;
  528.             format(dstring, sizeof(dstring),"* %s nimmt Busche raus und gibt sie an %s.",Nick(playerid),Nick(player));
  529.             ZeigeText(playerid,FARBE_ICH,10.0,dstring);
  530.             speicherDrogen(player);
  531.             speicherDrogen(playerid);
  532.         }
  533.         else
  534.         {
  535.             ShowInfo(playerid, "Du hast nicht soviele Busche dabei");
  536.         }
  537.     }
  538.     return 1;
  539. }
  540.  
  541. CMD:dinfo(playerid, params[])
  542. {
  543.     new tekst[400];
  544.     format(tekst, sizeof(tekst), ""C_GRAU"Du hast dabei: "C_GRUEN"%d"C_GRAU" gram Drogen.\n"C_GRAU"Du hast dabei: "C_GRUEN"%d"C_GRAU" Busche zum Pflanzen.\n"C_GRAU"Du hast schon: "C_GRUEN"%d"C_GRAU" Drogen benutzt.", nPlayer[playerid][pDroge], nPlayer[playerid][pPflanze], nPlayer[playerid][pNutz]);
  545.     ShowPlayerDialog(playerid, DIALOG_NMENU, DIALOG_STYLE_MSGBOX,""C_BLAU"Deine Drogen/Busche:", tekst, "Ok", "");
  546.     return 1;
  547. }
  548.  
  549. // ========[STOCKS UND FORWARDS]========
  550.  
  551. stock ShowInfo(playerid, String[])
  552. {
  553.     format(dstring, sizeof(dstring), ""C_BLAU"[Infos]: {C0C0C0}%s", String);
  554.     SendClientMessage(playerid, COLOR_GRAU, dstring);
  555.     return 1;
  556. }
  557.  
  558. stock DoInRange(Float: radi, playerid, Float:x, Float:y, Float:z)// Entferung
  559. {
  560.     if(IsPlayerInRangeOfPoint(playerid, radi, x, y, z)) return 1;
  561.     return 0;
  562. }
  563.  
  564. stock nNick(playerid)
  565. {
  566.     new PlayerNick[MAX_PLAYER_NAME], string[256];
  567.     GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
  568.     format(string,sizeof(string),nSRC,PlayerNick);
  569.     return string;
  570. }
  571.  
  572. stock Nick(playerid)
  573. {
  574.     new nick[MAX_PLAYER_NAME];
  575.     GetPlayerName(playerid, nick, sizeof(nick));
  576.     return nick;
  577. }
  578.  
  579. stock speicherDrogen(playerid)
  580. {
  581.     #if defined UseSQL
  582.     printf("[MySQL] Speichere den Datensatz des Spielers %s.", Nick(playerid));
  583.     new query[100];
  584.     mysql_format(ServerVars[MySQLHandle],query, sizeof(query), "UPDATE `Drogen` SET `Menge` = '%d' , `Busch` = '%d', `Benutzt` = '%d' WHERE `Spieler` = '%e'",
  585.     nPlayer[playerid][pDroge],
  586.     nPlayer[playerid][pPflanze],
  587.     nPlayer[playerid][pNutz],
  588.     Nick(playerid));
  589.     mysql_tquery(ServerVars[MySQLHandle],query,"","");
  590.     printf("[MySQL] Datensatz des Spielers %s erfolgreich Gespeichert.", Nick(playerid));
  591.     #else
  592.     if(!fexist(nNick(playerid)))
  593.     {
  594.         new INI:drogen = INI_Open(nNick(playerid));
  595.         INI_SetTag(drogen, "general");
  596.         INI_WriteInt(drogen, "Menge", 0);
  597.         INI_WriteInt(drogen, "Busch", 0);
  598.         INI_WriteInt(drogen, "Benutzt", 0);
  599.         INI_Close(drogen);
  600.         return 1;
  601.     }
  602.     if(IsPlayerConnected(playerid))
  603.     {
  604.         new INI:drogen = INI_Open(nNick(playerid));
  605.         INI_SetTag(drogen,"general");
  606.         INI_WriteInt(drogen,"Menge", nPlayer[playerid][pDroge]);
  607.         INI_WriteInt(drogen, "Busch", nPlayer[playerid][pPflanze]);
  608.         INI_WriteInt(drogen, "Benutzt", nPlayer[playerid][pNutz]);
  609.         INI_Close(drogen);
  610.     }
  611.     #endif
  612.     return 1;
  613. }
  614.  
  615. forward ladeDrogen_general(playerid, name[], value[]);
  616. public ladeDrogen_general(playerid, name[], value[])
  617. {
  618.     #if defined UseSQL
  619.    
  620.     #else
  621.     INI_Int("Menge", nPlayer[playerid][pDroge]);
  622.     INI_Int("Busch", nPlayer[playerid][pPflanze]);
  623.     INI_Int("Benutzt", nPlayer[playerid][pNutz]);
  624.     #endif
  625.     return 1;
  626. }
  627.  
  628. forward unterDrogen(playerid);
  629. public unterDrogen(playerid)
  630. {
  631.     new tekst[300];
  632.     nPlayer[playerid][pUnterDrogen] = 0;
  633.     SetPlayerWeather(playerid, 1);
  634.     SetPlayerDrunkLevel(playerid, 0);
  635.     format(tekst, sizeof(tekst), ""C_GRAU"Du bist nun nicht mehr unter Drogen\n");
  636.     ShowPlayerDialog(playerid, DIALOG_NNUTZ, DIALOG_STYLE_MSGBOX,""C_BLAU"Du bist wieder Normal:", tekst, "Ok", "");
  637.     return 1;
  638. }
  639.  
  640. forward SammelUP3DText(playerid);
  641. public SammelUP3DText(playerid)
  642. {
  643.     Update3DTextLabelText(nPlayer[playerid][pLabel], COLOR_GRAU,""C_GRUEN"Busche\n"C_GRAU"Deine Pflanzen sind nun Fertig zum Sammeln\nUm sie zu Sammeln gebe /dsammeln ein.");
  644.     nPlayer[playerid][pGepflanzt] = 2;
  645.     return 1;
  646. }
  647.  
  648. ZeigeText(playerid,kolor,Float:weite,text[])
  649. {
  650.     new Float:Pos[3];
  651.     GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  652.     new vir=GetPlayerVirtualWorld(playerid);
  653.     new intek=GetPlayerInterior(playerid);
  654.     foreach(Player,i)
  655.     {
  656.         if(DoInRange(weite,i,Pos[0],Pos[1],Pos[2])&&GetPlayerInterior(i)==intek&&GetPlayerVirtualWorld(i)==vir)
  657.         {
  658.             SendClientMessage(i,kolor,text);
  659.         }
  660.     }
  661.     return 1;
  662. }
  663.  
  664. GameInfo(playerid,text[],typ)
  665. {
  666.     GameTextForPlayer(playerid,text,10000,typ);
  667.     return 1;
  668. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement