Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2019-07-27, 13:51


Quin







Wiek: 25
Na forum: 4537 dni
Posty: 79

Piwa: 3

Respekt: 38

Siemka, mam problem z przerobieniem skryptu ?eby nie dzia?a? on na zasadzie komendy tylko eventu.

Funkcja kt?ra ma triggerowa? event odpowiedzialny za spawn drona:


function setDrone2 (itemName)
    setElementData(source,itemName,getElementData(source,itemName)-1)
    triggerEvent("startspawndrone",source)
    triggerClientEvent(source,"refreshInventoryManual",source)
end
addEvent("SetDrone2",true)
addEventHandler("SetDrone2",getRootElement(),setDrone2)


drone_server:

Originalna funkcja


addCommandHandler ("drone",
    function (playercmd, ...)
        local id arg[1] or 501;
        if tonumber (idthen 
            id=tonumber(id);
            if valid_models[idthen 
                startDrone (playerid);
            else
                errMsg (msg.INVALID_IDplayer);
            end
        else
            errMsg (msg.INVALID_IDplayer);
        end
    end
);    


Moja funkcja:

addEvent "startspawndrone"true );

addEventHandler "startspawndrone"root,
    function (player, ...)
        local id arg[1] or 501;
        if tonumber (idthen 
            id=tonumber(id);
            if valid_models[idthen 
                startDrone (playerid);
            else
                errMsg (msg.INVALID_IDplayer);
            end
        else
            errMsg (msg.INVALID_IDplayer);
        end
    end
);    


Funkcja odpowiadaj?ca za start drona:


function startDrone(playerid)
    if players[playerthen 
        errMsg (msg.ALREADY_HAS_DRONE:format("droned"), player);
        return;
    end    
    if getElementData player"Dron" ) >= 1 then
    players[player] = {};
    local x,y,getElementPosition(player)
    local drone createVehicle(501x+1.5y+1.5z)
    local ped createPed(180x+1.5y+1.5z)
    players[player].drone drone;
    players[player].ped ped
    setElementAlpha(ped0)
    warpPedIntoVehicle(peddrone)
    giveWeapon(player401true)
    triggerClientEvent(player"drone.start"resourceRootdroneped)
    setPedAnimation(player"CAMERA""camstnd_lkabt",-1falsefalsefalsetrue)
    toggleAllControls (playerfalsetruefalse);
    addEventHandler ("onVehicleExplode"drone, function () stopDrone(playerend);    
    addEventHandler ("onElementDestroy"drone, function () stopDrone(playerend);
end
end


B??d z db3:

Kod:


[2019-07-27 13] WARNING: [DayZ]\DayZ\dron\drone_server.lua:41: Bad argument @ 'getElementData' [Expected element at argument 1, got nil]
[2019-07-27 13] ERROR: [DayZ]\DayZ\dron\drone_server.lua:41: attempt to compare number with boolean


Postaw piwo autorowi tego posta
 

 
Tagi: dron :: przerobienie :: commandhandlera :: eventhandlera
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Dron - przerobienie commandhandlera na eventhandlera Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku