Advertisement
Guest User

dWeb

a guest
Jun 4th, 2012
449
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PCRE 12.23 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <SII>
  5. #include <rCmd>
  6. #define cGrün      0x23FF00FF
  7. #define cRot        0xE10000FF
  8. #define cOrange     0xFF8200FF
  9. #define cBlau       0x0A00FFFF
  10. #define DIALOG_PCREATE  1
  11. #define DIALOG_ENDUNG   2
  12. #define DIALOG_INHALT   3
  13. #define DIALOG_SEARCH   4
  14. #define DIALOG_WEBSEITE 5
  15. #define DIALOG_EDIT     6
  16. #define DIALOG_EDIT_SUCCESS 7
  17. #define PC_P 0//Preis eines Computers
  18. #define PC_X 1958.3783//X Coord des Computer Ladens
  19. #define PC_Y 1343.1572//Y Coord des Computer Ladens
  20. #define PC_Z 15.3746 //Z Coord des Computer Ladens
  21. #define PC_R 5 //Wie weit man maximale vom Computerladen entfernt sein darf
  22. #define MAX_PAGES 50
  23. enum WebPage
  24. {
  25.     pBesitzer[24],
  26.     pName[64],
  27.     pEndung,
  28.     pText[512]
  29. }
  30. new pInfo[MAX_PAGES][WebPage];
  31. new CurrentPageID = 0;
  32. new bool:HatPC[500];
  33. new pEdit[500];
  34. public OnFilterScriptInit()
  35. {
  36.     new text3dtext[100];
  37.     format(text3dtext,100,"Computerladen\nZum Kaufen eines Computers gebe /pcbuy ein!\n1 PC kostet $%d",PC_P);
  38.     Create3DTextLabel(text3dtext,cBlau,PC_X,PC_Y,PC_Z,40,0,0);
  39.     print("\n--------------------------------------");
  40.     print(" dWeb by Dominik. ...");
  41.     print(" v 0.3");
  42.     print("--------------------------------------\n");
  43.     return 1;
  44. }
  45. public OnPlayerConnect(playerid)
  46. {
  47.     new File:internet = fopen("internetnutzer.txt",io_readwrite);
  48.     new Name[24];
  49.     new derstring[30];
  50.     GetPlayerName(playerid,Name,24);
  51.     while(fread(internet,derstring))
  52.     {
  53.         StripNewLine(derstring);
  54.         if(strcmp(derstring,Name,true) == 0)
  55.         {
  56.             HatPC[playerid] = true;
  57.             break;
  58.         }
  59.     }
  60.     fclose(internet);
  61.     return 1;
  62. }
  63. public OnPlayerDisconnect(playerid, reason)
  64. {
  65.     HatPC[playerid] = false;
  66.     return 1;
  67. }
  68. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  69. {
  70.     switch(dialogid)
  71.     {
  72.         case DIALOG_PCREATE:
  73.         {
  74.             if(response)
  75.             {
  76.                 if(strlen(inputtext) >= 3)
  77.                 {
  78.                     format(pInfo[CurrentPageID][pName],64,"%s",inputtext);
  79.                     ShowPlayerDialog(playerid,DIALOG_ENDUNG,DIALOG_STYLE_LIST,"{1D00C2}dWeb.com/cpage/endung","{FFFFFF}Endung: {00B321}.de {FFFFFF}($5)\r\n{FFFFFF}Endung: {00B321}.com {FFFFFF}($8)\r\n{FFFFFF}Endung: {00B321}.biz {FFFFFF}($10)\r\n{FFFFFF}Endung: {00B321}.net {FFFFFF}($8)","Weiter","Zurück");
  80.                     return 1;
  81.                 } else return ShowPlayerDialog(playerid,DIALOG_PCREATE,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/createpage/start","{FF0000}Ungültige Webadresse!\n{FFFFFF}Herzlichen Willkommen auf dWeb.com.\nHier kannst du für wenig Geld Internetseiten erstellen.\nTrage hier den Namen für die neue Internetpräsenz ein:","Weiter","Abbrechen");
  82.             }
  83.             if(!response) return SendClientMessage(playerid,cRot,"Vorgang abgebrochen!");
  84.         }
  85.         case DIALOG_ENDUNG:
  86.         {
  87.             if(!response) return ShowPlayerDialog(playerid,DIALOG_PCREATE,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/cpage/start","{FFFFFF}Herzlichen Willkommen auf dWeb.com.\nHier kannst du für wenig Geld Internetseiten erstellen.\nTrage hier den Namen für die neue Internetpräsenz ein:","Weiter","Abbrechen");
  88.             else {
  89.                 new internetseite[70];
  90.                 format(internetseite,70,"Webseiten/%s%s",pInfo[CurrentPageID][pName],GetNameFromEndung(pInfo[CurrentPageID][pEndung]));
  91.                 if(!fexist(internetseite))
  92.                 {
  93.                     pInfo[CurrentPageID][pEndung] = listitem + 1;
  94.                     new string[64];
  95.                     format(string,64,"Du hast dich für die Endung \"%s\" entschieden!",GetNameFromEndung(listitem + 1));
  96.                     ShowPlayerDialog(playerid,DIALOG_INHALT,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/cpage/text","{FFFFFF}Nun kannst du festlegen, was auf deiner neuen stehen soll:\n(tabsprung = backslash + t | neue Zeile = backslash + n)\nDie Seite kann nachher per /pedit editiert werden.","Fertig","Zurück");
  97.                     SendClientMessage(playerid,cOrange,string);
  98.                     return 1;
  99.                 } else return ShowPlayerDialog(playerid,DIALOG_PCREATE,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/createpage/start","{FF0000}Ungültige Webadresse!\n{FFFFFF}Herzlichen Willkommen auf dWeb.com.\nHier kannst du für wenig Geld Internetseiten erstellen.\nTrage hier den Namen für die neue Internetpräsenz ein:","Weiter","Abbrechen");
  100.             }
  101.         }
  102.         case DIALOG_INHALT:
  103.         {
  104.             if(response)
  105.             {
  106.                 new webseite[100];
  107.                 new spielername[24];
  108.                 GetPlayerName(playerid,spielername,24);
  109.                 format(pInfo[CurrentPageID][pText],256,"%s",inputtext);
  110.                 format(webseite,100,"Webseiten/%s%s.ini",pInfo[CurrentPageID][pName],GetNameFromEndung(pInfo[CurrentPageID][pEndung]));
  111.                 pInfo[CurrentPageID][pBesitzer] = spielername;
  112.                 INI_Open(webseite);
  113.                 INI_WriteString("Name",pInfo[CurrentPageID][pName]);
  114.                 INI_WriteInt("Endung",pInfo[CurrentPageID][pEndung]);
  115.                 INI_WriteString("Besitzer",pInfo[CurrentPageID][pBesitzer]);
  116.                 INI_WriteString("Text",pInfo[CurrentPageID][pText]);
  117.                 INI_Save();
  118.                 INI_Close();
  119.                 CurrentPageID++;
  120.                 SendClientMessage(playerid,cBlau,"||==========||dWeb.com||==========||");
  121.                 SendClientMessage(playerid,cGrün,"Du hast die Internetseite erfolgreich erstellt!");
  122.                 SendClientMessage(playerid,cGrün,"Du und andere Spieler könnnen diese per /psearch besuchen.");
  123.                 SendClientMessage(playerid,cGrün,"Möchtest du die Seite löschen, so kannst du dieses per /pdelete tuen.");
  124.                 SendClientMessage(playerid,cBlau,"||==========||dWeb.com||==========||");
  125.                 return 1;
  126.             }
  127.             if(!response) return ShowPlayerDialog(playerid,DIALOG_ENDUNG,DIALOG_STYLE_LIST,"{1D00C2}dWeb.com/cpage/endung","{FFFFFF}Endung: {00B321}.de {FFFFFF}($5)\r\n{FFFFFF}Endung: {00B321}.com {FFFFFF}($8)\r\n{FFFFFF}Endung: {00B321}.biz {FFFFFF}($10)\r\n{FFFFFF}Endung: {00B321}.net {FFFFFF}($8)","Weiter","Zurück");
  128.         }
  129.         case DIALOG_SEARCH:
  130.         {
  131.             if(response)
  132.             {
  133.                 if(strlen(inputtext) > 0)
  134.                 {
  135.                     new webseite[100];
  136.                     format(webseite,100,"Webseiten/%s.ini",inputtext);
  137.                     print(webseite);
  138.                     if(fexist(webseite))
  139.                     {
  140.                         new ueberschrift[64], haupttext[300],inhalt[128];
  141.                         format(ueberschrift,64,"{1D00C2}%s",inputtext);
  142.                         INI_Open(webseite);
  143.                         INI_ReadString(inhalt,"Text",128);
  144.                         INI_Close();
  145.                         print(inhalt);
  146.                         format(haupttext,300,"{FF0000}Inhalt der Webseite:\n{FFFFFF}%s",inhalt);
  147.                         ShowPlayerDialog(playerid,DIALOG_WEBSEITE,DIALOG_STYLE_MSGBOX,ueberschrift,haupttext," ","");
  148.                         return 1;
  149.                     } else return ShowPlayerDialog(playerid,DIALOG_SEARCH,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/search/error","{FF0000}Error: Unbekannte Seite\n{FFFFFF}Versuche es erneut:","Weiter","Abbrechen");
  150.                 } else return ShowPlayerDialog(playerid,DIALOG_SEARCH,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/search/error","{FF0000}Error: keinen Text eingegeben\n{FFFFFF}Versuche es erneut in dem du diesmal einen Text eingibst:","Weiter","Abbrechen");
  151.             }
  152.         }
  153.         case DIALOG_EDIT:
  154.         {
  155.             if(response)
  156.             {
  157.                 new pDatei[64];
  158.                 format(pDatei,64,"Webseiten/%s.ini",pEdit[playerid]);
  159.                 if(strlen(inputtext) > 0)
  160.                 {
  161.  
  162.                         INI_Open(pDatei);
  163.                         INI_WriteString("Text",inputtext);
  164.                         INI_Save();
  165.                         INI_Close();
  166.                         new Dialog[64];
  167.                         new DialogText[300];
  168.                         format(Dialog,64,"{1D00C2}%s/editpage/success",pEdit[playerid]);
  169.                         format(DialogText,300,"{0AA82A}Du hast die Seite erfolgreich editiert!\n{FFFFFF}Neuer Text:\n%s",inputtext);
  170.                         ShowPlayerDialog(playerid,DIALOG_EDIT_SUCCESS,DIALOG_STYLE_MSGBOX,Dialog,DialogText,"X","");
  171.                         pEdit[playerid] = 0;
  172.                 } else {
  173.                     new Inhalt[256], Dialog[128],Dialoghaupttext[300];
  174.                     INI_ReadString(Inhalt,"Text",256);
  175.                     INI_Close();
  176.                     format(Dialog,128,"{1D00C2}%s/edit",pEdit[playerid]);
  177.                     format(Dialoghaupttext,128,"{FFFFFF}Vorheriger Text:\n%s",Inhalt);
  178.                     return ShowPlayerDialog(playerid,DIALOG_EDIT,DIALOG_STYLE_INPUT,Dialog,Dialoghaupttext,"Löschen","Abbrechen");
  179.                 }
  180.             }
  181.             if(!response) return 0;
  182.         }
  183.     }
  184.     return 1;
  185. }
  186. rCmd[]->pcreate(playerid)
  187. {
  188.     if(HatPC[playerid] == true)
  189.     {
  190.         SendClientMessage(playerid,cGrün,"Du bist nun dabei eine neue Internetseite zu erstellen!");
  191.         ShowPlayerDialog(playerid,DIALOG_PCREATE,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/cpage/start","{FFFFFF}Herzlichen Willkommen auf dWeb.com.\nHier kannst du für wenig Geld Internetseiten erstellen.\nTrage hier den Namen für die neue Internetpräsenz ein:","Weiter","Abbrechen");
  192.         return 1;
  193.     } else return SendClientMessage(playerid,cRot,"Du besitzt keinen Computer!");
  194. }
  195. rCmd[]->psearch(playerid)
  196. {
  197.     if(HatPC[playerid] == true) return ShowPlayerDialog(playerid,DIALOG_SEARCH,DIALOG_STYLE_INPUT,"{1D00C2}dWeb.com/search","{00FF44}dSeArCh\n{FFFFFF}Gebe deine Suchanfrage hier ein:","Weiter","Abbrechen");
  198.     else return SendClientMessage(playerid,cRot,"Du hast keinen Computer!");
  199. }
  200. rCmd[]->computer(playerid)
  201. {
  202.     if(IsPlayerInRangeOfPoint(playerid,PC_R,PC_X,PC_Y,PC_Z))
  203.     {
  204.         if(GetPlayerMoney(playerid) >= PC_P)
  205.         {
  206.             if(HatPC[playerid] == false)
  207.             {
  208.                 new Name[24], ausgabe[30];
  209.                 GetPlayerName(playerid,Name,24);
  210.                 format(ausgabe,30,"%s\r\n",Name);
  211.                 SendClientMessage(playerid,cGrün,"Du hast dir erfolgreich einen Computer gekauft!");
  212.                 SendClientMessage(playerid,cGrün,"Nun kannst du im Internet surfen.");
  213.                 HatPC[playerid] = true;
  214.                 new File:internet = fopen("internetnutzer.txt",io_append);
  215.                 if(internet)
  216.                 {
  217.                     fwrite(internet,Name);
  218.                     fclose(internet);
  219.                 }
  220.                 return 1;
  221.             } else return SendClientMessage(playerid,cRot,"Du besitzt bereits einen Computer!");
  222.         } else return SendClientMessage(playerid,cRot,"Du hast nicht genug Geld für einen Computer!");
  223.     } else return SendClientMessage(playerid,cRot,"Du bist nicht am Computerladen!");
  224. }
  225. rCmd[s]->pdelete(playerid,success,pname)
  226. {
  227.     if(success)
  228.     {
  229.         if(HatPC[playerid] == true)
  230.         {
  231.             new pDatei[64];
  232.             new Name[24];
  233.             new Besitzer[24];
  234.             GetPlayerName(playerid,Name,24);
  235.             format(pDatei,64,"Webseiten/%s.ini",pname);
  236.             if(fexist(pDatei))
  237.             {
  238.                 INI_Open(pDatei);
  239.                 INI_ReadString(Besitzer,"Besitzer",24);
  240.                 INI_Close();
  241.                 if(strcmp(Besitzer,Name,false) == 0)
  242.                 {
  243.                     INI_Remove(pDatei);
  244.                     new string[128];
  245.                     format(string,128,"Du hast die Seite %s erfolgreich gelöscht!",pname);
  246.                     SendClientMessage(playerid,cGrün,string);
  247.                     return 1;
  248.                 } else return SendClientMessage(playerid,cRot,"Du bist nicht der Besitzer der angegebenen Seite!");
  249.             } else return SendClientMessage(playerid,cRot,"Die angegebene Seite existiert nicht!");
  250.         } else return SendClientMessage(playerid,cRot,"Du besitzt keinen Computer!");
  251.     } else return SendClientMessage(playerid,cRot,"Verwendung: /pdelete [seitenname.endung]");
  252. }
  253. rCmd[s]->pedit(playerid,success,pname)
  254. {
  255.     if(success)
  256.     {
  257.         if(HatPC[playerid] == true)
  258.         {
  259.             new pDatei[64];
  260.             new Name[24];
  261.             new Besitzer[24];
  262.             GetPlayerName(playerid,Name,24);
  263.             format(pDatei,64,"Webseiten/%s",pname);
  264.             if(fexist(pDatei))
  265.             {
  266.                 INI_Open(pDatei);
  267.                 INI_ReadString(Besitzer,"Besitzer",24);
  268.                 if(strcmp(Besitzer,Name,false) == 0)
  269.                 {
  270.                     new Inhalt[256], Dialog[128],Dialoghaupttext[300];
  271.                     INI_ReadString(Inhalt,"Text",256);
  272.                     format(Dialog,128,"{1D00C2}%s/edit",pname);
  273.                     format(Dialoghaupttext,128,"{FFFFFF}Vorheriger Text:\n%s",Inhalt);
  274.                     pEdit[playerid] = pname;
  275.                     ShowPlayerDialog(playerid,DIALOG_EDIT,DIALOG_STYLE_INPUT,Dialog,Dialoghaupttext,"Löschen","Abbrechen");
  276.                     INI_Close();
  277.                     return 1;
  278.                 } else { INI_Close(); return SendClientMessage(playerid,cRot,"Du bist nicht der Besitzer der angegebenen Seite!"); }
  279.             } else return SendClientMessage(playerid,cRot,"Die Seite existiert nicht!");
  280.         } else return SendClientMessage(playerid,cRot,"Du besitzt keinen Computer!");
  281.        
  282.     } else return SendClientMessage(playerid,cRot,"Verwendung: /pedit [seitenname.endung]");
  283. }
  284. stock GetNameFromEndung(id)
  285. {
  286.     new endung[8];
  287.     switch(id)
  288.     {
  289.         case 1: endung = ".de";
  290.         case 2: endung = ".com";
  291.         case 3: endung = ".biz";
  292.         case 4: endung = ".net";
  293.     }
  294.     return endung;
  295. }
  296. stock StripNewLine(string[])
  297. {
  298.     new len = strlen(string);
  299.     if (string[0]==0) return ;
  300.     if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
  301.         string[len - 1] = 0;
  302.         if (string[0]==0) return ;
  303.         if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
  304.     }
  305. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement