// Ganz oben #include #include #define COLOR_PURPLE 0xC2A2DAAA new 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;ix) && (AREACHECK_Coords[z][2]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;n1) { 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 mode public IsNumeric(string[]) { if(strlen(string)==0) { return 0; } for(new n=0;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); }