einfach ne abrfrage
if(!(getPlayerUID isEqualTo "3261735235721")) exitWith {hint "Du bist Kein Admin"};
must halt nur deine Player ID eingeben
Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.
einfach ne abrfrage
if(!(getPlayerUID isEqualTo "3261735235721")) exitWith {hint "Du bist Kein Admin"};
must halt nur deine Player ID eingeben
In der Config_Garages.hpp
garageSpawnPos[] = {-11.5,0,0}; anpassen
Da Gebe ich auch gerne mal mein Senf dazu bis auf Kleinigkeiten kann ich bzw wir vom Server nicht über Webtropia Meckern
sie haben uns fast immer schnell Geholfen ect Doch leider ist deren DDOS Schutz nicht wirklich zu gebrauchen wenn sie etwas stärker werden
Jetzt noch ein Kleines Beispiel was aber auch unser Fehler war xD
TS etwa 300 man drauf Ich verklicke mich und Move alle in einen Raum xD
Das ganze wurde von ihrem system als Ausgehnder DDOS erkannt und die Anbindung vom Server wurde Gedroselt
da war es sehr Schade das Keine Info ect dadrüber kam und erst nach nachfragen ob den etwas nicht stimmt den die Anbindung war danach echt lahm wurde das enfernt
Ansosnten kann man Sagen für die Preise ist das OK
Installier dir Infistar als Cheatschutz auf deinem Server und die Spieler haben keine Möglichkeit auf den Server zu connecten!
Dazu kann ich nur Sagen habe vor einiger zeit auch mal einem Server Gezeigt das Infistart müll nix bringt konnte an den Mods rumbasteln und mir dadruch Geld/Waffen/Panzer ect beschafen ohne das Infiemüll was gemacht hat
Das wichtigste ist weirklich immer verifySignatures
nein nur den PBO namen
jain du must den PBO namen angeben das würde so aussehn
habe eine PBO die heist RL_Sounds
dan währe der pfad
@RL_Sounds\tazer.ogg
du musst halt den pfad in der Discripten nur ändere und die Sounds in eine PBO Packern fertig
nein das musst du manuel machen
ok dan ersetze
überall
SUB(life_cash,wert)
durch
life_cash = life_cash - wert
RPTLog bitte bzw sonst Fehler zu merken ?
womit hast du die pbo gepackt ?
dan lese dir das mal durch
das von dir gesuchte sind globale Variablen die auf true bzw fals stehen
in datei x wird z.b. life_action_inUse = true gesetezt
und wen du jetzt z.b. ein anderes script aufrufst und fragst ob life_action_inUse auf fals oder true steht
Ja ist möglich
naja in der 5.0 würde ich es so umsetzen
fn_gather.sqf
#include "..\..\script_macros.hpp"
/*
File: fn_gather.sqf
Author: Devilfloh
Description:
Main functionality for gathering.
*/
private ["_maxGather","_resource","_amount","_maxGather","_requiredItem"];
if (life_action_inUse) exitWith {};
if !(isNull objectParent player) exitWith {};
if (player getVariable "restrained") exitWith {hint localize "STR_NOTF_isrestrained";};
if (player getVariable "playerSurrender") exitWith {hint localize "STR_NOTF_surrender";};
life_action_inUse = true;
_zone = "";
_requiredItem = "";
_exit = false;
_resourceCfg = missionConfigFile >> "CfgGather" >> "Resources";
for "_i" from 0 to count(_resourceCfg)-1 do {
_curConfig = _resourceCfg select _i;
_resource = configName _curConfig;
_maxGather = getNumber(_curConfig >> "amount");
_zoneSize = getNumber(_curConfig >> "zoneSize");
_resourceZones = getArray(_curConfig >> "zones");
_requiredItem = getText(_curConfig >> "item");
_randomItem = getArray(_curConfig >> "Random");
{
if ((player distance (getMarkerPos _x)) < _zoneSize) exitWith {_zone = _x;};
} forEach _resourceZones;
if (_zone != "") exitWith {};
};
if (_zone isEqualTo "") exitWith {life_action_inUse = false;};
if (_requiredItem != "") then {
_valItem = missionNamespace getVariable "life_inv_" + _requiredItem;
if (_valItem < 1) exitWith {
switch (_requiredItem) do {
//Messages here
};
life_action_inUse = false;
_exit = true;
};
};
if (_exit) exitWith {life_action_inUse = false;};
_amount = round(random(_maxGather)) + 1;
_diff = [_resource,_amount,life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff;
if (_diff isEqualTo 0) exitWith {
hint localize "STR_NOTF_InvFull";
life_action_inUse = false;
};
switch (_requiredItem) do {
case "pickaxe": {player say3D "mining";};
default {player say3D "harvest";};
};
for "_i" from 0 to 4 do {
player playMoveNow "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";
waitUntil{animationState player != "AinvPercMstpSnonWnonDnon_Putdown_AmovPercMstpSnonWnonDnon";};
sleep 0.5;
};
_dice = random(100);
if(_dice < 80) then {
if ([true,_resource,_diff] call life_fnc_handleInv) then {
_itemName = M_CONFIG(getText,"VirtualItems",_resource,"displayName");
titleText[format [localize "STR_NOTF_Gather_Success",(localize _itemName),_diff],"PLAIN"];
};
}else{
_radom = random _randomItem;
if ([true,_random,_diff] call life_fnc_handleInv) then {
_itemName = M_CONFIG(getText,"VirtualItems",_resource,"displayName");
titleText[format [localize "STR_NOTF_Gather_Success",(localize _itemName),_diff],"PLAIN"];
};
sleep 1;
life_action_inUse = false;
Alles anzeigen
und in der Config_Gather.hpp
einafch bei den sachen
Random[] = {"apple","peach"};
z.b.
class apple {
amount = 5;
zones[] = { "apple_1", "apple_2", "apple_3", "apple_4" };
item = "";
zoneSize = 30;
Random[] = {"sand","peach"};
};
so ist es eine 20% chanche das er beim apfel farmen auf einmal eins der eingetragenen sachen bekommt im Beispiel sand oder Pfrisich
wie macht man das?
in diefn_InventoryOpened.sqf folgende rein
und in die fn_InventoryClosed.sqf
[steamid,playerSide,life_gear,3] remoteExecCall ["DB_fnc_updatePartial",RSERV];
Bin mir aber nicht Sicher ob du es so in die Gather bekommst.
warum nicht doch ist halt machbar aber nicht unbedinkt so leicht wenn man es richtig haben möchte das z.b. bei Äpfel auch ein verdorbener apflel kommt und nich nur von einer vorgegenen liste random egal wo man ist was kommt
das macht kein Unterschied außer das man das untere besser lesen kann