Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Easy Mapincluding
- * (c) Copyright 2011-2012 by FoxHound
- *
- * @author : FoxHound aka PSPgamer_10
- * @date : 13 March 2011
- * @version : v1.0
- *
- * This file is provided as is (no warranties).
- *
- * _____ _ _ _
- * | ___| | | | | | |
- * | |_ _____ __| |_| | ___ _ _ _ __ __| |
- * | _/ _ \ \/ /| _ |/ _ \| | | || '_ \ / _` |
- * | || (_) > < | | | | (_) | |_| || | | | (_| |
- * \_| \___/_/\_\\_| |_/\___/ \__,_||_| |_|\__,_|
- *
- * +--+-+-+-+-+-+-+-+-+-+--+
- * | p r o d u c t i o n s |
- * +--+-+-+-+-+-+-+-+-+-+--+
- *
- */
- #include <a_samp>
- stock LoadMap(mapfile[]) { //bY FoxHound
- new readline[128];
- format(readline,sizeof(readline),"maps/%s",mapfile);
- if(!fexist(readline)) { return printf("Couldn't load Map File: '%s'",mapfile); }
- new File:map = fopen(readline,io_readwrite);
- for(new i[4]={0,...},Float:lmf_coords[7],lmf_model; fread(map,readline); i[0]++) {
- if((strfind(readline,"CreateObject",true)==-1) || (strfind(readline,"//")!=-1)) { i[0]--; continue; }
- else if((strfind(readline,"/*")!=-1)) { i[3]=1; }
- else if((strfind(readline,"*/")!=-1)) { i[3]=0; }
- if(i[3]) { i[0]--; continue; }
- lmf_model=strval(mi_fx_getPartOfString(readline,1,'(',','));
- lmf_coords[0]=floatstr(mi_fx_getPartOfString(readline,1,','));
- lmf_coords[1]=floatstr(mi_fx_getPartOfString(readline,2,','));
- lmf_coords[2]=floatstr(mi_fx_getPartOfString(readline,3,','));
- lmf_coords[3]=floatstr(mi_fx_getPartOfString(readline,4,','));
- lmf_coords[4]=floatstr(mi_fx_getPartOfString(readline,5,','));
- lmf_coords[5]=floatstr(mi_fx_getPartOfString(readline,6,','));
- lmf_coords[6]=floatstr(mi_fx_getPartOfString(readline,7,',',')'));
- lmf_coords[6] = (lmf_coords[6]) ? lmf_coords[6] : 150.0;
- CreateObject(lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0); }
- return fclose(map),printf("[MAP] Mapfile loaded: %s",mapfile),1; }
- stock LoadMtaMap(mapfile[]) { //bY FoxHound
- new readline[192];
- format(readline,sizeof(readline),"maps/%s",mapfile);
- if(!fexist(readline)) { return printf("Couldn't load Map File: '%s'",mapfile); }
- new File:map = fopen(readline,io_readwrite);
- for(new i[4]={0,...},Float:lmf_coords[6],lmf_model,editedline[64]; fread(map,readline); i[0]++) {
- if((strfind(readline,"<object name=",true)==-1) || (strfind(readline,"//")!=-1)) { i[0]--; continue; }
- else if((strfind(readline,"/*")!=-1)) { i[3]=1; }
- else if((strfind(readline,"*/")!=-1)) { i[3]=0; }
- if(i[3]) { i[0]--; continue; }
- i[1]=strfind(readline,"posX="), i[2]=strfind(readline," posY=");
- strmid(editedline,readline,(i[1]+6),(i[2]-1));
- lmf_coords[0]=floatstr(editedline);
- i[1]=strfind(readline,"posY="), i[2]=strfind(readline," posZ=");
- strmid(editedline,readline,(i[1]+6),(i[2]-1));
- lmf_coords[1]=floatstr(editedline);
- i[1]=strfind(readline,"posZ="), i[2]=strfind(readline," rotX=");
- strmid(editedline,readline,(i[1]+6),(i[2]-1));
- lmf_coords[2]=floatstr(editedline);
- i[1]=strfind(readline,"rotX="), i[2]=strfind(readline," rotY=");
- strmid(editedline,readline,(i[1]+6),(i[2]-1));
- lmf_coords[3]=floatstr(editedline);
- i[1]=strfind(readline,"rotY="), i[2]=strfind(readline," rotZ=");
- strmid(editedline,readline,(i[1]+6),(i[2]-1));
- lmf_coords[4]=floatstr(editedline);
- i[1]=strfind(readline,"rotZ="), i[2]=strfind(readline," model=");
- strmid(editedline,readline,(i[1]+6),(i[2]-1));
- lmf_coords[5]=floatstr(editedline);
- i[1]=strfind(readline,"model="), i[2]=strfind(readline," />");
- strmid(editedline,readline,(i[1]+7),(i[2]-1));
- lmf_model=strval(editedline);
- CreateObject(lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0); }
- return fclose(map),printf("[MAP] Mapfile loaded: %s",mapfile),1;
- }
- stock LoadMtaRaceMap(mapfile[]) { //bY FoxHound
- new readline[92];
- format(readline,sizeof(readline),"maps/%s",mapfile);
- if(!fexist(readline)) { return printf("Couldn't load Map File: '%s'",mapfile); }
- new File:map = fopen(readline,io_readwrite);
- for(new i[5]={0,...},Float:lmf_coords[6],lmf_model; fread(map,readline); i[0]++) {
- if(strfind(readline,"//")!=-1) { i[0]--; continue; }
- else if((strfind(readline,"/*")!=-1)) { i[4]=1; }
- if((strfind(readline,"*/")!=-1)) { i[4]=0; continue; }
- if(i[4]) { i[0]--; continue; }
- if(!i[3]) {
- i[1]=strfind(readline,"<position>"), i[2]=strfind(readline,"</position>");
- if((i[1]==-1) || (i[2]==-1)) { continue; }
- strmid(readline,readline,(i[1]+10),i[2]);
- lmf_coords[0]=floatstr(mi_fx_getPartOfString(readline)), lmf_coords[1]=floatstr(mi_fx_getPartOfString(readline,1)), lmf_coords[2]=floatstr(mi_fx_getPartOfString(readline,2));
- i[3]=1; }
- else if(i[3]==1) {
- i[1]=strfind(readline,"<rotation>"), i[2]=strfind(readline,"</rotation>");
- if((i[1]==-1) || (i[2]==-1)) { continue; }
- strmid(readline,readline,(i[1]+10),i[2]);
- lmf_coords[3]=(floatstr(mi_fx_getPartOfString(readline,2))*57.2958), lmf_coords[4]=(floatstr(mi_fx_getPartOfString(readline,1))*57.2958), lmf_coords[5]=(floatstr(mi_fx_getPartOfString(readline))*57.2958);
- i[3]=2; }
- else if(i[3]==2) {
- i[1]=strfind(readline,"<model>"), i[2]=strfind(readline,"</model>");
- if((i[1]==-1) || (i[2]==-1)) { continue; }
- strmid(readline,readline,(i[1]+7),i[2]);
- lmf_model=strval(readline);
- CreateObject(lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0);
- i[3]=0; } }
- return fclose(map),printf("[MAP] Mapfile loaded: %s",mapfile),1; }
- stock mi_fx_getPartOfString(const string[], strpos=0, sep=' ',secondsep=256) { //by FoxHound
- new delstr[256],count[2]={0,...}; secondsep = (secondsep!=256) ? secondsep : sep;
- format(delstr,256,"%s",string);
- for(new i[2]={0,...}; i[0]<strlen(delstr); i[0]++) {
- if(delstr[i[0]]==sep) {
- count[1]++;
- if(((count[0]+1)==strpos) && !i[1]) { strdel(delstr,0,i[0]+1),i={0,1},sep=secondsep; continue; }
- else if(i[1]) { strdel(delstr,i[0],strlen(delstr)); }
- else { count[0]++; continue; } } }
- if(count[1]<strpos) { delstr="\0"; }
- return delstr; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement