Es hat Funktioniert.
Danke Henne und blackfisch
Es hat Funktioniert.
Danke Henne und blackfisch
Blackfisch meint z.B. sowas:
Codeprivate _miner = createVehicle [_x select 2,[0,0,999],[],0,"NONE"]; [_miner, ["Bitcoin Farm", digi_bitcoin_fnc_open_miner, _miner, 0, false, false, "", 'player distance _target < 4']] remoteExecCall ["addAction", -2, _miner]
JIP steht dafür, ob dies für nachjoinende Spieler auch ausgeführt wird.
aso ok. Wieder was neues gelernt
ich glaube ich denke nicht richtig.
kann mir das evtl jemand erklären wo ich was mache muss. Also ich glaube ich weiß es nur iwi komm ich nicht drauf xD
ok jetzt bin ich überfragt XD
JIP Flag?
also wenn ich das richtig verstehe in den bereich wo die spawnen eine remoteexec einbauen zu einer datei die, die addaction bestimmt oder iwe?
Alles anzeigenSehe ich das richtig, dass du das platzieren "doppelt" geschrieben hast?
Einmal für das "frische" platzieren und einmal wenn der Server gestartet wird?Dein addAction sieht zumindest richtig aus.
Gibt es einen Unterschied zwischen dem "frischen" platzieren und wenn der Server gestartet wird?
Anmerkung:
Dies waitUntil {!isNil "_miner" && {!isNull _miner}}; kannst du weglassen, da die Variable sofort gesetzt ist.
Was dein Positionsfix bewirken soll, interessiert mich sehr. Das kannst du normal weglassen.
Was meinst du mit unterschied? Wenn man das frisch plaziert wird auch über ein script die addaction rein gepackt nur wenn ich genau diesen schritt beim server start mache passiert nix. mit dem positons fix ist weil das imgrunde das selbe ist wie beim conatiner ich habe mehr oder weniger den bereich wo halt die container abgefragt werden und plaziert werden kopiert und halt für mein system abgeändert
edit: und wie man sieht ist da eine addaction die useless ist das ist weil ich damit getestet habe ob es evtl an meiner addaction liegt da dort ein fehler ist aber die gehen beide nicht
Guten Tag NN-Community,
ich schreibe seit einigen wochen ein bitcoin system welches dem spieler ermöglicht bitcoins zu farmen.
nun bin ich an dem schritt angekommen das die bitcoin miner in den häusern gespawnt werden nach dem restart so wie die container.
Ich habe das wie folgt gelösst:
////////BitcoinMiner/////////////
_query = format ["SELECT pid, pos, classname, dir, id FROM bitcoinminer WHERE pid='%1' AND owned='1'",_uid];
_miners = [_query,2,true] call DB_fnc_asyncCall;
_minerss = [];
{
_position = call compile format ["%1",_x select 1];
_house = nearestObject [_position, "House"];
_direction = call compile format ["%1",_x select 3];
_miner = createVehicle[_x select 2,[0,0,999],[],0,"NONE"];
waitUntil {!isNil "_miner" && {!isNull _miner}};
_minerss = _house getVariable ["miners",[]];
_minerss pushBack _miner;
_miner allowDamage false;
_miner enableRopeAttach false;
_miner setPosATL _position;
_miner setVectorDirAndUp _direction;
//Fix position for more accurate positioning
_posX = _position select 0;
_posY = _position select 1;
_posZ = _position select 2;
_currentPos = getPosATL _miner;
_fixX = (_currentPos select 0) - _posX;
_fixY = (_currentPos select 1) - _posY;
_fixZ = (_currentPos select 2) - _posZ;
_miner setPosATL [(_posX - _fixX), (_posY - _fixY), (_posZ - _fixZ)];
_miner setVectorDirAndUp _direction;
_miner setVariable ["miner_owner",[_x select 0],true];
_miner setVariable ["miner_id",_x select 4,true];
clearWeaponCargoGlobal _miner;
clearItemCargoGlobal _miner;
clearMagazineCargoGlobal _miner;
clearBackpackCargoGlobal _miner;
_miner addAction ["<t color='#FF0000'>This Useless Action Is RED</t>", {hint "RED"}];
_house setVariable ["miners",_minerss,true];
_miner addaction ["Bitcoin Farm",digi_bitcoin_fnc_open_miner,_miner,0,false,false,"",' player distance _target < 4'];
} forEach _miners;
/////////////////////////////////
Alles anzeigen
das ganze funktioniert auch.
Mein problem ist nur das wenn ich die frisch plaziere haben diese die ein action übers scroll rad nur nach dem restart wenn sie da stehen nicht mehr.
Hat jemand eine ahnung wie ich da wieder die action rein kriege
ich habe es in der oben gezeigten datei schon probiert wie man sieht aber es funktioniert nicht.
Hoffe mir kann da jemand helfen
ich erhalte diesen fehler:
1:02:15 Error in expression <p 0 do {
private _times = realTimeSippe select 1;
private _Stunde = _times selec>
1:02:15 Error position: <select 1;
private _Stunde = _times selec>
1:02:15 Error Generic error in expression
1:02:15 File \life_server\Functions\Systems\fn_restart.sqf [TON_fnc_restart]..., line 44
ok vergiss es ich bin einfach zu müde hat sich erledigt
ok keine ahnung ob ich gerade dumm bin oder so aber ich habe ein object auf der karte stehen. Dieses hat allerdings keine variable weil es später über ein script gespawnt werden soll. und es ja immer nur eine variable in objecten einmal geben darf. Wie attach ich das dann?
Versuch mal das
Code Alles anzeigen/* Author: Joe Barbaro Description: Bitcoin Update */ private _uid = _this select 0; private _BC = _this select 1; _query = format ["SELECT bitcoin FROM players WHERE pid='%1'",_uid]; _queryResult = [_query,2] call DB_fnc_asyncCall; [_queryResult] remoteExec ["digi_bitcoin_fnc_checkbitcoin",remoteExecutedOwner]; private _SELBC = (_queryResult select 0) private _SELBC = _SELBC + _BC; _query = format ["UPDATE players SET bitcoin='%1' WHERE pid='%2'",_SELBC,_uid]; [_query,1] call DB_fnc_asyncCall;
Bei
private _SELBC = (_queryResult select 0); hat das ; gefhelt.
er zeigt mir nun wieder wie viele ich habe aber er updatet sie trz nicht.
edit: Wenn ich statt _SELBC + _BC;
_SELBC + 2; mach funktioniert es.
Ich schätze also mal das _BC iwi nicht richtig definiert werden kann weiß jemand wie ich das am besten mache?
Hallo,
ich versuche gerade über ein script eine aktivierte smoke an ein oject zu heften leider funktioniert das nicht da ich zwar ne smoke spawnen kann und an das object heften kann aber diese nich auslösen kann.
Hat jemand eine ahnung wie man das am besten machen kann?
wie meinst du?
kenne mich leider mit den db sachen nicht so gut aus
also ich glaub ich habs gerade so mit logisch denken xD
also ich lasse jetzt wenn ich die bitcoins abholen die fn_requestbitcoin.sqf ber remoteexec aufrufen:
[_PID] remoteExec ["DB_fnc_requestbitcoin",2];
Die datei sieht so aus:
/*
Author: Joe Barbaro
Description: Bitcoin Update
*/
private _uid = _this select 0;
private _BC = _this select 1;
_query = format ["SELECT bitcoin FROM players WHERE pid='%1'",_uid];
_queryResult = [_query,2] call DB_fnc_asyncCall;
[_queryResult] remoteExec ["digi_bitcoin_fnc_checkbitcoin",remoteExecutedOwner];
private _SELBC = (_queryResult select 0)
private _SELBC = _SELBC + _BC;
_query = format ["UPDATE players SET bitcoin='%1' WHERE pid='%2'",_SELBC,_uid];
[_query,1] call DB_fnc_asyncCall;
Alles anzeigen
in der db updatet sich aber nichts
also mit dem selectieren krieg ich hin:
_uid = [_this,0,"",[""]] call BIS_fnc_param;
_query = format ["SELECT bitcoin FROM players WHERE pid='%1'",_uid];
_queryResult = [_query,2] call DB_fnc_asyncCall;
[_queryResult] remoteExec ["digi_bitcoin_fnc_checkbitcoin",remoteExecutedOwner];
nur dann beim addieren und updaten harkt es dann:
Joe Barbaro weißt du wie ich den int in der DB update? also das jedemal wenn ich die bitcoins abhole diese zu meinen aktuellen in der DB dazugepackt werden?
Ich habs hiermit versucht aber es ging nicht:
ok ich bin bisschen dumm gewesen ich habe mir den extdb angeschaut und da ist mir auf gefallen das ich einfach einen schreibfehler in der bd hatte wesshalb es nicht ging
"extDB3: Protocol Error: [0,""Error MariaDBQueryException Exception""]"
ich glaub ich hab einen fehler gemacht
params [
["_pid","",[""]]
];
_query = format ["SELECT pid, bitcoin FROM players WHERE pid='%1'",_pid];
_queryResult = [_query,2] call DB_fnc_asyncCall;
[_queryResult] remoteExec ["digi_bitcoin_fnc_checkbitcoin",remoteExecutedOwner];
DB:
edit:
ingame kriege ich die meldung: "Bitcoins = []"
oh sry dachte ich wäre noch in meinem post von vorhin sry xD