Guten Morgen,
Ich habe soeben den Medics das Ticket System gegeben.
Nun habe ich das Problem das wenn ich ein "Ticket" gebe das diese Person von der Wanted Liste genommen wird.
Wie stelle ich das aus ?
Guten Morgen,
Ich habe soeben den Medics das Ticket System gegeben.
Nun habe ich das Problem das wenn ich ein "Ticket" gebe das diese Person von der Wanted Liste genommen wird.
Wie stelle ich das aus ?
Da wirst du wohl bisschen in den Dateien schauen müssen.
https://github.com/AsYetUntitled/…Pay.sqf#L26-L30 (Z. 26-30 und 38-42)
du musst eine Zweite Datei anlegen z.B fn_ticketpaymedi.sqf da müsste dann folgendes stehen. Ich bin zwar nur am Handy ab
#include "..\..\script_macros.hpp"/* File: fn_ticketPay.sqf Author: Bryan "Tonic" Boardwine Description: Pays the ticket.*/if (isNil "life_ticket_val" || isNil "life_ticket_cop") exitWith {};if (CASH < life_ticket_val) exitWith { if (BANK < life_ticket_val) exitWith { hint localize "STR_Cop_Ticket_NotEnough"; [1,"STR_Cop_Ticket_NotEnoughNOTF",true,[profileName]] remoteExecCall ["life_fnc_broadcast",life_ticket_cop]; closeDialog 0; }; hint format [localize "STR_Cop_Ticket_Paid",[life_ticket_val] call life_fnc_numberText]; BANK = BANK - life_ticket_val; [1] call SOCK_fnc_updatePartial; life_ticket_paid = true; [0,"STR_Cop_Ticket_PaidNOTF",true,[profileName,[life_ticket_val] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",west]; [1,"STR_Cop_Ticket_PaidNOTF_2",true,[profileName]] remoteExecCall ["life_fnc_broadcast",life_ticket_cop]; [life_ticket_val,player,life_ticket_cop] remoteExecCall ["life_fnc_ticketPaid",life_ticket_cop]; CASH = CASH - life_ticket_val;[0] call SOCK_fnc_updatePartial;life_ticket_paid = true; if (life_HC_isActive) then { [getPlayerUID player] remoteExecCall ["HC_fnc_wantedRemove",HC_Life];} else { [getPlayerUID player] remoteExecCall ["life_fnc_wantedRemove",RSERV];}; [0,"STR_Cop_Ticket_PaidNOTF",true,[profileName,[life_ticket_val] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",west];closeDialog 0;[1,"STR_Cop_Ticket_PaidNOTF_2",true,[profileName]] remoteExecCall ["life_fnc_broadcast",life_tic
Man kann auch die von blackfisch benannten ticketpa nehmen und dort eine if mit Seitenabfrage einbauen
Alice Kingsleigh das ist die von blackfisch nur ohne das wanted entfernen wurde
Man muss aber keine komplett neue Datei machen, das ist nur Datenmüll.
ja kann man muss man aber net
Jz habe ich eine andere Frage ich habe eine Datei erstellt namens :fn_medInteractionMenu
#include "..\..\script_macros.hpp"
/*
File: fn_medInteractionMenu.sqf
Author: Bryan "Tonic" Boardwine
Description:
Replaces the mass addactions for various cop actions towards another player.
*/
#define Btn1 37450
#define Btn2 37451
#define Btn3 37452
#define Btn4 37453
#define Btn5 37454
#define Btn6 37455
#define Btn7 37456
#define Btn8 37457
#define Title 37401
private ["_display","_curTarget","_seizeRank","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_Btn7","_Btn8"];
disableSerialization;
_curTarget = param [0,objNull,[objNull]];
_seizeRank = LIFE_SETTINGS(getNumber,"seize_minimum_rank");
if (player getVariable ["Escorting", false]) then {
if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
if (!isPlayer _curTarget && side _curTarget isEqualTo civilian) exitWith {closeDialog 0;}; //Bad side check?
if (player distance _curTarget > 4 ) exitWith {closeDialog 0;}; // Prevents menu accessing from far distances.
};
if (!dialog) then {
createDialog "pInteraction_Menu";
};
_display = findDisplay 37400;
_Btn1 = _display displayCtrl Btn1;
_Btn2 = _display displayCtrl Btn2;
_Btn3 = _display displayCtrl Btn3;
_Btn4 = _display displayCtrl Btn4;
_Btn5 = _display displayCtrl Btn5;
_Btn6 = _display displayCtrl Btn6;
_Btn7 = _display displayCtrl Btn7;
_Btn8 = _display displayCtrl Btn8;
life_pInact_curTarget = _curTarget;
if (player getVariable ["isEscorting",false]) then {
{ _x ctrlShow false; } forEach [_Btn1,_Btn2,_Btn3,_Btn5,_Btn6,_Btn7,_Btn8];
};
//Set Unrestrain Button
_Btn5 ctrlSetText localize "STR_pInAct_Unrestrain";
_Btn5 buttonSetAction "[life_pInact_curTarget] call life_fnc_unrestrain; closeDialog 0;";
//Set Check Licenses Button
_Btn2 ctrlSetText localize "STR_pInAct_checkLicenses";
_Btn2 buttonSetAction "[player] remoteExecCall [""life_fnc_licenseCheck"",life_pInact_curTarget]; closeDialog 0;";
//Set Search Button
_Btn3 ctrlSetText localize "STR_pInAct_SearchPlayer";
_Btn3 buttonSetAction "[life_pInact_curTarget] spawn life_fnc_searchAction; closeDialog 0;";
//Set Escort Button
if (player getVariable ["isEscorting",false]) then {
_Btn4 ctrlSetText localize "STR_pInAct_StopEscort";
_Btn4 buttonSetAction "[] call life_fnc_stopEscorting; closeDialog 0;";
} else {
_Btn4 ctrlSetText localize "STR_pInAct_Escort";
_Btn4 buttonSetAction "[life_pInact_curTarget] call life_fnc_escortAction; closeDialog 0;";
};
//Set Ticket Button
_Btn1 ctrlSetText localize "STR_pInAct_TicketBtn";
_Btn1 buttonSetAction "[life_pInact_curTarget] call life_fnc_ticketAction;";
_Btn6 ctrlSetText localize "STR_pInAct_Arrest";
_Btn6 buttonSetAction "[life_pInact_curTarget] call life_fnc_arrestAction; closeDialog 0;";
_Btn6 ctrlEnable false;
_Btn7 ctrlSetText localize "STR_pInAct_PutInCar";
_Btn7 buttonSetAction "[life_pInact_curTarget] call life_fnc_putInCar; closeDialog 0;";
if (FETCH_CONST(life_coplevel) < _seizeRank) then {_Btn8 ctrlEnable false;};
{
if ((player distance (getMarkerPos _x) <30)) exitWith { _Btn6 ctrlEnable true;};
} forEach LIFE_SETTINGS(getArray,"sendtoJail_locations");
_Btn1 ctrlShow true;
_Btn2 ctrlShow false;
_Btn3 ctrlShow false;
_Btn4 ctrlShow false;
_Btn5 ctrlShow false;
_Btn6 ctrlShow false;
_Btn7 ctrlShow false;
Und das auch alles in der Functions.hpp eingetragen:
class Socket_Reciever {
tag = "SOCK";
class SQL_Socket {
file = "core\session";
class dataQuery {};
class insertPlayerInfo {};
class requestReceived {};
class syncData {};
class updatePartial {};
class updateRequest {};
class tazeRagdoll {};
};
};
class SpyGlass {
tag = "SPY";
class Functions {
file = "SpyGlass";
class cookieJar{};
class notifyAdmins{};
class observe{};
};
};
class Life_Client_Core {
tag = "life";
class Master_Directory {
file = "core";
class initCiv {};
class initCop {};
class initMedic {};
class setupActions {};
class setupEVH {};
class survival {};
class welcomeNotification {};
};
class Placeables {
file = "core\functions\placeables";
class placeablesInit {};
class medicPlaceablesInit {};
class placeablesMenu {};
class placeablesRemoveAll {};
class placeablePlace {};
class placeableCancel {};
class placeablesPlaceComplete {};
};
class Actions {
file = "core\actions";
class arrestAction {};
class buyLicense {};
class captureHideout {};
class catchFish {};
class dpFinish {};
class dropFishingNet {};
class escortAction {};
class gather {};
class getDPMission {};
class gutAnimal {};
class healHospital {};
class impoundAction {};
class mine {};
class newsBroadcast {};
class packupSpikes {};
class pickupItem {};
class pickupMoney {};
class postBail {};
class processAction {};
class pulloutAction {};
class putInCar {};
class removeContainer {};
class repairTruck {};
class restrainAction {};
class robAction {};
class searchAction {};
class searchVehAction {};
class seizePlayerAction {};
class serviceChopper {};
class stopEscorting {};
class storeVehicle {};
class surrender {};
class ticketAction {};
class unrestrain {};
class robShops {}; //Rob Gas Station & Shops Script
};
class Admin {
file = "core\admin";
class adminCompensate {};
class adminDebugCon {};
class adminFreeze {};
class admingetID {};
class adminGodMode {};
class adminid {};
class admininfo {};
class adminMarkers {};
class adminMenu {};
class adminQuery {};
class adminSpectate {};
class adminTeleport {};
class adminTpHere {};
};
class Civilian {
file = "core\civilian";
class civLoadout {};
class civMarkers {};
class demoChargeTimer {};
class freezePlayer {};
class jail {};
class jailMe {};
class knockedOut {};
class knockoutAction {};
class removeLicenses {};
class robPerson {};
class robReceive {};
class tazed {};
};
class Config {
file = "core\config";
class houseConfig {};
class itemWeight {};
class vehicleAnimate {};
class vehicleWeightCfg {};
};
class Cop {
file = "core\cop";
class bountyReceive {};
class containerInvSearch {};
class copInteractionMenu {};
class copLights {};
class copLoadout {};
class copMarkers {};
class copSearch {};
class copSiren {};
class doorAnimate {};
class fedCamDisplay {};
class licenseCheck {};
class licensesRead {};
class questionDealer {};
class radar {};
class repairDoor {};
class restrain {};
class searchClient {};
class seizeClient {};
class sirenLights {};
class spikeStripEffect {};
class ticketGive {};
class ticketPaid {};
class ticketPay {};
class ticketPrompt {};
class vehInvSearch {};
class wantedGrab {};
};
class Dialog_Controls {
file = "dialog\function";
class bankDeposit {};
class bankTransfer {};
class bankWithdraw {};
class displayHandler {};
class gangDeposit {};
class gangWithdraw {};
class garageLBChange {};
class impoundMenu {};
class progressBar {};
class safeFix {};
class safeInventory {};
class safeOpen {};
class safeTake {};
class sellGarage {};
class setMapPosition {};
class spawnConfirm {};
class spawnMenu {};
class spawnPointCfg {};
class spawnPointSelected {};
class unimpound {};
class vehicleGarage {};
class wireTransfer {};
};
class Functions {
file = "core\functions";
class AAN {};
class accType {};
class actionKeyHandler {};
class animSync {};
class calWeightDiff {};
class checkMap {};
class clearVehicleAmmo {};
class dropItems {};
class escInterupt {};
class fetchCfgDetails {};
class fetchDeadGear {};
class fetchVehInfo {};
class isDamaged {};
class giveDiff {};
class handleDamage {};
class handleInv {};
class handleItem {};
class hideObj {};
class hudSetup {};
class hudUpdate {};
class inventoryClosed {};
class inventoryOpened {};
class isUIDActive {};
class keyHandler {};
class loadDeadGear {};
class loadGear {};
class nearATM {};
class nearestDoor {};
class nearUnits {};
class numberText {};
class onFired {};
class onTakeItem {};
class playerSkins {};
class playerTags {};
class postNewsBroadcast {};
class pullOutVeh {};
class pushObject {};
class receiveItem {};
class receiveMoney {};
class revealObjects {};
class saveGear {};
class simDisable {};
class stripDownPlayer {};
class teleport {};
class whereAmI {};
class moveIn {};
class Opener {}; //Schranken öffnen
};
class Gangs {
file = "core\gangs";
class createGang {};
class gangCreated {};
class gangDisband {};
class gangDisbanded {};
class gangInvite {};
class gangInvitePlayer {};
class gangKick {};
class gangLeave {};
class gangMenu {};
class gangNewLeader {};
class gangUpgrade {};
class initGang {};
};
class Housing {
file = "core\housing";
class buyHouse {};
class buyHouseGarage {};
class containerMenu {};
class copBreakDoor {};
class copHouseOwner {};
class garageRefund {};
class getBuildingPositions {};
class houseMenu {};
class initHouses {};
class lightHouse {};
class lightHouseAction {};
class lockHouse {};
class lockupHouse {};
class placeContainer {};
class PlayerInBuilding {};
class raidHouse {};
class sellHouse {};
class sellHouseGarage {};
};
class Items {
file = "core\items";
class blastingCharge {};
class boltcutter {};
class defuseKit {};
class flashbang {};
class jerrycanRefuel {};
class jerryRefuel {};
class lockpick {};
class placestorage {};
class spikeStrip {};
class storageBox {};
};
class Medical_System {
file = "core\medical";
class deathScreen {};
class medicLights {};
class medicLoadout {};
class medicMarkers {};
class medicRequest {};
class medicSiren {};
class medicSirenLights {};
class onPlayerKilled {};
class onPlayerRespawn {};
class requestMedic {};
class respawned {};
class revived {};
class revivePlayer {};
class medInteractionMenu {};
};
class Network {
file = "core\functions\network";
class broadcast {};
class corpse {};
class jumpFnc {};
class say3D {};
class setFuel {};
class soundDevice {};
};
class Player_Menu {
file = "core\pmenu";
class cellphone {};
class giveItem {};
class giveMoney {};
class keyDrop {};
class keyGive {};
class keyMenu {};
class p_openMenu {};
class p_updateMenu {};
class pardon {};
class removeItem {};
class s_onChar {};
class s_onCheckedChange {};
class s_onSliderChange {};
class settingsMenu {};
class updateViewDistance {};
class useItem {};
class wantedAddP {};
class wantedInfo {};
class wantedList {};
class wantedMenu {};
};
class Shops {
file = "core\shops";
class 3dPreviewDisplay {};
class 3dPreviewExit {};
class 3dPreviewInit {};
class atmMenu {};
class buyClothes {};
class changeClothes {};
class chopShopMenu {};
class chopShopSelection {};
class chopShopSell {};
class clothingFilter {};
class clothingMenu {};
class fuelLBchange {};
class fuelStatOpen {};
class levelCheck {};
class vehicleShopBuy {};
class vehicleShopLBChange {};
class vehicleShopMenu {};
class virt_buy {};
class virt_menu {};
class virt_sell {};
class virt_update {};
class weaponShopAccs {};
class weaponShopBuySell {};
class weaponShopFilter {};
class weaponShopMags {};
class weaponShopMenu {};
class weaponShopSelection {};
};
class Vehicle {
file = "core\vehicle";
class addVehicle2Chain {};
class colorVehicle {};
class deviceMine {};
class FuelRefuelcar {};
class fuelStore {};
class fuelSupply {};
class lockVehicle {};
class openInventory {};
class vehiclecolor3DRefresh {};
class vehicleOwners {};
class vehicleWeight {};
class vehInventory {};
class vehStoreItem {};
class vehTakeItem {};
class vInteractionMenu {};
};
class allianceapps_idcard {
file = "core\idcard";
class idcard_NameCheck {};
class idcard {};
class idcard_Created {};
class show_idcard {};
};
};
Aber ich bekomme kein menü wenn ich auf einen Spieler gucke ! Woran kann das Liegen habe schon etliche beiträge durch.
Du musst nochmal in die fn_actionKeyHandler und dort nach life_fnc_copInteractionMenu suchen und da muss dann folgendes hin oder müsste dann so aussehen
if (isPlayer _curObject && _curObject isKindOf "Man") then {
if ((_curObject getVariable ["restrained",false]) && !dialog && playerSide isEqualTo west) then {
[_curObject] call life_fnc_copInteractionMenu;
};,
if (!dialog && playerSide isEqualTo independent) then { //<--- Einfügen
[_curObject] call life_fnc_medInteractionMenu; //<--- Einfügen
}; //<--- Einfügen
} else {
....
Alles anzeigen
Oder man macht es so
Du Holst dir mein Interaction s Menü und fügst dort nochmal alles Ein Weil dort alles mehr zusammen gefasst ist musst du aber nicht aber hier der Link
#include "..\..\script_macros.hpp"
/*
File: fn_actionKeyHandler.sqf
Author: Bryan "Tonic" Boardwine
Description:
Master action key handler, handles requests for picking up various items and
interacting with other players (Cops = Cop Menu for unrestrain,escort,stop escort, arrest (if near cop hq), etc).
*/
private ["_curObject","_isWater","_CrateModelNames","_crate","_fish","_animal","_whatIsIt","_handle"];
_curObject = cursorObject;
if (life_action_inUse) exitWith {}; //Action is in use, exit to prevent spamming.
if (life_interrupted) exitWith {life_interrupted = false;};
_isWater = surfaceIsWater (visiblePositionASL player);
if (isPlayer _curObject && _curObject isKindOf "Man") then {
if ((_curObject getVariable ["restrained",false]) && !dialog && playerSide isEqualTo west) then {
[_curObject] call life_fnc_copInteractionMenu;
};,
if (!dialog && playerSide isEqualTo independent) then { //<--- Einfügen
[_curObject] call life_fnc_medInteractionMenu; //<--- Einfügen
}; //<--- Einfügen
} else {
if (LIFE_SETTINGS(getNumber,"global_ATM") isEqualTo 1) then{
//Check if the player is near an ATM.
if ((call life_fnc_nearATM) && {!dialog}) exitWith {
[] call life_fnc_atmMenu;
};
};
if (isNull _curObject) exitWith {
if (_isWater) then {
_fish = (nearestObjects[player,(LIFE_SETTINGS(getArray,"animaltypes_fish")),3]) select 0;
if (!isNil "_fish") then {
if (!alive _fish) then {
[_fish] call life_fnc_catchFish;
};
};
} else {
_animal = (nearestObjects[player,(LIFE_SETTINGS(getArray,"animaltypes_hunting")),3]) select 0;
if (!isNil "_animal") then {
if (!alive _animal) then {
[_animal] call life_fnc_gutAnimal;
};
} else {
private "_handle";
if (playerSide isEqualTo civilian && !life_action_gathering) then {
_whatIsIt = [] call life_fnc_whereAmI;
if (life_action_gathering) exitWith {}; //Action is in use, exit to prevent spamming.
switch (_whatIsIt) do {
case "mine" : { _handle = [] spawn life_fnc_mine };
default { _handle = [] spawn life_fnc_gather };
};
life_action_gathering = true;
waitUntil {scriptDone _handle};
life_action_gathering = false;
};
};
};
};
if ((_curObject isKindOf "B_supplyCrate_F" _curObject isKindOf "Box_IND_Grenades_F") && {player distance _curObject < 3} ) exitWith {
if (alive _curObject) then {
[_curObject] call life_fnc_containerMenu;
};
};
private _vaultHouse = [[["Altis", "Land_Research_house_V1_F"], ["Tanoa", "Land_Medevac_house_V1_F"]]] call TON_fnc_terrainSort;
private _altisArray = [16019.5,16952.9,0];
private _tanoaArray = [11074.2,11501.5,0.00137329];
private _pos = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort;
if (_curObject isKindOf "House_F" && {player distance _curObject < 12} ((nearestObject [_pos,"Land_Dome_Big_F"]) isEqualTo _curObject (nearestObject [_pos,_vaultHouse]) isEqualTo _curObject)) exitWith {
[_curObject] call life_fnc_houseMenu;
};
if (dialog) exitWith {}; //Don't bother when a dialog is open.
if !(isNull objectParent player) exitWith {}; //He's in a vehicle, cancel!
life_action_inUse = true;
//Temp fail safe.
[] spawn {
sleep 60;
life_action_inUse = false;
};
//Check if it's a dead body.
if (_curObject isKindOf "CAManBase" && {!alive _curObject}) exitWith {
//Hotfix code by ins0
if ((playerSide isEqualTo west && {(LIFE_SETTINGS(getNumber,"revive_cops") isEqualTo 1)}) {(playerSide isEqualTo civilian && {(LIFE_SETTINGS(getNumber,"revive_civ") isEqualTo 1)})} {(playerSide isEqualTo east && {(LIFE_SETTINGS(getNumber,"revive_east") isEqualTo 1)})} {playerSide isEqualTo independent}) then {
if (life_inv_defibrillator > 0) then {
[_curObject] call life_fnc_revivePlayer;
};
};
};
//If target is a player then check if we can use the cop menu.
if (isPlayer _curObject && _curObject isKindOf "Man") then {
if (!dialog && playerSide isEqualTo west) then {
[_curObject] call life_fnc_copInteractionMenu;
};
} else {
//OK, it wasn't a player so what is it?
private ["_isVehicle","_miscItems","_money","_list"];
_list = ["landVehicle","Ship","Air"];
_isVehicle = if (KINDOF_ARRAY(_curObject,_list)) then {true} else {false};
_miscItems = ["Land_BottlePlastic_V1_F","Land_TacticalBacon_F","Land_Can_V3_F","Land_CanisterFuel_F","Land_Suitcase_F"];
//It's a vehicle! open the vehicle interaction key!
if (_isVehicle) then {
if (!dialog) then {
if (player distance _curObject < ((boundingBox _curObject select 1) select 0)+2 && (!(player getVariable ["restrained",false])) && (!(player getVariable ["playerSurrender",false])) && !life_isknocked && !life_istazed) then {
[_curObject] call life_fnc_vInteractionMenu;
};
};
} else {
//OK, it wasn't a vehicle so let's see what else it could be?
if ((typeOf _curObject) in _miscItems) then {
[_curObject,player,false] remoteExecCall ["TON_fnc_pickupAction",RSERV];
} else {
//It wasn't a misc item so is it money?
if ((typeOf _curObject) isEqualTo "Land_Money_F" && {!(_curObject getVariable ["inUse",false])}) then {
[_curObject,player,true] remoteExecCall ["TON_fnc_pickupAction",RSERV];
};
};
};
};
So ?
Ne dort unten in der Original Datei die Zeile 94 - 97
Interaction Menu by Deathman
Das habe ich jz mal eingefügt
Der Aufbau jedes Buttons dort ist sehr simpel und einfach ich denke mal das ist leicht zu durchschauen