All pastes #568863 Raw Edit

Erste Hilfe

public cpp v1 · immutable
·published 2007-06-15 20:28 UTC
rendered paste body
// Ganz oben #include <a_samp>#include <dcallbacks>#define COLOR_PURPLE 0xC2A2DAAAnew gErste[MAX_PLAYERS]; new gErste2[MAX_PLAYERS]; new gBuy[MAX_PLAYERS]; public OnGameModeInit(){SetTimer("TIMER_DCallbacks",1000,true);Krankenhaus=AddAreaCheck(max_X,min_X,max_Y,min_Y);	print("GameModeInit()");	SetGameModeText("Blank Script");		/*  HIER kommt das restliche peno zeug hin */			return 1;}public OnPlayerConnect(playerid){	printf("OnPlayerConnect(%d)", playerid);	gErste[playerid] = 0;         gErste2[playerid] = 0; 		return 1;}public OnPlayerCommandText(playerid, cmdtext[]){if(strcmp(cmdtext, "/buy_erstehilfe", true) == 0) {if (gBuy[playerid] == 1){SendClientMessage(playerid,COLOR_PURPLE,"Erste Hilfe Koffer gekauft!");SendClientMessage(playerid,COLOR_PURPLE,"Erste Hilfe Anleitung: /pflaster [id] (+10HP) /binde [id] (+30HP) ");gErste[playerid] = 1;gErste2[playerid] = 1;}else{SendClientMessage(playerid,COLOR_PURPLE,"Geh zum Krankenhaus!");} return 1;}if(strcmp(cmdtext, "/pflaster", true) == 0) {	new string[256];new sendername[MAX_PLAYER_NAME];if(gErste2[playerid] == 1){if(pflastertimer==0){		new Float:health;       	new p[256];		new id;		strmid(p,cmdtext,strlen(cmdtext)+1,strlen(cmdtext));		id=idmatch(playerid,p);if(id!=-1){if(playerid==id){SendClientMessage(playerid,COLOR_PINK,"Du hast kleinere Blutungen stopen können");GetPlayerHealth(playerid, health);SetPlayerHealth(playerid, health+10.0); SetTimer("pflasterTimerFunction",30000,0);                pflastertimer=1;                gErste2[playerid] = 0;} else      if(GetDistanceBetweenPlayers(playerid,id)<5){         GetPlayerName(id, giveplayer, sizeof(giveplayer));         GetPlayerName(playerid, sendername, sizeof(sendername));                SetPlayerHealth(id,health+10);                SetTimer("pflasterTimerFunction",30000,0);                pflastertimer=1;            format(string, sizeof(string), "Du hast mit einem Pflaster die Wunde von %s verklebt .", giveplayer,id);            SendClientMessage(playerid, COLOR_PINK, string);            format(string, sizeof(string), "Dir wurde ein Pflaster auf deine Wunde geklebt (%s).", sendername, playerid);            SendClientMessage(id, COLOR_PINK, string);            gErste2[playerid] = 0;	  } else if(GetDistanceBetweenPlayers(playerid,id)>5){		SendClientMessage(playerid,COLOR_PINK,"Du bist zu weit weg.");	}	}   } else if(pflastertimer==1){    SendClientMessage(playerid,COLOR_PINK,"Du musst erst einmal das neue Pflaster zurecht machen (30sec)!");	}     else if (gErste[playerid]  == 0){    SendClientMessage(playerid,COLOR_PINK,"Du musst dir erst ein Erste Hilfe Koffer kaufen!");    }}		return 1;}if(strcmp(cmdtext, "/Binde", true) == 0) {	new string[256];new sendername[MAX_PLAYER_NAME];if(gErste[playerid]  == 1){if(bindentimer==0){		new Float:health;       	new p[256];		new id;		strmid(p,cmdtext,strlen(cmdtext)+1,strlen(cmdtext));		id=idmatch(playerid,p);if(id!=-1){if(playerid==id){SendClientMessage(playerid,COLOR_PINK,"Du hast die Blutung gestopt!");GetPlayerHealth(playerid, health);SetPlayerHealth(playerid, health+30.0); SetTimer("bindenTimerFunction",30000,0);                bindentimer=1;                gErste[playerid] = 0;} else      if(GetDistanceBetweenPlayers(playerid,id)<5){         GetPlayerName(id, giveplayer, sizeof(giveplayer));         GetPlayerName(playerid, sendername, sizeof(sendername));                SetPlayerHealth(id,health+20);                SetTimer("bindenTimerFunction",30000,0);                bindentimer=1;                gErste[playerid] = 0;            format(string, sizeof(string), "Du hast mit einer binden die Wunde von %s verbunden .", giveplayer,id);            SendClientMessage(playerid, COLOR_PINK, string);            format(string, sizeof(string), "Dir wurde ein Verbant um die Wunde gewickelt (%s).", sendername, playerid);            SendClientMessage(id, COLOR_PINK, string);	  } else if(GetDistanceBetweenPlayers(playerid,id)>5){		SendClientMessage(playerid,COLOR_PINK,"Du bist zu weit weg.");	}	}   } else if(bindentimer==1){    SendClientMessage(playerid,COLOR_PINK,"Du musst erst einmal die neue binden zurecht machen (30sec)!");   }    else if (gErste[playerid]  == 0){    SendClientMessage(playerid,COLOR_PINK,"Du musst dir erst ein Erste Hilfe Koffer kaufen!");    }    } else    SendClientMessage(playerid,COLOR_PINK,"Du hast davon keine ahnung!");		return 1;}	return 0;}OnPlayerEnterArea(playerid,areaid) {if (areaid==Krankenhaus){gBuy[playerid] = 1;SendClientMessage(playerid,COLOR_PURPLE,"Du kannst jetzt den Erste Hilfe Koffer kaufen ... bla bla !");GameTextForPlayer(playerid,"~g~ Krankenhaus",2000,6);printf("OnPlayerEnterArea(%d,%d)",playerid,areaid);}}OnPlayerLeaveArea(playerid,areaid) {if (areaid==Krankenhaus){gBuy[playerid] = 0;printf("OnPlayerLeaveArea(%d,%d)",playerid,areaid);}}public TIMER_PlayerArea() {  new i,z;  new Float:x,Float:y,Float:zcoord;  for (i=0;i<MAX_PLAYERS;i++) {     if (IsPlayerConnected(i)) {       GetPlayerPos(i,x,y,zcoord);       for (z=0;z<AREACHECK_Count;z++)         if (              (AREACHECK_Coords[z][0]<x)&&(AREACHECK_Coords[z][1]>x) &&              (AREACHECK_Coords[z][2]<y)&&(AREACHECK_Coords[z][3]>y)            ) {           if (z!=AREACHECK_Player[i]-1) {             // Is new in this area             AREACHECK_Player[i]=z+1;             OnPlayerEnterArea(i,z+1);             return 1;           } else {           }         } else {           if (z==AREACHECK_Player[i]-1) {             // Player was in this Area             OnPlayerLeaveArea(i,z+1);             AREACHECK_Player[i]=0;             return 1;           }         }     }  }  return 0;}// Sniper89's idmatch (name detection)public idmatch(playerid,string[]){    new id=-1;        if(strlen(string)==0)        {            SendClientMessage(playerid,COLOR_PINK,"Input an ID/name!");            return -1;        }        else        {                new matches=0;                if(IsNumeric(string)==1)                {                        new nid=strval(string);                        if(IsPlayerConnected(nid))                        {                                return nid;                        }                }                for(new n=0;n<GetMaxPlayers();n++)                {                        if(IsPlayerConnected(n))                        {                                new name[256];                                GetPlayerName(n,name,sizeof(name));                                if(strcmp(string,name,true)==0)                                {                                        return n;                                }                                else if(strfind(name,string,true)!=-1)                                {                                    id=n;                                        matches++;                                }                        }                }                if(matches>1)                {                    new output[256];                    format(output,sizeof(output),"There were %d matches found for \"%s\" - aborting.",matches,string);                    SendClientMessage(playerid,COLOR_PINK,output);                    return -1;                }                else if(matches==0)                {                        new output[256];                        format(output,sizeof(output),"There were no matches found for \"%s\" - aborting.",string);                        SendClientMessage(playerid,COLOR_PINK,output);                        return -1;                }        }        return id;}// IsNumeric from Spark's Protect The PM modepublic IsNumeric(string[]){        if(strlen(string)==0)        {            return 0;        }        for(new n=0;n<strlen(string);n++)        {            if(string[n]<'0' || string[n]>'9')            {                return 0;            }        }        return 1;}public IsPlayerInAnyInterior(playerid) //By Sacky{	new Float:x;	new Float:y;	new Float:z;        	if(IsPlayerConnected(playerid))	        {	        	GetPlayerPos(playerid,x,y,z);	        	if(z > 900 && !IsPlayerInAnyVehicle(playerid))			{			       return 1;			}	    	}	return 0;}public SystemMsg(playerid,msg[]) {   if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {       SendClientMessage(playerid,COLOR_PINK,msg);   }   return 1;}public GetDistanceBetweenPlayers(playerid,playerid2){new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;new Float:tmpdis;GetPlayerPos(playerid,x1,y1,z1);GetPlayerPos(playerid2,x2,y2,z2);tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));return floatround(tmpdis);}