Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ----------------Installation----------------
- Stellt bei LadenPosX,LadenPosY und LadenPosZ die Position ein, bei der euren Computerladen sein soll.
- Danach entklammert ihr beim Befel "ocmd:Computer" IsPlayerInRangeOfPoint und die dazugehörigen Klammern.
- Lasst ihr das aus, könnnt ihr /computer überall benutzen.
- Dann könnt ihr noch den Preis für den Computer bei #define ComPreis einstellen
- Nun müsst ihr noch das Filterscript in die server.cfg eintragen ( filterscripts Internetsys )
- WICHTIG: Ihr müsst den Ordner "Webseiten" im scriptfiles Ordner erstellen
- */
- #include <a_samp>
- #include <dini>
- #include <ocmd>
- //Farben
- #define rot 0xFF0019FF
- #define grau 0x969696FF
- #define blau 0x0069FFFF
- #define LadenPosX 250.0 // X-Koords der Kaufposition für den Computer
- #define LadenPosY 250.0 // Y-Koords der Kaufposition für den Computer
- #define LadenPosZ 250.0 // Z-Koords der Kaufposition für den Computer
- #define ComPreis 250 // Hier kannst man einstellen, wie viele Seiten erstellt werden können
- #define DIALOG_WEBCREATE 5000
- #define DIALOG_WEBCREATE1 5001
- #define DIALOG_WEBCREATE2 5002
- #define DIALOG_WEBCREATE3 5003
- #define DIALOG_WEBCREATE4 5004
- #define DIALOG_WEBSEARCH 5005
- #define DIALOG_WEBSEARCH2 5006
- new input[MAX_PLAYERS][128];
- new Endung[MAX_PLAYERS][64];
- new webmoney[MAX_PLAYERS];
- #pragma tabsize 0
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Blank Filterscript by your name here");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- //OCMD Befehle
- ocmd:computer(playerid,params[])
- {
- //if(IsPlayerInRangeOfPoint(playerid,3.0,LadenPosX,LadenPosY,LadenPosZ))
- //{
- if(GetPVarInt(playerid,"Computer")==0)
- {
- new string[128];
- SetPVarInt(playerid,"Computer",1);
- format(string,sizeof string,"Du hast dir einen Computer für %d€ gekauft!",ComPreis);
- SendClientMessage(playerid,blau,string);
- GivePlayerMoney(playerid,-ComPreis);
- }
- else return SendClientMessage(playerid,grau,"FEHLER: Du hast bereits einen Computer!");
- //}
- //else return SendClientMessage(playerid,rot,"FEHLER: Du bist nicht im Computerladen!");
- return 1;
- }
- ocmd:webcreate(playerid,params[])
- {
- if(GetPVarInt(playerid,"Computer")==1)
- {
- ShowPlayerDialog(playerid,DIALOG_WEBCREATE,DIALOG_STYLE_MSGBOX,"Erstelle deine eigene Internetseite!","Herzlich Willkommen auf WebCreate.de!\nAuf dieser Seite kannst du für wenig Geld deine eigene Internetseite erstellen!\nDazu musst du nur dir Anweisungen auf den nächsten Seiten befolgen.\nViel Erfolg mit deiner neuen Internetpräsens!","Erstellen","Abbrechen");
- }
- else return SendClientMessage(playerid,rot,"FEHLER: Du hast keinen Computer!");
- return 1;
- }
- ocmd:websearch(playerid,params[])
- {
- if(GetPVarInt(playerid,"Computer")==1)
- {
- ShowPlayerDialog(playerid,DIALOG_WEBSEARCH,DIALOG_STYLE_INPUT,"WebSearch.de","Herzlich Willkommen auf WebSearch.de!\nUm andere Seiten zu besuchen, tippe den Direktlink in das Feld!\n\nFormat: seitenname.domain","Suchen","Abbrechen");
- }
- else return SendClientMessage(playerid,rot,"FEHLER: Du hast keinen Computer!");
- return 1;
- }
- ocmd:webdel(playerid,params[])
- {
- if(GetPVarInt(playerid,"Computer")==1)
- {
- new webname[64], Webseite[64], SName[MAX_PLAYER_NAME], dinibesitzer[MAX_PLAYER_NAME];
- GetPlayerName(playerid,SName,sizeof SName);
- if(sscanf(params,"s",webname))return SendClientMessage(playerid,grau,"BENUTZE: /webdel [WebName]");
- format(Webseite,sizeof Webseite,"/Webseiten/%s.txt",webname);
- format(dinibesitzer,sizeof dinibesitzer,dini_Get(Webseite,"Besitzer"));
- if(dini_Exists(Webseite))
- {
- if(strcmp(dinibesitzer,SName, true) == 0)
- {
- dini_Remove(Webseite);
- SendClientMessage(playerid,blau,"Du hast deine Internetseite erfolgreich entfernt!");
- }
- else return SendClientMessage(playerid,rot,"FEHLER: Diese Webseite gehört nicht dir!");
- }
- else return SendClientMessage(playerid,rot,"FEHLER: Diese Webseite existiert nicht!");
- }
- else return SendClientMessage(playerid,rot,"FEHLER: Du hast keinen Computer!");
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_WEBCREATE)
- {
- if(response==1)
- {
- ShowPlayerDialog(playerid,DIALOG_WEBCREATE1,DIALOG_STYLE_INPUT,"Schritt 1/4 - Der Name","Jede Seite im Web braucht einen Namen; auch Deine!\nDenke dir einen guten Namen aus und tippe ihn in das Feld.\nVORSICHT: Du kannst den Namen deiner Seite nicht mehr ändern!","Weiter","Abbrechen");
- }
- if(response==0)
- {
- SendClientMessage(playerid,rot,"FEHLER: Der Vorgang wurde unterbrochen!");
- }
- }
- if(dialogid == DIALOG_WEBCREATE1)
- {
- if(response==1)
- {
- new Webseite[64];
- format(Webseite,sizeof(Webseite),"/Webseiten/%s.txt",inputtext);
- format(input[playerid],124,inputtext);
- if(dini_Exists(Webseite))
- {
- SendClientMessage(playerid,rot,"FEHLER: Dieses Internetseite gibt es bereits. Wähle einen anderen Namen!");
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_WEBCREATE2,DIALOG_STYLE_LIST,"Schritt 2/4 - Die Endung","name.DE\t15,-€\nname.EU\t29,-€\nname.COM\t15,-€\nname.NET\t15,-€\nname.ORG\t15,-€\nname.INFO\t19,-€","Weiter","Abbrechen");
- }
- }
- if(response==0)
- {
- SendClientMessage(playerid,rot,"FEHLER: Der Vorgang wurde unterbrochen!");
- }
- }
- if(dialogid == DIALOG_WEBCREATE2)
- {
- if(response==1)
- {
- if(listitem==0)
- {
- format(Endung[playerid],124,".de");
- }
- if(listitem==1)
- {
- format(Endung[playerid],124,".eu");
- }
- if(listitem==2)
- {
- format(Endung[playerid],124,".com");
- }
- if(listitem==3)
- {
- format(Endung[playerid],124,".net");
- }
- if(listitem==4)
- {
- format(Endung[playerid],124,".org");
- }
- if(listitem==5)
- {
- format(Endung[playerid],124,".info");
- }
- ShowPlayerDialog(playerid,DIALOG_WEBCREATE3,DIALOG_STYLE_INPUT,"Schritt 3/4 - Der Inhalt","Jetzt ist es an der Zeit, den Inhalt deiner Internetseite zu bestimmen.\nTippe einfach den gewünschten Text in das Feld\nBeachte: backslash + t = Tabsprung und backslash + n = neue Zeile","Weiter","Abbrechen");
- }
- if(response==0)
- {
- SendClientMessage(playerid,rot,"FEHLER: Der Vorgang wurde unterbrochen!");
- }
- }
- if(dialogid == DIALOG_WEBCREATE3)
- {
- new Webseite[64], string[64];
- format(string,sizeof string,"%s%s",input[playerid],Endung[playerid]);
- format(Webseite,sizeof Webseite,"/Webseiten/%s.txt",string);
- if(response==1)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- ShowPlayerDialog(playerid,DIALOG_WEBCREATE4,DIALOG_STYLE_MSGBOX,"Schritt 4/4 - Das Ende","Herzlichen Glückwunsch, du bist am Ende der Erstellung deiner Internetseite.\nDu hast jetzt noch die Möglichkeit das Ganze abzubrechen, tust du dies nicht, ist deine Internetseite absofort verfügbar!","Abschließen","Abbrechen");
- dini_Create(Webseite);
- dini_Set(Webseite,"Name",string);
- dini_Set(Webseite,"NameohneTLD",input[playerid]);
- dini_Set(Webseite,"TLDohneName",Endung[playerid]);
- dini_Set(Webseite,"Besitzer",name);
- dini_Set(Webseite,"Inhalt",inputtext);
- if(strcmp(Endung[playerid], ".de", true) == 0)
- {webmoney[playerid]=15;}
- else if(strcmp(Endung[playerid], ".eu", true) == 0)
- {webmoney[playerid]=29;}
- else if(strcmp(Endung[playerid], ".com", true) == 0)
- {webmoney[playerid]=15;}
- else if(strcmp(Endung[playerid], ".net", true) == 0)
- {webmoney[playerid]=15;}
- else if(strcmp(Endung[playerid], ".org", true) == 0)
- {webmoney[playerid]=15;}
- else if(strcmp(Endung[playerid], ".info", true) == 0)
- {webmoney[playerid]=19;}
- GivePlayerMoney(playerid,-webmoney[playerid]);
- }
- if(response==0)
- {
- SendClientMessage(playerid,rot,"FEHLER: Der Vorgang wurde unterbrochen!");
- dini_Remove(Webseite);
- }
- }
- if(dialogid == DIALOG_WEBCREATE4)
- {
- new Webseite[64];
- format(Webseite,sizeof Webseite,"/Webseiten/%s.txt",input[playerid]);
- if(response==1)
- {
- SendClientMessage(playerid,blau,"Herzlichen Glückwunsch! Ihre Internetseite wurde erfolgreich angelegt!");
- }
- if(response==0)
- {
- SendClientMessage(playerid,rot,"FEHLER: Der Vorgang wurde unterbrochen!");
- dini_Remove(Webseite);
- }
- }
- if(dialogid == DIALOG_WEBSEARCH)
- {
- if(response==1)
- {
- new Webseite[64];
- format(Webseite,sizeof Webseite,"/Webseiten/%s.txt",inputtext);
- if(dini_Exists(Webseite))
- {
- new string[128],string2[128];
- format(string,sizeof string,"%s",dini_Get(Webseite,"NameohneTLD"));
- format(string2,sizeof string2,"%s",dini_Get(Webseite,"Inhalt"));
- ShowPlayerDialog(playerid,DIALOG_WEBSEARCH2,DIALOG_STYLE_MSGBOX,string,string2,"Okay","Schließen");
- }
- else
- {
- SendClientMessage(playerid,rot,"FEHLER: Dieser Seite existiert nicht!");
- }
- }
- if(response==0)
- {
- SendClientMessage(playerid,rot,"FEHLER: Der Vorgang wurde unterbrochen!");
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(string))
- #else
- if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (string[stringPos] && string[stringPos] <= ' ')
- {
- stringPos++;
- }
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = string[stringPos];
- do
- {
- stringPos++;
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- default:
- {
- return -1;
- }
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- new changestr[16], changepos = 0, strpos = stringPos;
- while(changepos < 16 && string[strpos] && string[strpos] != delim)
- {
- changestr[changepos++] = string[strpos++];
- }
- changestr[changepos] = '\0';
- setarg(paramPos,0,_:floatstr(changestr));
- }
- case 'p':
- {
- delim = format[formatPos++];
- continue;
- }
- case '\'':
- {
- new
- end = formatPos - 1,
- ch;
- while ((ch = format[++end]) && ch != '\'') {}
- if (!ch)
- {
- return -1;
- }
- format[end] = '\0';
- if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- stringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = stringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = string[++end]) && ch != delim)
- {
- if (num)
- {
- if ('0' <= ch <= '9')
- {
- id = (id * 10) + (ch - '0');
- }
- else
- {
- num = false;
- }
- }
- }
- if (num && IsPlayerConnected(id))
- {
- setarg(paramPos, 0, id);
- }
- else
- {
- #if !defined foreach
- #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
- #define __SSCANF_FOREACH__
- #endif
- string[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - stringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, string[stringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- string[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- stringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
- {
- stringPos++;
- }
- while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
- {
- stringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement