Der Command an sich funktioniert einwandfrei. Lediglich die Waffen werden nicht entfernt komischerweise
Beiträge von DOUBLE-G-62
-
-
stock RemovePlayerWeapon(playerid, weaponid)
{
new plyWeapons[12];
new plyAmmo[12];for(new slot = 0; slot != 12; slot++)
{
new wep, ammo;
GetPlayerWeaponData(playerid, slot, wep, ammo);if(wep != weaponid)
{
GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]);
}
}ResetPlayerWeapons(playerid);
for(new slot = 0; slot != 12; slot++)
{
GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]);
}
} -
Da war doch ein Variable Fehler, lag nicht am Code. Hab aber jetzt einen anderen Fehler. Irgendwie werden die Waffen nach Arbeitsschluss nicht entfernt?
dcmd_duty(playerid, params[])
{
#pragma unused params
new string[128];
if(!IsPlayerInFraktion(playerid, FRAKTION_LSPD))
return SendClientMessage(playerid, COLOR_RED, "-Warnung- Du kannst diesen Befehl nicht benutzen.");if (IsPlayerInRangeOfPoint(playerid, 3.0, 254.4710,78.4348,1003.6406) && GetPlayerInterior(playerid) == INTERIOR_LSPD)
{
if(OnDuty[playerid] == false)
{
OnDuty[playerid] = true;
SendMessage(playerid, "~g~~h~Du bist nun ON-DUTY, viel spass bei der Arbeit!");format(string, sizeof string, "* %s(%d) ist nun im Dienst.", PlayerName[playerid], playerid);
SendFraktionMessage(FRAKTION_LSPD, string);SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dein Equipment genommen & bist jetzt ON-DUTY!");
if(PlayerInfo[playerid][pLeader] == FRAKTION_LSPD)
return GivePlayerClass(playerid, 282, 6, 254.4710,78.4348,1003.6406, LSPD_WEAP1, LSPD_WEAP2, LSPD_WEAP3, LSPD_WEAP4);else if(PlayerInfo[playerid][pFraktion] == FRAKTION_LSPD)
return GivePlayerClass(playerid, 280, 6, 254.4710,78.4348,1003.6406, LSPD_WEAP1, LSPD_WEAP2, LSPD_WEAP3, LSPD_WEAP4);
}
else if(OnDuty[playerid] == true)
{
OnDuty[playerid] = false;
SendMessage(playerid, "~g~~h~Du bist nun OFF-DUTY, schoenen Feierabend!");format(string, sizeof string, "* %s(%d) ist nun nicht mehr im Dienst.", PlayerName[playerid], playerid);
SendFraktionMessage(FRAKTION_LSPD, string);SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dein Equipment verstaut & bist jetzt OFF-DUTY!");
if(PlayerInfo[playerid][pLeader] == FRAKTION_LSPD)
return GivePlayerClass(playerid, 282, 6, 254.4710,78.4348,1003.6406, 0, 0, 0, 0);else if(PlayerInfo[playerid][pFraktion] == FRAKTION_LSPD)
return GivePlayerClass(playerid, 280, 6, 254.4710,78.4348,1003.6406, 0, 0, 0, 0);ResetPlayerWeapons(playerid);
RemovePlayerWeapon(playerid, LSPD_WEAP1);
RemovePlayerWeapon(playerid, LSPD_WEAP2);
RemovePlayerWeapon(playerid, LSPD_WEAP3);
RemovePlayerWeapon(playerid, LSPD_WEAP4);
}
}
else
SendMessage(playerid, "~g~~h~Du musst in der Naehe vom deinem Spint sein.");
return 1;
}Ich hab es über die reguläre Funktion ResetPlayerWeapons und über eine Eigenfunktion RemvovePlayerWeapon probiert - beides funktioniert nicht
-
Hallo,
Du hast ja beschrieben das du nicht von dem Fahrzeug entfernt wirst, wird die Nachricht ausgegeben?
Die Nachricht bekomme ich ebenfalls nicht
-
Hallo Leute,
ich habe eigentlich ein einfaches Problem, jedoch finde ich nicht meinen Fehler. Ich möchte für Leute die bereits in einer Fraktion sind, Newbie Fahrzeuge unfahrbar machen. Aus welchem Grund auch immer wird man nicht vom Fahrzeug entfernt. Ich hoffe ihr könnt mir weiterhelfen
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
for(new i=0; i < sizeof nVeh; i++)
{
if(newstate == PLAYER_STATE_DRIVER && vehicleid == nVeh[i])
{
if(PlayerInfo[playerid][pFraktion] > FRAKTION_NEWBIE)
{
RemovePlayerFromVehicle(playerid);
SendMessage(playerid, "Du darfst Newbie Fahrzeuge nicht nutzen.");
}
}
}
return 1;}