Brauche dringend Hilfe (Nach dem Tod Funktion)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Brauche dringend Hilfe (Nach dem Tod Funktion)

    Hallo Breadfish

    Bei mir ist es so das manche Fraktionen als FightFactions gennant sind. Das sind die Fraktionen die z.B Gangfight starten können.

    PAWN-Quellcode

    1. stock IsAFightFaction(Faction){
    2. if(Faction == 5 || Faction == 6 || Faction == 13 || Faction == 14 || Faction == 16 || Faction == 17 || Faction == 23 || Faction == 25 || Faction == 12)
    3. return 1;
    4. return 0;
    5. }


    Eine FightFaction wird halt nicht als eine Normale Fraktion gelesen sondern als eine Fraktion die Gangfight starten kann.
    Nach dem Tod spawnt man direkt in der Base aber die Normale Fraktionen spawnen nach dem Tod im Krankenhaus.
    Das Problem ist das es genau so mit Wanteds ist. Die Fightfactions spawnen direkt in der Base nach und nicht im Knast. Aber die Normale Fraktionen spawnen im Knast.
    Wenn man in einem Gebiet als FightFaction stirbt spawnt man normal im Krankenhaus und mit wanteds genauso im Knast aber nur wenn man sich im Gebiet befindet
    auch wenn kein Gangfight gestartet wurde.

    Die Todes Funktion:

    PAWN-Quellcode

    1. if(PlayerInfo[playerid][pTot] == 1) //Nach dem Tod
    2. {
    3. SendClientMessage(playerid, COLOR_WHITE, " ");
    4. SendClientMessage(playerid, COLOR_WHITE, " ");
    5. SendClientMessage(playerid, COLOR_WHITE, " ");
    6. SendClientMessage(playerid, COLOR_WHITE, " ");
    7. SendClientMessage(playerid, COLOR_WHITE, " ");
    8. SendClientMessage(playerid, COLOR_WHITE, " ");
    9. SendClientMessage(playerid, COLOR_GREEN, "Du bist gestorben ");
    10. SendClientMessage(playerid, COLOR_WHITE, "Du bist im Krankenhaus");
    11. SendClientMessage(playerid, COLOR_WHITE, "In 120 Sekunden spawnst du wieder");
    12. SetPlayerHealth(playerid, 100);
    13. FreezePlayer(playerid);
    14. SetPlayerPos(playerid,x,y,z);
    15. SetPlayerCameraPos(playerid,x,y,z);
    16. SetPlayerCameraLookAt(playerid,x,y,z);
    17. SetPlayerColor(playerid,TEAM_HIT_COLOR);
    18. ResetPlayerWeapons(playerid);
    19. SetPlayerInterior(playerid, 0);
    20. return 1;
    21. }
    Alles anzeigen


    Es gibt eine OnPlayerDeath Funktion aber auch eine GW_OnPlayerDeath

    PAWN-Quellcode

    1. Function OnPlayerDeath(playerid, killerid, reason)
    2. {
    3. M_OnPlayerDeath(playerid,killerid,reason);
    4. GW_OnPlayerDeath(playerid, killerid, reason); [b]<----- Wenn ich das von hier lösche dann werden die Punkte bei Gangfight nicht gezählt[/b]
    5. SendDeathMessage(killerid, playerid, reason);
    6. }


    PAWN-Quellcode

    1. forward GW_OnPlayerDeath(playerid, killerid, reason);
    2. public GW_OnPlayerDeath(playerid, killerid, reason){
    3. if(IsAFightFaction(GetPlayerFaction(playerid))){
    4. new TempZone = GetPlayerFightzone(playerid);
    5. if(FightSystem[TempZone][fsAttackFaction] != -255 && FightSystem[TempZone][fsFightTime]){
    6. if(FightSystem[TempZone][fsCtfOfOwner][0] == playerid){
    7. new fsName[MAX_PLAYER_NAME];
    8. GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
    9. new fsText[128];
    10. format(fsText,sizeof(fsText),">>> GANGFIGHT <<< | %s hat die Flagge fallen gelassen!",fsName);
    11. for(new i;i<GetMaxPlayers();i++){
    12. if(IsPlayerConnected(i)){
    13. if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction] || GetPlayerFaction(i) == FightSystem[TempZone][fsAttackFaction]){
    14. PlayerPlaySound(i,1058,0.0,0.0,0.0);
    15. SendClientMessage(i,FS_COL_YELLOW,fsText);
    16. }
    17. }
    18. }
    19. DestroyObject(FightSystem[TempZone][fsFlagOfOwner]);
    20. /*FightSystem[TempZone][fsFlagOfOwner] = CreateObject(2993,FightSystem[TempZone][fsCtfOfOwnerx],FightSystem[TempZone][fsCtfOfOwnery],(FightSystem[TempZone][fsCtfOfOwnerz]-1.0),0.0,0.0,0.0,150.0);*/
    21. FightSystem[TempZone][fsCtfOfOwner][0] = -255;
    22. FightSystem[TempZone][fsCtfOfOwner][1] = 0;
    23. }
    24. else if(FightSystem[TempZone][fsCtfOfAttack][0] == playerid){
    25. new fsName[MAX_PLAYER_NAME];
    26. GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
    27. new fsText[128];
    28. format(fsText,sizeof(fsText),">>> GANGFIGHT <<< | %s hat die Flagge fallen gelassen!",fsName);
    29. for(new i;i<GetMaxPlayers();i++){
    30. if(IsPlayerConnected(i)){
    31. if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction] || GetPlayerFaction(i) == FightSystem[TempZone][fsAttackFaction]){
    32. PlayerPlaySound(i,1058,0.0,0.0,0.0);
    33. SendClientMessage(i,FS_COL_YELLOW,fsText);
    34. }
    35. }
    36. }
    37. DestroyObject(FightSystem[TempZone][fsFlagOfAttack]);
    38. /*FightSystem[TempZone][fsFlagOfAttack] = CreateObject(2993,FightSystem[TempZone][fsCtfOfAttackx],FightSystem[TempZone][fsCtfOfAttacky],(FightSystem[TempZone][fsCtfOfAttackz]-1.0),0.0,0.0,0.0,150.0);*/
    39. FightSystem[TempZone][fsCtfOfAttack][0] = -255;
    40. FightSystem[TempZone][fsCtfOfAttack][1] = 0;
    41. }
    42. }
    43. }
    44. if(IsPlayerConnected(killerid)){
    45. if(IsAFightFaction(GetPlayerFaction(killerid))){
    46. new TempZone = GetPlayerFightzone(killerid);
    47. if(TempZone != -255){
    48. if(FightSystem[TempZone][fsFightTime] && FightSystem[TempZone][fsAttackFaction] != -255){
    49. if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(killerid) || FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(killerid)){
    50. if(IsAFightFaction(GetPlayerFaction(playerid))){
    51. new fsText[64];
    52. if(FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(killerid) && FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid)){
    53. PlayerPlaySound(killerid,1084,0.0,0.0,0.0);
    54. GivePlayerMoney(killerid,500);
    55. GameTextForPlayer(killerid,"~g~GANGFIGHTKILL",3125,3);
    56. GameTextForPlayer(playerid,"~r~GANGFIGHTDEATH",3125,3);
    57. FightSystem[TempZone][fsKillsOfAttack]++;
    58. if(FightSystem[TempZone][fsKillsOfOwner] > FightSystem[TempZone][fsKillsOfAttack]){
    59. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    60. TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    61. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfOwner]);
    62. TextDrawSetString(FightSystem[TempZone][fsWinKills],fsText);
    63. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsAttackFaction]));
    64. TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    65. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfAttack]);
    66. TextDrawSetString(FightSystem[TempZone][fsLoseKills],fsText);
    67. }
    68. else if(FightSystem[TempZone][fsKillsOfAttack] > FightSystem[TempZone][fsKillsOfOwner]){
    69. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsAttackFaction]));
    70. TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    71. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfAttack]);
    72. TextDrawSetString(FightSystem[TempZone][fsWinKills],fsText);
    73. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    74. TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    75. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfOwner]);
    76. TextDrawSetString(FightSystem[TempZone][fsLoseKills],fsText);
    77. }else{
    78. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    79. TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    80. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfOwner]);
    81. TextDrawSetString(FightSystem[TempZone][fsWinKills],fsText);
    82. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsAttackFaction]));
    83. TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    84. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfAttack]);
    85. TextDrawSetString(FightSystem[TempZone][fsLoseKills],fsText);
    86. }
    87. }
    88. else if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(killerid) && FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(playerid)){
    89. PlayerPlaySound(killerid,1084,0.0,0.0,0.0);
    90. GameTextForPlayer(killerid,"~g~GANGFIGHTKILL",3125,3);
    91. GameTextForPlayer(playerid,"~r~GANGFIGHTDEATH",3125,3);
    92. FightSystem[TempZone][fsKillsOfOwner]++;
    93. if(FightSystem[TempZone][fsKillsOfOwner] > FightSystem[TempZone][fsKillsOfAttack]){
    94. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    95. TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    96. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfOwner]);
    97. TextDrawSetString(FightSystem[TempZone][fsWinKills],fsText);
    98. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsAttackFaction]));
    99. TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    100. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfAttack]);
    101. TextDrawSetString(FightSystem[TempZone][fsLoseKills],fsText);
    102. }
    103. else if(FightSystem[TempZone][fsKillsOfAttack] > FightSystem[TempZone][fsKillsOfOwner]){
    104. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsAttackFaction]));
    105. TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    106. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfAttack]);
    107. TextDrawSetString(FightSystem[TempZone][fsWinKills],fsText);
    108. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    109. TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    110. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfOwner]);
    111. TextDrawSetString(FightSystem[TempZone][fsLoseKills],fsText);
    112. }else{
    113. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
    114. TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
    115. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfOwner]);
    116. TextDrawSetString(FightSystem[TempZone][fsWinKills],fsText);
    117. format(fsText,sizeof(fsText),"%s",GetFactionNameOfFaction(FightSystem[TempZone][fsAttackFaction]));
    118. TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
    119. format(fsText,sizeof(fsText),"%d",FightSystem[TempZone][fsKillsOfAttack]);
    120. TextDrawSetString(FightSystem[TempZone][fsLoseKills],fsText);
    121. }
    122. }
    123. }
    124. }
    125. }
    126. }
    127. }
    128. }return 1;
    129. }
    Alles anzeigen


    MFG

    Ich werde sehr dankbar sein wenn mir jemand helfen kann.