Plot Pole mit Spieler Id verknüpfen


  • klar geht das, einfach PlayerID mit PlayerUID ersetzen in den ein oder zwei dateien wo des war ^^ sollte auch fürn laien in 10min erledigt sein. einfach mal fix suchen, sonst guck ich nachher mal ob ich sowas noch finde wo es genau drin war.


    Danke für den Tipp! Werd das mal an unseren Chef-Admin weitergeben. Falls du noch was findest wäre ich dir sehr dankbar aber vielleicht bekommt der das auch so schon hin.

  • !!!BITTE neuen Beitrag anschauen. die Codes hier sind buggy!!!


    in der player_build.sqf zeile 155
    musst du

    Code
    // Find owner	_ownerID = _nearestPole getVariable["CharacterID","0"];mit der zeile austauschen.// Find owner	_ownerID = _nearestPole getVariable["PlayerUID","0"];


    ich weiss aber nicht ob das dann mit den freunden des spielers so hinhaut
    wen nicht musst du in der gleichen datei zeile 160 noch was ändern.

    Code
    // check if friendly to owner	if(dayz_characterID == _ownerID) then {  //Keep ownership






    in der datei player_buildDowngrade.sqf zeile 38 das gleiche spiel

    Code
    // Find owner	_ownerID = _nearestPole getVariable["CharacterID","0"];mit der zeile austauschen.// Find owner	_ownerID = _nearestPole getVariable["PlayerUID","0"];


    und auch hier wegen freunde zeile 43 anschauen

    Code
    // check if friendly to owner	if(dayz_characterID == _ownerID) then {  //Keep ownership






    dann in der datei player_upgrade.sqf zeile 39/44 das geliche spiel mit austauschen und wegen freunde schauen.







    in der remove.sqf datei ist es jetzt ein wenig anderst , zeile 17 bleibt wie in den anderen dateien , einfach austauschen.

    Code
    _ownerID = _nearestPole getVariable["CharacterID","0"];mit der zeile austauschen._ownerID = _nearestPole getVariable["PlayerUID","0"];


    zeile 17 ist jetzt die sache wo ich nicht weiss ob du es so lassen kannst oder auch austauschen musst

    Code
    _isOwnerOfObj = (_objOwnerID == dayz_characterID);


    dann in der zeile 59/62 das gleiche spiel mit find owner und freunden.





    das sollte es dann gewesen sein , feedback wäre nett, vorallem ob du bei den freunden was ändern musstest.




    !!!BITTE neuen Beitrag anschauen. die Codes hier sind buggy!!!

    Einmal editiert, zuletzt von Warsheep ()

  • Mensch, jmd der sich noch die Mühe macht.... ^^


    Das mit den Freunden taggen etc wird dann nicht mehr funktionieren auf die Schnelle.


    Beim taggen setzt er die CharacterID in die DB, beim bauen dann die PlayerUID des Besitzers, der Vergleich ob dann beide übereinstimmen kann dann natürlich nicht funktionieren.
    Praktisch müsst ihr also das TagFriendly auch auf PlayerUID umschreiben damit das "zusammen bauen" des TagFriendly auch weiterhin geht.


  • Mensch, jmd der sich noch die Mühe macht.... ^^


    wollte das auch schon lange bei mir mal machen ^^



    habe es mir gerade nochmal angeschaut und es funktioniert so wie ich es in den verherigen beitrag geschrieben habe nicht, mann muss doch ein wenig mehr ändern


    jeweils in den dateien/zeile(beginn) den code austauschen (syntax bitte beachten)
    player_build.sqf/154
    player_buildingDowngrade.sqf/37
    player_upgrade.sqf/38
    player_remove.sqf/59

    Code
    // Find owner	_ownerID = _nearestPole getVariable["CharacterID","0"]; 	_ownerUID = _nearestPole getVariable["PlayerUID","0"];	// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];	// diag_log format["DEBUG BUILDING: %1 = %2", dayz_playerUID, _ownerUID];	// check if friendly to owner	if(dayz_playerUID == _ownerUID) then {  //Keep ownership		// owner can build anything within his plot except other plots		if(!_isPole) then {			_canBuildOnPlot = true;		};	} else {		// disallow building plot		if(!_isPole) then {			_friendlies		= player getVariable ["friendlyTo",[]];			// check if friendly to owner			if(_ownerID in _friendlies) then {				_canBuildOnPlot = true;			};		};	};


    so sollte es dann funktionieren, freunde werden weiterhin mit der ID verbunden , doch die plot wird mit der UID des owners verglichen, danke starfish für den hinweis.


    und in der remove.sqf/17 und 18
    mit den code austauschen.

    Code
    _objOwnerID = _obj getVariable["CharacterID","0"];
    _objOwnerUID = _obj getVariable["PlayerUID","0"];
    _isOwnerOfObj = (_objOwnerUID == dayz_playerUID);


    hier habe ich die objOwnerID behalten fals die irgendwoanderst noch genutz wird.
    den vergleich mit ownerofobject habe ich mit der uid verknüpft.




    damit sollte dann alles funktionieren.

    Einmal editiert, zuletzt von Warsheep ()