Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Medicsystem - Unter OnPlayerDeath
- new Medic=0;
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pMember] == 4 || PlayerInfo[i][pLeader] ==4)
- {
- Medic++;
- }
- }
- if(Medic>0)
- {
- new totentext[256];
- //GetPlayerName(playerid,totname,sizeof totname);
- GetPlayerPos(playerid, deadx[playerid], deady[playerid], deadz[playerid]);
- JustDied[playerid]=1;
- IstTot[playerid]=1;
- DeadInt[playerid]=GetPlayerInterior(playerid);
- DeadWorld[playerid]=GetPlayerVirtualWorld(playerid);
- format(totentext,256,"Dieser Spieler lebt noch %i Sekunden!",DeadTimer[playerid]);
- TotenZeit[playerid]=Create3DTextLabel(totentext,Info_Color,30.0,40.0,50.0,40.0,0);
- Attach3DTextLabelToPlayer(TotenZeit[playerid], playerid, 0.0, 0.0, 0.7);
- if(IsPlayerInArea(playerid,-13.310,-2976.570,2982.276,-639.797))
- {
- DeadTimer[playerid]=240;
- }
- else if(IsPlayerInArea(playerid,-3000.897,515.831,2982.276,3017.319))
- {
- DeadTimer[playerid]=420;
- }
- else
- {
- DeadTimer[playerid]=360;
- }
- ShowPlayerDialog(playerid,DIALOG_TOT,DIALOG_STYLE_LIST,"Wähle eine Option","Normal Spawnen {FF1400}[Kostet $8.000!]\n{FFFFFF}Auf den Notarzt warten","Nehmen","");
- }
- //Medicsystem - Unter OnDialogResponse
- if(dialogid == DIALOG_TOT)
- {
- switch(listitem)
- {
- case 0:
- {
- KillTimer(deadt[playerid]);
- KillTimer(FallPlayert[playerid]);
- JustDied[playerid]=0;
- IstTot[playerid]=0;
- DeadTimer[playerid]=240;
- Delete3DTextLabel(TotenZeit[playerid]);
- SetPlayerSpawn(playerid);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid,true);
- ConsumingMoney[playerid] = 1;
- GivePlayerMoney(playerid, -8000);
- ConsumingMoney[playerid] = 0;
- SendClientMessage(playerid,COLOR,"Wer wollte den da nicht warten.... Naja -8k... PS: Schlechte Entscheidung!");
- }
- case 1:
- {
- new totname[MAX_PLAYER_NAME];
- GetPlayerName(playerid,totname,sizeof totname);
- new string[256];
- for(new si;si<sizeof(DeadInfo);si++)
- {
- if(DeadInfo[si][md_ID] == -1)
- {
- DeadInfo[si][md_ID]=playerid;
- break;
- }
- }
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pLeader] == 4 || PlayerInfo[i][pMember] == 4)
- {
- format(string, sizeof(string), "Leitstelle: Alle Einheiten: Ein Augenzeuge hat gemeldet, das %s schwerverletzt ist.",totname);
- SendClientMessage(i, TEAM_BLUE_COLOR, string);
- format(string, sizeof(string), "Leitstelle: Bitte fahren sie sofort zu ihm [/calls]");
- SendClientMessage(i, TEAM_BLUE_COLOR, string);
- }
- }
- new stringg[256];
- format(stringg,256,"Du lebst noch genau %i Sekunden",DeadTimer[playerid]);
- SendClientMessage(playerid, Info_Color,stringg);
- //DeadTimer[playerid]=240;
- TextDrawShowForPlayer(playerid,TTL[playerid]);
- SendClientMessage(playerid,COLOR,"Der Notarzt wurde verständigt. Halte durch. PS: Gute Entscheidung =)");
- }
- }
- }
- if(dialogid == DIALOG_CALLS)
- {
- if(response==0)
- {
- return 1;
- }
- if(response==1)
- {
- //if(DeadInfo[listitem][md_bearbeitet]==1) return SendClientMessage(playerid,COLOR,"Diese Meldung wird bereits von einem Sanitäter bearbeitet!");
- new Float:x,Float:y,Float:z,text[256],medicname[MAX_PLAYER_NAME],totname[MAX_PLAYER_NAME];
- GetPlayerPos(DeadInfo[listitem][md_ID],x,y,z);
- DeadInfo[listitem][md_bearbeitet]=1;
- SetPlayerCheckpoint(playerid,x,y,z,4.0);
- TextDrawShowForPlayer(playerid,TTL[DeadInfo[listitem][md_ID]]);
- SetPVarInt(playerid,"Retter",DeadInfo[listitem][md_ID]);
- SendClientMessage(playerid,COLOR,"Der Verletzte wurde auf deiner Karte makiert! Los Los!");
- GetPlayerName(playerid,medicname,sizeof medicname);
- GetPlayerName(DeadInfo[listitem][md_ID],totname,sizeof totname);
- format(text,256,"Leitstelle: Sanitäter %s übernimmt den Fall %i von %s",medicname,listitem,totname);
- SendRadioMessage(4,COLOR,text);
- }
- }
- //Medicsystem - Der CMD /calls
- if(strcmp(cmdtext,"/calls",true)==0)
- {
- if(PlayerInfo[playerid][pLeader] != 4 && PlayerInfo[playerid][pMember] != 4) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Sanitäter!");
- new string2[1400],name[MAX_PLAYER_NAME];
- string2[0] = '\0';
- new notrufe=0;
- for(new i=0; i<sizeof(DeadInfo); i++)
- {
- if(DeadInfo[i][md_ID]!=-1)
- {
- if(IsPlayerConnected(DeadInfo[i][md_ID]))
- {
- GetPlayerName(DeadInfo[i][md_ID],name,sizeof name);
- if(DeadInfo[i][md_bearbeitet]==1)
- {
- format(string2,sizeof(string2),"%s{FFF000}%s TTL: %i Sekunden{FFFFFF}\n",string2,name,DeadTimer[DeadInfo[i][md_ID]]);
- }
- else if(DeadInfo[i][md_bearbeitet]==0)
- {
- format(string2,sizeof(string2),"%s%s {FF0A00}TTL: %i Sekunden{FFFFFF}\n",string2,name,DeadTimer[DeadInfo[i][md_ID]]);
- }
- notrufe++;
- //print("string2 ='%s'",string2);
- }
- }
- }
- if(notrufe>0)
- {
- ShowPlayerDialog(playerid, DIALOG_CALLS, DIALOG_STYLE_LIST, "Spieler Liste - Verletzte", string2, "Suchen", "Beenden");
- }
- else
- {
- SendClientMessage(playerid,COLOR,"Keine Notrufe da...");
- }
- r1
- }
- //Medicsystem - Unter OnPlayerSpawn
- if(JustDied[playerid] == 1)
- {
- SendClientMessage(playerid, Info_Color, "Du bist gestorben.");
- TogglePlayerControllable(playerid, 0);
- ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,0,0,1,0);
- SetPlayerPos(playerid, deadx[playerid], deady[playerid], deadz[playerid]);
- SetPlayerInterior(playerid, DeadInt[playerid]);
- SetPlayerVirtualWorld(playerid, DeadWorld[playerid]);
- ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
- SetPlayerCameraPos(playerid, deadx[playerid], deady[playerid], deadz[playerid]+5);
- SetPlayerCameraLookAt(playerid, deadx[playerid], deady[playerid], deadz[playerid]);
- FallPlayert[playerid] = SetTimerEx("FallPlayer", 5000, 0, "d", playerid);
- SetPlayerHealth(playerid,99999999999);
- //DeadTimer[playerid] = 240;
- deadt[playerid] = SetTimerEx("DeadCountdown", 1000, 1, "d", playerid);
- r1
- }
- //Medic System - Ganz unten im Script
- forward DeadCountdown(playerid);
- public DeadCountdown(playerid)
- {
- if(DeadTimer[playerid] == 0)
- {
- KillTimer(deadt[playerid]);
- KillTimer(FallPlayert[playerid]);
- JustDied[playerid]=0;
- IstTot[playerid]=0;
- for(new a=0; a<sizeof(DeadInfo); a++)
- {
- if(DeadInfo[a][md_ID]==playerid)
- {
- DeadInfo[a][md_ID]=-1;
- DeadInfo[a][md_bearbeitet]=0;
- DeadInfo[a][md_rescue]=0;
- }
- }
- SendClientMessage(playerid,COLOR_RED,"Für dich kam leider jede Hilfe zu spät....");
- DeadTimer[playerid]=240;
- Delete3DTextLabel(TotenZeit[playerid]);
- SetPlayerSpawn(playerid);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- DeadTimer[playerid]--;
- new string[128],totentext[256];
- format(string, sizeof(string), "TTL: %d", DeadTimer[playerid]);
- format(totentext,256,"Dieser Spieler lebt noch %i Sekunden!",DeadTimer[playerid]);
- Update3DTextLabelText(TotenZeit[playerid],Info_Color,totentext);
- TextDrawHideForPlayer(playerid,TTL[playerid]);
- TextDrawSetString(TTL[playerid],string);
- TextDrawShowForPlayer(playerid,TTL[playerid]);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(GetPVarInt(i,"Retter")==playerid)
- {
- TextDrawHideForPlayer(i,TTL[playerid]);
- TextDrawShowForPlayer(i,TTL[playerid]);
- }
- }
- return 1;
- }
- forward FallPlayer(playerid);
- public FallPlayer(playerid)
- {
- SetPlayerPos(playerid, deadx[playerid], deady[playerid], deadz[playerid]);
- SetPlayerInterior(playerid, DeadInt[playerid]);
- SetPlayerVirtualWorld(playerid, DeadWorld[playerid]);
- ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
- }
- UC-revive(pp-)
- {
- new pID,Float:x,Float:y,Float:z,string[256],medicname[MAX_PLAYER_NAME],totenname[MAX_PLAYER_NAME];
- if(sscanf(params,"i",pID)) return SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /revive [ID]");
- if(PlayerInfo[playerid][pLeader] != 4 && PlayerInfo[playerid][pMember] != 4) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Sanitäter!");
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"Das geht in einem Fahrzeug nicht!");
- if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler ist Offline!");
- GetPlayerPos(pID,x,y,z);
- if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
- {
- if(JustDied[pID]==0) return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler ist nicht tot!");
- if(GetPVarInt(playerid,"Revive")==1) return SendClientMessage(playerid, COLOR_GRAD1, "Du kannst nur alle 9 Sekunden wiederbeleben!");
- SetTimerEx("MedicTimerr",9000,0,"i",playerid);
- SetPVarInt(playerid,"Revive",1);
- DeadTimer[pID]=DeadTimer[pID]+12;
- GetPlayerName(playerid,medicname,sizeof medicname);
- GetPlayerName(pID,totenname,sizeof totenname);
- format(string, sizeof(string), "* %s verarztet %s...", medicname, totenname);
- ApplyAnimation(playerid,"MEDIC","CPR",11.0,0,0,0,0,0);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- }
- else return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht in der Nähe des Verletzten!");
- r1
- }
- forward MedicTimerr(playerid);
- public MedicTimerr(playerid)
- {
- SetPVarInt(playerid,"Revive",0);
- r1
- }
- UC-rescue(pp-)
- {
- new pID,Float:x,Float:y,Float:z,medicname[MAX_PLAYER_NAME],totenname[MAX_PLAYER_NAME],string[256];
- if(sscanf(params,"i",pID)) return SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /rescue [ID]");
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"Das geht in einem Fahrzeug nicht!");
- if(PlayerInfo[playerid][pLeader] != 4 && PlayerInfo[playerid][pMember] != 4) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Sanitäter!");
- if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler ist Offline!");
- GetPlayerPos(pID,x,y,z);
- if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
- {
- if(JustDied[pID]==0) return SendClientMessage(playerid, COLOR_GRAD1, "Dieser Spieler ist nicht tot!");
- for(new i=0; i<MAX_VEHICLES; i++)
- {
- if(GetVehicleModel(i)==416)
- {
- new Float:cx,Float:cy,Float:cz;
- GetVehiclePos(i,cx,cy,cz);
- if(IsPlayerInRangeOfPoint(playerid,10.0,cx,cy,cz))
- {
- PutPlayerInVehicle(pID,i,2);
- TogglePlayerControllable(pID,false);
- KillTimer(deadt[pID]);
- KillTimer(FallPlayert[pID]);
- Delete3DTextLabel(TotenZeit[pID]);
- DeadTimer[pID]=240;
- SetPlayerCheckpoint(playerid,1143.2092,-1334.5123,13.6135,4.0);
- for(new a=0; a<sizeof(DeadInfo); a++)
- {
- if(DeadInfo[a][md_ID]==pID)
- {
- DeadInfo[a][md_rescue]=1;
- }
- }
- TextDrawHideForPlayer(playerid,TTL[pID]);
- TextDrawHideForPlayer(pID,TTL[pID]);
- SetPVarInt(playerid,"Deliver",pID);
- SendClientMessage(playerid, COLOR_GREEN, "Liefer deinen Patienten ins Krankenhaus ein!");
- GetPlayerName(playerid,medicname,sizeof medicname);
- GetPlayerName(pID,totenname,sizeof totenname);
- format(string, sizeof(string), "* %s trägt %s in den Rettungswagen...", medicname, totenname);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- break;
- }
- }
- if(GetVehicleModel(i)==563)
- {
- new Float:cx,Float:cy,Float:cz;
- GetVehiclePos(i,cx,cy,cz);
- if(IsPlayerInRangeOfPoint(playerid,10.0,cx,cy,cz))
- {
- PutPlayerInVehicle(pID,i,1);
- TogglePlayerControllable(pID,false);
- KillTimer(deadt[pID]);
- KillTimer(FallPlayert[pID]);
- Delete3DTextLabel(TotenZeit[pID]);
- DeadTimer[pID]=240;
- SetPlayerCheckpoint(playerid,1160.0460,-1362.6731,27.3474,5.0);
- for(new a=0; a<sizeof(DeadInfo); a++)
- {
- if(DeadInfo[a][md_ID]==pID)
- {
- DeadInfo[a][md_rescue]=1;
- }
- }
- TextDrawHideForPlayer(playerid,TTL[pID]);
- TextDrawHideForPlayer(pID,TTL[pID]);
- SetPVarInt(playerid,"Deliver",pID);
- SendClientMessage(playerid, COLOR_GREEN, "Liefer deinen Patienten ins Krankenhaus ein!");
- GetPlayerName(playerid,medicname,sizeof medicname);
- GetPlayerName(pID,totenname,sizeof totenname);
- format(string, sizeof(string), "* %s trägt %s in den Rettungshelikopter...", medicname, totenname);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- break;
- }
- }
- }
- }
- else return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht in der Nähe des Verletzten!");
- r1
- }
- //Medicsystem - Unter OnPlayerDisconnect
- new totname[MAX_PLAYER_NAME];
- for(new a=0; a<sizeof(DeadInfo); a++)
- {
- new string[256];
- if(DeadInfo[a][md_ID]==playerid)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pLeader] == 4 || PlayerInfo[i][pMember] == 4)
- {
- GetPlayerName(playerid,totname,sizeof totname);
- format(string, sizeof(string), "Leitstelle: Der Schwerverletzte %s ist offline gegangen.",totname);
- SendClientMessage(i, TEAM_BLUE_COLOR, string);
- }
- if(GetPVarInt(i,"Deliver")==playerid)
- {
- SetPVarInt(i,"Deliver",-1);
- }
- if(GetPVarInt(i,"Retter")==playerid)
- {
- TextDrawHideForPlayer(i,TTL[GetPVarInt(i,"Retter")]);
- SetPVarInt(i,"Retter",-1);
- }
- }
- DeadInfo[a][md_ID]=-1;
- DeadInfo[a][md_bearbeitet]=0;
- DeadInfo[a][md_rescue]=0;
- }
- }
- if(JustDied[playerid]==1)
- {
- SendClientMessage(playerid,COLOR,"Wer will den da der Wartezeit entgehen ? .... -8k!");
- ConsumingMoney[playerid] = 1;
- GivePlayerMoney(playerid, -8000);
- ConsumingMoney[playerid] = 0;
- KillTimer(deadt[playerid]);
- KillTimer(FallPlayert[playerid]);
- JustDied[playerid]=0;
- IstTot[playerid]=0;
- DeadTimer[playerid]=240;
- Delete3DTextLabel(TotenZeit[playerid]);
- TextDrawHideForPlayer(playerid,TTL[playerid]);
- }
- //Medicsystem - Unter OnPlayerEnterCheckpoint
- new ppID=GetPVarInt(playerid,"Deliver");
- new vehicle2 = GetPlayerVehicleID(ppID);
- if(ppID>-1)
- {
- if(vehicle == vehicle2 && (IsPlayerInRangeOfPoint(playerid ,6.0,1160.0460,-1362.6731,27.3474) || IsPlayerInRangeOfPoint(playerid ,6.0,1143.2092,-1334.5123,13.6135)))
- {
- KillTimer(deadt[ppID]);
- KillTimer(FallPlayert[ppID]);
- JustDied[ppID]=0;
- IstTot[ppID]=0;
- DeadTimer[ppID]=240;
- Delete3DTextLabel(TotenZeit[ppID]);
- SetPlayerSpawn(ppID);
- SetCameraBehindPlayer(ppID);
- TogglePlayerControllable(ppID,true);
- DisablePlayerCheckpoint(playerid);
- FraktionsKasse[3] += 5000;
- SendClientMessage(playerid,COLOR_LIGHTBLUE, "*Du hast deinen Patienten erfolgreich eingeliefert. Er wird überleben! Als Belohnung bekommst du $10.000.");
- SendClientMessage(ppID,COLOR_LIGHTBLUE, "*Ein Sanitäter hat dir das Leben gerettet. Nach kurzem Krankenhausaufenthalt kannst du wieder gehen.");
- ConsumingMoney[playerid] = 1;
- GivePlayerMoney(playerid,10000);
- ConsumingMoney[playerid] = 0;
- for(new a=0; a<sizeof(DeadInfo); a++)
- {
- if(DeadInfo[a][md_ID]==ppID)
- {
- DeadInfo[a][md_ID]=-1;
- DeadInfo[a][md_bearbeitet]=0;
- DeadInfo[a][md_rescue]=0;
- }
- }
- SetPVarInt(playerid,"Deliver",-1);
- }
- }
Add Comment
Please, Sign In to add comment