Guten Morgen erstmal,
dies ist mein erstes Tutorial also seid gnädig...
Script: Custom GangTags/CopTags/MedicTags
Version: Altis Life 5.0
Schiwerigkeitsgrad: Fortgeschrittener (mittel) - ein gewisses Scriptverständnis wird zum Bearbeiten vorausgesetzt!
Funktionen:
~ Individueller Gang Tag
~ Bearbeitbarer Cop Tag
~ Bearbeitbarer Medic Tag
Rechtliche Hinweise (Copyright):
Dieses Script/Tutorial basiert auf dem Script von moeck .
Ich untersage dennoch die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren.
Dann fangen wir mal an mit dem Kram...
!!!WICHTIG!!!
macht Backups
kein Scheiss, macht Backups.
Anleitung:
Beginnen wir mit der Missionsdatei:
- Lege die Datei fn_nameTag.sqfim Ordner core/functions an.
Code
#include "..\..\script_macros.hpp"
/*
File: fn_nameTag.sqf
Author: moeck
Description:
Sets alternate Names
*/
params ["_unit", ObjNull, [ObjNull]];
if (isNUll _unit) then {_unit = player};
private _nameTag = "";
private _newName = "";
call {
//Cops
if (side _unit isEqualTo west) exitWith {
if (license_cop_chief) exitWith {"[Chief]"};
//Die Reihenfolge musst Du selber festlegen welche Lizenz angezeigt werden soll!
if (license_cop_statepolice) exitWith {_nameTag = format ["[SP-%1]",FETCH_CONST(life_coplevel)]};
if (license_cop_police) exitWith {_nameTag = format ["[PD-%1]",FETCH_CONST(life_coplevel)]};
};
//Medics
if (side _unit isEqualTo independent) exitWith {
//Die Reihenfolge musst Du selber festlegen welche Lizenz angezeigt werden soll!
if (((FETCH_CONST(life_medicLevel)) >= 1) && ((FETCH_CONST(life_medicLevel)) < 9)) exitWith {_nameTag = format ["[ADAC-%1]",(FETCH_CONST(life_medicLevel))]};
if ((FETCH_CONST(life_medicLevel)) >= 9) exitWith {_nameTag = format ["[Feuerwehr-%1]",(FETCH_CONST(life_medicLevel))]};
};
if (side _unit isEqualTo civilian) exitWith {
if (count life_gangData isEqualTo 0) exitWith {_nameTag = ""};
_nameTag = format ["%1",(life_gangData select 6)];
};
};
if !(_nameTag isEqualTo "") then {
_newName = format ["%1 %2",_nameTag,(name _unit)];
} else {
_newName = (name _unit);
};
_unit setVariable ["realname",_newName,true];
Alles anzeigen
- Ein Neuer Datenbank Eintrag muss nun getätigt werden
Nun gehen wir kurz in den life_server
- Dort öffnet ihr die Datei fn_insertGang.sqf und ersetzt die Datei mit dem hier
Code
#include "\life_server\script_macros.hpp"
/*
File: fn_insertGang.sqf
Author: Bryan "Tonic" Boardwine
modified: moeck
Description:
Inserts the gang into the database. Including now clantags (moeck)
*/
private ["_query","_queryResult","_gangMembers","_group"];
params [
["_ownerID",objNull,[objNull]],
["_uid","",[""]],
["_gangName","",[""]],
["_gangTag","",[""]]
];
_group = group _ownerID;
if (isNull _ownerID || _uid isEqualTo "" || _gangName isEqualTo "" || _gangTag isEqualTo "") exitWith {}; //Fail
_ownerID = owner _ownerID;
_gangName = [_gangName] call DB_fnc_mresString;
_gangTag = [_gangTag] call DB_fnc_mresString;
_query = format ["SELECT id FROM gangs WHERE (name='%1' or gangtag = '%2') AND active='1'",_gangName,_gangTag];
_queryResult = [_query,2] call DB_fnc_asyncCall;
//Check to see if the gang name already exists.
if (!(count _queryResult isEqualTo 0)) exitWith {
[1,"There is already a gang created with that name or gang tag please pick another name or clantag."] remoteExecCall ["life_fnc_broadcast",_ownerID];
life_action_gangInUse = nil;
_ownerID publicVariableClient "life_action_gangInUse";
};
_query = format ["SELECT id FROM gangs WHERE members LIKE '%2%1%2' AND active='1'",_uid,"%"];
_queryResult = [_query,2] call DB_fnc_asyncCall;
//Check to see if this person already owns or belongs to a gang.
if (!(count _queryResult isEqualTo 0)) exitWith {
[1,"You are currently already active in a gang, please leave the gang first."] remoteExecCall ["life_fnc_broadcast",_ownerID];
life_action_gangInUse = nil;
_ownerID publicVariableClient "life_action_gangInUse";
};
//Check to see if a gang with that name already exists but is inactive.
_query = format ["SELECT id, active FROM gangs WHERE (name='%1' or gangtag = '%2') AND active='0'",_gangName,_gangTag];
_queryResult = [_query,2] call DB_fnc_asyncCall;
_gangMembers = [[_uid]] call DB_fnc_mresArray;
if (!(count _queryResult isEqualTo 0)) then {
_query = format ["UPDATE gangs SET active='1', owner='%1',members='%2', name='%4', gangtag='%5' WHERE id='%3'",_uid,_gangMembers,(_queryResult select 0),_gangName,_gangTag];
} else {
_query = format ["INSERT INTO gangs (owner, name, members, gangtag) VALUES('%1','%2','%3','%4')",_uid,_gangName,_gangMembers,_gangTag];
};
_queryResult = [_query,1] call DB_fnc_asyncCall;
_group setVariable ["gang_name",_gangName,true];
_group setVariable ["gang_owner",_uid,true];
_group setVariable ["gang_bank",0,true];
_group setVariable ["gang_maxMembers",8,true];
_group setVariable ["gang_members",[_uid],true];
_group setVariable ["gang_tag",_gangTag,true];
[_group] remoteExecCall ["life_fnc_gangCreated",_ownerID];
uiSleep 0.35;
_query = format ["SELECT id FROM gangs WHERE owner='%1' AND active='1'",_uid];
_queryResult = [_query,2] call DB_fnc_asyncCall;
_group setVariable ["gang_id",(_queryResult select 0),true];
Alles anzeigen