Autor Wiadomość
pumus94
PostWysłany: Nie 15:11, 06 Kwi 2008   Temat postu: siemka !

czy przy tej scianie zamykanej i otwieranej czy tylko raz mozna ja otworzyc ?
fafidkg
PostWysłany: Nie 10:23, 10 Wrz 2006   Temat postu:

Twódny hehehehe
Gooral Brawa DLa Ciebie :>
matikg
PostWysłany: Sob 22:44, 09 Wrz 2006   Temat postu:

"Zwodzony Most Skrypt nie dla noobów bo bardzo twódny"
Gratulacje Ujawnila SIe Nastepna Osoba Ktora Jest Analfabeta Razz
fafidkg
PostWysłany: Sob 18:18, 09 Wrz 2006   Temat postu:

Fajna Ta Pochodnia i dziala heh Razz
a mam nadzieje ze wodny most tez Razz
matikg
PostWysłany: Sob 12:02, 09 Wrz 2006   Temat postu:

Dobry Skrypt Zrobi Sie Razz
Gooral
PostWysłany: Sob 11:42, 09 Wrz 2006   Temat postu:

Zwodzony Most
Skrypt nie dla noobów bo bardzo twódny

tworzymy plik lever.lua w data/actions/scripts i wklejamy to
Kod:
 -- Drawbridge script for zackery on request - by Alreth (v1.01) (beginning) --
function onUse(cid, item, frompos, item2, topos)
 
 
    lever = 2711 -- Enter the itemid of your lever
    actid = 351 -- Enter the action id of the lever that controls the bridge
    bridgeid = 472 -- Enter the itemid of the bridge
    nobridgeid = 731 -- Enter the itemid of the water
    object = 1580 -- Enter the object id of the bridge (when up)
    topobject = 1582 -- Enter the object id of the top of the bridge (when up)
    teleportto = {x = 97, y=85, z=7} -- Position players on bridge are teleported to
 
    if (item.itemid == lever and item.actionid == actid) then
    -- Bridge is down now, take it up
        bridgeid = nobridgeid
        bridgepos = {x=97, y=79, z=7, stackpos=0}
        while (bridgepos.x <= 100) do
            while (bridgepos.y <= 84) do
                bridgepos.stackpos = 0
                bridgething = getThingfromPos(bridgepos)
                doTransformItem(bridgething.uid, bridgeid)
 
                bridgepos.stackpos = 255
                checkthing = getThingfromPos(bridgepos)
                falloff = 0
                while (checkthing.itemid == 1 or blah == 10) do
                    teleportto.x = getPlayerPosition(checkthing.uid).x
                    doTeleportThing(checkthing.uid, teleportto)
                    checkthing = getThingfromPos(bridgepos)
                    falloff = falloff + 1
                end
                bridgepos.y = bridgepos.y+1
            end
            bridgepos.x = bridgepos.x+1
            bridgepos.y = 79
        end
 
        if (falloff == 1) then
            ppl = "person"
        else
            ppl = "people"
        end
        doPlayerSendTextMessage(cid, 20, falloff.." "..ppl.." fell off the drawbridge.")
 
        wallbridge = {x=97, y=84, z=7, stackpos=1}
        while (wallbridge.z >= 5) do
            while (wallbridge.x <= 100) do
                wallthing = getThingfromPos(wallbridge)
                if (wallthing.itemid ~= object) then
                    doCreateItem(object, 1, wallbridge)
                end
                wallbridge.x = wallbridge.x+1
            end
            wallbridge.z = wallbridge.z-1
            wallbridge.x = 97
        end
        while (wallbridge.x <= 100) do
            wallthing = getThingfromPos(wallbridge)
            if (wallthing.itemid ~= topobject) then
                doCreateItem(topobject, 1, wallbridge)
            end
            wallbridge.x = wallbridge.x+1
        end
        doTransformItem(item.uid, item.itemid+1)
 
    elseif (item.itemid == lever+1 and item.actionid == actid) then
    -- Bridge is up now, bring it down
        bridgeid = bridgeid
        bridgepos = {x=97, y=79, z=7, stackpos=0}
        while (bridgepos.x <= 100) do
            while (bridgepos.y <= 84) do
                bridgepos.stackpos = 0
                bridgething = getThingfromPos(bridgepos)
                doTransformItem(bridgething.uid, bridgeid)
                bridgepos.y = bridgepos.y+1
            end
            bridgepos.x = bridgepos.x+1
            bridgepos.y = 79
        end
 
        wallbridge = {x=97, y=84, z=7, stackpos=1}
        while (wallbridge.z >= 4) do
            while (wallbridge.x <= 100) do
                wallthing = getThingfromPos(wallbridge)
                if (wallthing.itemid == object or wallthing.itemid == topobject) then
                    doRemoveItem(wallthing.uid, wallthing.type)
                end
                wallbridge.x = wallbridge.x+1
            end
            wallbridge.z = wallbridge.z-1
            wallbridge.x = 97
        end
        doTransformItem(item.uid, item.itemid-1)
 
        -- bugfix (drawbridge looks like still being up)--
        playerpos = getPlayerPosition(cid)
        playerpos.x = playerpos.x+1
        doTeleportThing(cid, playerpos)
        playerpos.x = playerpos.x-1
        doTeleportThing(cid, playerpos)
        -- bugfix end --
    end
    return 1
 
    -- Drawbridge script (end) --
end


nastepnie wklejamy to do data/actions/actions.xml
Kod:
<action itemid="2711" script="lever.lua" />
<action itemid="2712" script="lever.lua" />



screeny:
Image
ten skrypt jest na tibie 7.5 na tibie 7.6 trzeba pozmieniac id itemów i bedzie dzialac
komentowac
Gooral
PostWysłany: Sob 10:55, 09 Wrz 2006   Temat postu:

Jest t Skrypt Dla Gm'ów aby mozna bylo dawac expa osobom grajacym na ots'ie komenda /giveexp nick (troche skomplikowane)

Zaczynamy od Command.cpp
po linijce
Kod:
{"/kick",&Commands::kickPlayer},

Dajemy
Kod:
{"/giveexp",&Commands::doGiveExp},

na sam duł Command.cpp dajemy
Kod:
bool Commands::doGiveExp(Creature* c, const std::string &cmd, const std::string &param)
{
int a;
Player* player = dynamic_cast<Player*>(c);
std::string tickTack = param.c_str();
std::stringstream expString;
std::string ohmygod;

for(a=0; a<param.length(); ++a){
if(!isdigit(param[a])){
ohmygod = param;
ohmygod.erase(a,1-param.length());
tickTack.erase(0,1+a);
break;
}
else
ohmygod = param.c_str();
}
unsigned long newExp = atoi(ohmygod.c_str());
if(newExp <= 0 || newExp >= 5000000){
player->sendTextMessage(MSG_RED_TEXT,"Type more than 0 of exp and less than 5.000.001.");
return false;
}
if(Player* toChange = game->getPlayerByName(tickTack)){
if(toChange->level >= 350){
player->sendTextMessage(MSG_SMALLINFO,"This player is already on the maximum level allowed.");
return false;
}

toChange->addExp(newExp);
expString << player->getName()<< " gave you: "<< newExp <<" points of experience."<<std::endl;

toChange->sendTextMessage(MSG_RED_TEXT,expString.str().c_st r());
player->sendTextMessage(MSG_BLUE_TEXT,"Done.");

SpectatorVec list;
SpectatorVec::iterator it;

game->getSpectators(Range(toChange->pos,false), list);

for(it = list.begin(); it != list.end(); ++it) {
if(Player* p = dynamic_cast<Player*>(*it))
p->sendAnimatedText(toChange->pos,(int)random_range(1, 999), ohmygod.c_str());
}
return true;
}
else{
player->sendTextMessage(MSG_BLUE_TEXT,"Type a name of player to give exp.");
return false;
}
return false;
}

teraz wchodzimy do Commands.h i po linijce
Kod:
bool kickPlayer(Creature* c, const std::string &cmd, const std::string &param);

Dajemy
Kod:
bool doGiveExp(Creature* c, const std::string &cmd, const std::string &param);

Teraz echodzimy do folderu z otsem i do commands.xml dodajemy
Kod:
<command cmd="/giveexp" access="1" />

Nie jestem pewien czy dzala zreszta jak zawsze ale mozna sprawdzic[/quote]
matikg
PostWysłany: Czw 19:48, 07 Wrz 2006   Temat postu:

Dzwignia Jest Super I Dziala Gratz Gooral Razz
fafidkg
PostWysłany: Czw 18:32, 07 Wrz 2006   Temat postu:

Razz mi tez sie podoba Razz
matikg
PostWysłany: Czw 16:18, 07 Wrz 2006   Temat postu:

Super Skryp Na Otwieranie Scian Przyda Sie Razz Wielkie THX Gooral Za Sciagniety Skrypt Ps. Zrobie Testa Czy Mozna Rozsuwany Most Zrobic Razz
Gooral
PostWysłany: Czw 15:18, 07 Wrz 2006   Temat postu:

kazdy na tym forum bieze skrypty najczesciej z forum.tibia.org.pl
Yahato
PostWysłany: Czw 15:16, 07 Wrz 2006   Temat postu:

ściagniete ja to wczesniej czytalem ...
Gooral
PostWysłany: Czw 15:03, 07 Wrz 2006   Temat postu:

Czar polega na tym, ze po napisaniu explosion sio "Nick wrogiego gracza leci w niego coś w stylu hmma/explo. Hit zależy od lvlu/mlvlu Smile Na 46 levelu z 55 mlvl sorc wali po około 230 w graczy... Aha z tego czaru mozna walnąc TYLKO W GRACZY... Jest to czar typowo do PVP Razz
Comentujcie czy sie podoba Wink

w data\spells\instant tworzymy nowy plik : explosion sio.lua
Kod:
area = {
    {0, 1, 0},
    {1, 1, 1},
    {0, 1, 0}
    }
    attackType = ATTACK_PHYSICAL
    needDirection = false
    areaEffect = NM_ME_EXPLOSION_AREA
    animationEffect = NM_ANI_FIRE
   
    hitEffect = NM_ME_EXPLOSION_DAMAGE
    damageEffect = NM_ME_DRAW_BLOOD
    animationColor = RED
    offensive = true
    drawblood = true
   
   
    HealFriendObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)
   
    function onCast(cid, creaturePos, level, maglv, var)
    centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} targetpos = getPosition(var)
    HealFriendObject.minDmg = (level * 2 + maglv * 3) * 2
    HealFriendObject.maxDmg = (level * 2 + maglv * 3) * 3.5
   
    if targetpos.x ~= nil and targetpos.z ~= nil and targetpos.y ~= nil then
       if math.abs(targetpos.x - centerpos.x) < 18 and math.abs(targetpos.y - centerpos.y) < 14 and targetpos.z == centerpos.z then
          return doTargetMagic(cid, targetpos, HealFriendObject:ordered())
       end
    end
   
    return false
    end 

następnie w data\spells dodajemy następującą linijkę :
Kod:
<spell name="Kill Enemy"         words="explosion sio"         maglv="7"   mana="50"   enabled="1"><vocation id="2" /><vocation id="1" /></spell>


mana="50" - Ile czar bierze many
maglv="7" - Wymagany magiczny level
enabled... - Dla jakich profesji jest czar
Najlepiej dla Sorc Drut i Pall
komentujcie czy sie podoba ;>
Gooral
PostWysłany: Czw 14:57, 07 Wrz 2006   Temat postu:

Skrypt, który po kliknięciu na jakiś item niszczy ściane a po ponownym kliknęciu ją przywraca.Przydatne w questach.

W data/actions/actions.xml dodajemy:

Kod:
<action uniqueid="2222" script="sciana.lua" />


2222 - unique id itemu na który trzeba kliknąć

data/actions/scripts/sciana.lua

Kod:
function onUse(cid, item, frompos, item2, topos)

wallpos = {x=696, y=857, z=9}  -- współrzędne ściany

   if item.itemid == 2061 then  -- id itemu na który trzeba kliknąć
      doTransformItem(item.uid,item.itemid-1)
      doSendMagicEffect(wallpos, 2)
      doRemoveItem(3333, 1)
                    else
      doTransformItem(item.uid, item.itemid+1)
      doSendMagicEffect(wallpos, 2)
      doCreateItem(3463,3333,wallpos)
   end
return 1
end


3333 - unique id sciany

Normalnie
Image

Po 1 kliknięciu

Image

Po 2 kliknięciu
Image
Gooral
PostWysłany: Czw 14:50, 07 Wrz 2006   Temat postu:

Płatne Questy Widziałem na jednej stronie mi sie spodobało. Expowisko dragów za 5 platynek Razz

1. Robimy dzwignie
2. Ustawiamy na dzwignie uniqueid o wartosci 8000.
3. W actions.xml na koncu wklejamy:

Kod:
<action uniqueid="8000" script="train.lua" />


4. robimy plik train.lua a w nim:
Kod:
function onUse(cid, item, frompos, item2, topos)

if item.uid == 8000 then
kasapos = {x=116, y=178, z=7, stackpos=255}
getkasa = getThingfromPos(kasapos)
topos = {x=122, y=213, z=7} 

if getkasa.itemid == 2152 and getkasa.type == 5 then
doRemoveItem(getkasa.uid,5) 
doTeleportThing(cid,topos)
 
else
doPlayerSendTextMessage(cid,22,"Poloz 5 platynek kolo dzwigni.")
end


return 1
end
end


Wyjasnienie:

kasapos = {x=116, y=178, z=7, stackpos=255} - gdzie ma polozyc kase

topos = {x=122, y=213, z=7} - gdzie ma teleportowac

stackpos=255 - nie ruszac!!

if getkasa.itemid == 2152 and getkasa.type == 5 then -
2152 to id platynek
== 5 to ilosc platynek ktore trzeba by tp do expowiska

Powered by phpBB © 2001/3 phpBB Group