Wszystko Do Twojego Ots'a :)
Witam.
Kiedyś gdy zaczynałem bawić się (bo nic innego nie umiałem) ots'ami w mej głowie pojawił się pomysł zrobienia skryptu na krzesło elektryczne...
Ostatnio postanowiłem zrobić ots (tym razem rpg), niestety projekt ten raczej nie wypali... Jednak zrobiłem kilka skryptów i postanowiłem dodać najciekawszy z nich - krzesło elektryczne.
Na początek będzie potrzebna nam taka sala:
Następnie tworzymy w ots\data\actions\scripts plik krzeslo.lua i wklejamy do niego następujący tekst:
-- Krzeslo elektryczne zrobione przez Smoczek Leon -- -- Electric chair by Smoczek Leon -- function onUse(cid, item, frompos, item2, topos) if item.uid == 7666 and item.itemid == 1945 then player1pos = {x=330, y=355, z=12, stackpos=253} -- pozycja krzesla player1 = getThingfromPos(player1pos) if player1.itemid > 0 then player1heal = getPlayerHealth(player1.uid) player1mana = getPlayerMana(player1.uid) smierc = (player1mana) + (player1heal) skazany = getPlayerName(player1.uid) doPlayerAddHealth(player1.uid,-smierc) doSendMagicEffect(player1pos,11) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Nie ma kogo zabic :(") end elseif item.uid == 7666 and item.itemid == 1946 then cialopos = {x=330, y=355, z=12, stackpos=2} -- pozycja krzesla - nie zmieniaj czerwonego! cialo = getThingfromPos(cialopos) cialo2pos = {x=330, y=355, z=12, stackpos=1} -- pozycja krzesla - nie zmieniaj czerwonego! cialo2 = getThingfromPos(cialo2pos) newpos = {x=332, y=355, z=12} -- pozycja ciala po przeniesieniu doRemoveItem(cialo2.uid,1) doTeleportThing(cialo.uid,newpos) doTransformItem(item.uid,item.itemid-1) else return 0 end return 1 end
i dodajemy linijkę w actions.xml :
<action uniqueid="7666" script="krzeslo.lua" />
A teraz skrypt wysyłający osoba na krzesło.
ots\data\talkactions\scripts execution.lua
-- Krzeslo elektryczne zrobione przez Smoczek Leon -- -- Electric chair by Smoczek Leon -- function onSay(cid, words, param) skazany = getPlayerByName(param) krzeslo = {x=330, y=355, z=12} if getPlayerAccess(cid) >= 1 then if isPlayer(skazany) == 1 then if words == "execution" then doTeleportThing(skazany, krzeslo) mayNotLogout(skazany, 10) doPlayerSay(cid, "Player "..param.." condemn to electric chair", 9) end else doPlayerSendCancel(cid,"Player is not online.") end end end
UWAGA!!! opcja mayNotLogout która nie pozwala się wylogować skazanemu jest tylko na devlandzie! Jeśli używasz innego silnika wklej ten skrypt:
-- Krzeslo elektryczne zrobione przez Smoczek Leon -- -- Electric chair by Smoczek Leon -- local condition = createConditionObject(COMBAT_ENERGYDAMAGE) addDamageCondition(condition, 20000, 3000, -0) function onSay(cid, words, param) skazany = getPlayerByName(param) krzeslo = {x=330, y=355, z=12} if getPlayerAccess(cid) >= 1 then if isPlayer(skazany) == 1 then if words == "execution" then doTeleportThing(skazany, krzeslo) doTargetCombatCondition(0, skazany, condition, CONST_ME_NONE) doPlayerSay(cid, "Player "..param.." condemn to electric chair", 9) end else doPlayerSendCancel(cid,"Player is not online.") end end end
W talkactions.xml dodajemy linijke :
<talkaction words="execution" script="execution.lua" />
I będzie działało to tak:
GM/God/Tutor zauważył osobę która używa np mc albo tibie auto. Wpisuje execution "nick_gracza i osoba ta jest teleportowana na krzesło. Następnie gm może dać wiadomość że zaraz odbędzie się egzekucja tego i tego zioma. Następnie ciągnie za czerwoną gałeczkę (Dog in the Fod:P). Skazany zostaje porażony prądem i umiera. Drugie pociągnięcie usunie krew z pod krzesła i przeteleportuje ciało na wybrane współrzędne
Offline