I've got this annoying problem where my server suddenly doesn't start up.
I changed literally nothing, I connected an hour ago and it worked fine, then I reconnect, suddenly the server crashes and now it doesn't want to start up again.
I fixed that, now for some weird reason OnPlayerTakeDamage doesn't get called and firearms don't do any damages, melees do however?
Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
new Float:damage, Float:health, Float:armour, Float: dist, Float:poz[3], dam;
GetPlayerHealth(playerid,health);
GetPlayerArmour(playerid,armour);
GetPlayerPos(playerid, poz[0], poz[1], poz[2]);
dist = GetPlayerDistanceFromPoint(issuerid, poz[0], poz[1], poz[2]);
dam = floatround(dist);
if(issuerid != INVALID_PLAYER_ID)
{
new newdamage = 0;
switch(GetPlayerWeapon(issuerid))
{
case 0:
{ // Fist
if(Firepunch[issuerid] == 0)
{
damage = 6;
newdamage = 1;
}
else if(Firepunch[issuerid] == 1 && Immunity[playerid] == 0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Debug[i] == 1)
{
SendClientMessageEx(i, COLOR_RED, "[DEBUG] %s just firepunched %s.", ReturnName(issuerid, 0), ReturnName(playerid, 0));
}
}
new Float:Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
CreateExplosion(Pos[0], Pos[1], Pos[2], 11, 5.0);
}
else if(Immunity[playerid] == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Debug[i] == 1)
{
SendClientMessageEx(i, COLOR_RED, "[DEBUG] %s tried firepunching %s but the player had immunity enabled.", ReturnName(issuerid, 0), ReturnName(playerid, 0));
}
}
SendClientMessage(issuerid, COLOR_YELLOW, "This player is immune to your shit.");
}
}
case 1,2,3,5,6,7:
{ // Misc Melee
damage = 14;
newdamage = 1;
}
case 22:
{ //9mm
switch(bodypart)
{
case 3,4: damage = 30; //chest, torso
case 5,6: damage = 24;//arms
case 7,8: damage = 27;//legs
case 9: damage = 40;//head
}
newdamage = 1;
}
case 24:
{ // Deagle
switch(bodypart)
{
case 3,4: damage = 45; //chest, torso
case 5,6: damage = 35;//arms
case 7,8: damage = 40;//legs
case 9: damage = 60;//head
}
newdamage = 1;
}
case 25:
{ // Shotgun
// if(Beanbag[issuerid] == 0)
// {
damage = 85 - (dam * 2);
if(damage <= 0) damage = 2;
newdamage = 1;
// }
// else
// {
// damage = 0;
// SendNearbyMessage(playerid, 35.0, COLOR_PURPLE, "* %s was hit by a rubber bullet by %s and was forced to the ground.", ReturnName(playerid, 0), ReturnName(issuerid, 0));
// ApplyAnimation(playerid, "CRACK", "crckdeth1", 4.1, 0, 0, 0, 1, 0, 1);
// newdamage = 1;
// }
}
case 23:
{
// if(Taser[issuerid] == 0)
// {
switch(bodypart)
{
case 3,4: damage = 30; //chest, torso
case 5,6: damage = 24;//arms
case 7,8: damage = 27;//legs
case 9: damage = 40;//head
} // Silenced 9mm
// }
// else
// {
// damage = 0;
// SendNearbyMessage(playerid, 35.0, COLOR_PURPLE, "* %s was tased by %s.", ReturnName(playerid, 0), ReturnName(issuerid, 0));
// ApplyAnimation(playerid, "CRACK", "crckdeth1", 4.1, 0, 0, 0, 1, 0, 1);
// }
newdamage = 1;
}
case 27:
{
damage = 35 - (dam * 2);
if(damage <= 0) damage = 2; // SPAS 12
newdamage = 1;
}
case 29:
{ // MP5
switch(bodypart)
{
case 3,4: damage = 34; //chest, torso
case 5,6: damage = 27;//arms
case 7,8: damage = 30;//legs
case 9: damage = 45;//head
}
newdamage = 1;
}
case 31:
{ // M4
switch(bodypart)
{
case 3,4: damage = 45; //chest, torso
case 5,6: damage = 35;//arms
case 7,8: damage = 40;//legs
case 9: damage = 60;//head
}
newdamage = 1;
}
case 30:
{ // AK
switch(bodypart)
{
case 3,4: damage = 48; //chest, torso
case 5,6: damage = 38;//arms
case 7,8: damage = 44;//legs
case 9: damage = 65;//head
}
newdamage = 1;
}
case 33:
{
switch(bodypart)
{
case 3,4: damage = 59; //chest, torso
case 5,6: damage = 47;//arms
case 7,8: damage = 54;//legs
case 9: damage = 80;//head
}
newdamage = 1;
}
case 34:
{ // Sniper
switch(bodypart)
{
case 3,4: damage = 74; //chest, torso
case 5,6: damage = 59;//arms
case 7,8: damage = 67;//legs
case 9: damage = 100;//head
}
newdamage = 1;
}
case 28,32:
{
switch(bodypart)
{
case 3,4: damage = 30; //chest, torso
case 5,6: damage = 24;//arms
case 7,8: damage = 27;//legs
case 9: damage = 50;//head
}
newdamage = 1;
}
case 8,4:
{
damage = 23; //Katana / Knife
newdamage = 1;
}
}
if(newdamage == 1)
{
if(armour == 0)
{
health = health - damage;
if(health < 0)
{
health = health - health;
}
}
else
{
armour = armour - damage;
if(armour < 0)
{
health = health + armour;
armour = 0;
}
}
if(God[playerid] == 0)
{
SetPlayerHealth(playerid, health);
SetPlayerArmour(playerid, armour);
}
}
}
else if(issuerid == INVALID_PLAYER_ID)
{
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Debug[i] == 1) return SendClientMessageEx(i, COLOR_RED, "[DEBUG] %s did %f damage to %s with wep id %d (%s).", ReturnName(issuerid, 1), damage, ReturnName(playerid, 1), GetPlayerWeapon(issuerid), WeaponNameList[GetPlayerWeapon(issuerid)]);
}
return 1;
}
-Plugin1(Streamer.so) Plugin2(sscanf.so) Plugin3(Whirlpool.so) - 100% Work