• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

Support - pomoc przy pisaniu skrypt?w

Status
Zamknięty.

Ldrozd

Senior User
Dołączył
Listopad 26, 2008
Posty
572
Liczba reakcji
44
Witamy!

Za zgod? moda Kowola pozwolili?my sobie (ja i Xart Irok) za?o?yc ten watek. Chcieliby?my utworzy? tutaj k?cik "ma?ych" i "du?ych" skrypter?w oraz os?b zainteresowanych. Celem tematu jest poszerzenie wiedzy z: lua, xml, php oraz komend na mysql
W tym w?tku mo?na si? spyta? o pomoc w pisaniu danego skryptu, gdy nagle zatrzymali?my si? i nie wiemy co dalej robi?. Gdy mamy jaki? dobry pomys?, kt?rego nie potrafimy sami zrealizowa? i podsuwamy go czytelnikom tego tematu. Tak?e mo?na tutaj poprosi? nas o napisanie skryptu. Zaznaczam jednak, ze autorzy tematu nie s? zobowi?zani do napisania go, a do pomocy w napisaniu go podaj?c wskaz?wki. Aby nie by?o niedomowien zamieszczamy regulamin.

Regulamin

1. My tu nie piszemy na zam?wienie skrypt?w.
2. Naszym g??wnym cele jest wam pom?c i was na uczy? pisania skrypt?w, ?e by nasze rodowity kraj nie by? tak pusty w ludzi potrafi?cych pisanie skrypt?w, dlatego powsta? ten temat ?e by naszych koleg?w zaskoczy? ?e co? jednak umiem wi?cej ni? tylko kopiuj wklej.
3. B?dziemy wam t?umaczy? jak? funkcje najlepiej jest u?y? w swoim skrypcie, aby go nie zepsu? i by? optymalny jak najd?u?ej co raz to nowszymi silnikami.
4. Prosz? o podawanie swojego skryptu w razie wypadku je?li skrypty by posiada? b??dy i chcia? by? si? go pozby?, b?dzie nam o wiele ?atwiej pom?c, je?li nie chcesz podawa? ca?ego skryptu, to prosz? o podanie linii w kt?rych prawdopodobnie mo?e wyst?powa? b??d, to te? mo?e nam u?atwi? w pomocy wam.

Regulamin b?dziemy si? stara? cz?sto aktualizowa?.


Ponadto, zach?camy ka?dego do aktywnego uczestniczenia w tym temacie
Pozdrawiamy i ?yczymy wszystkim udanej wsp??pracy!
Ldrozd, Xart Irok

Ponadto g??wnymi prowadz?cymi s?:
Matee
...

PS. Je?eli chcia?by? do??czy? do grona autor?w wystarczy, ?e do mnie napiszesz na PW
 
Odp: Support - pomoc przy pisaniu skrypt?w

Dobra. Wyt?umacz mi, co daje funkcja doRefreshMap()? ?adnej r??nicy po jej u?yciu nie zauwa?y?em.
 
Odp: Support - pomoc przy pisaniu skrypt?w

Funkcja doRefreshMap() s?u?y do sprawdzenia zmian na mapie czy co? zmieni?o swoje po?o?enie i zresetowanie ich oczywi?cie musimy poda? jak?? konkretn? liczb?, kt?ra si? przerzuca na czas freez na serwie. Przedstawi? kr?tkie zastosowanie.
PHP:
doRefreshMap(100000)
przerzucenie na czas - 100000/2500 = 40s
 
Odp: Support - pomoc przy pisaniu skrypt?w

> > > B. U. M. P. ing < < <
 
Odp: Support - pomoc przy pisaniu skrypt?w

1 Jak nazywa?a si? funkcja w php licz?ca znaki w wyrazie.
2 Jak w lua napisa? skrypt, ?e je?eli gracz nie loguje si? przez okres wi?kszy ni? 1 miesi?c to usuwa konto i wszystkie postacie na nim zawarte.
 
Odp: Support - pomoc przy pisaniu skrypt?w

1.)
PHP:
<?php
$tekst = 'slowo';
echo strlen($tekst); //Skrypt liczy ile jest znak?w w danym ci?gu.
?>
2.)Mo?na to zrobi? w php i doda? rcon'a.
 
Odp: Support - pomoc przy pisaniu skrypt?w

Cicho tutaj wi?c napisze swoj? pro?b?. Napisa?em sktypt losuj?cy obra?enia od danego ?ywio?u niestety pomyli?em si? gdzie? w tabeli i nie mog? doj?? gdzie. Mo?esz obejrze? ten skrypt i powiedzie? jak go naprawi??
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)
local poison = createCombatObject()
setCombatParam(poison, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
local conditionPoison = createConditionObject(CONDITION_POISON)
setConditionParam(conditionPoison, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(conditionPoison, 4, 2000, -20)
addDamageCondition(conditionPoison, 6, 2000, -10)
setCombatCondition(conditionPoison, conditionPoison)
local fire = createCombatObject()
setCombatParam(poison, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
local conditionFire = createConditionObject(CONDITION_FIRE)
setConditionParam(conditionFire, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(conditionFire, 4, 2000, -50)
addDamageCondition(conditionFire, 6, 2000, -35)
setCombatCondition(fire, conditionFire)
local energy = createCombatObject()
setCombatParam(poison, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
local conditionEnergy = createConditionObject(CONDITION_ENERGY)
setConditionParam(conditionEnergy, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(conditionEnergy, 4, 2000, -30)
addDamageCondition(conditionEnergy, 6, 2000, -20)
setCombatCondition(energy, conditionEnergy)
function onUseWeapon(cid, var)
    local szansa = math.random(100)
    local chanceToHit = {40,30,10}  --szansa terafienia dla: energia, ogie?, poison
    local combats = {"energy","fire","poison"}
    doCombat(cid,combat,var)
    for i, v in pairs(combats) do
        if(szansa > chanceToHit) then
            doCombat(cid,v)
            break
        end
    end
    return TRUE
end
 
Odp: Support - pomoc przy pisaniu skrypt?w

PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)

local poison = createCombatObject()
setCombatParam(poison, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)

local conditionPoison = createConditionObject(CONDITION_POISON)
setConditionParam(conditionPoison, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(conditionPoison, 4, 2000, -20)
addDamageCondition(conditionPoison, 6, 2000, -10)
setCombatCondition(poison, conditionPoison)

local fire = createCombatObject()
setCombatParam(fire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

local conditionFire = createConditionObject(CONDITION_FIRE)
setConditionParam(conditionFire, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(conditionFire, 4, 2000, -50)
addDamageCondition(conditionFire, 6, 2000, -35)
setCombatCondition(fire, conditionFire)

local energy = createCombatObject()
setCombatParam(energy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

local conditionEnergy = createConditionObject(CONDITION_ENERGY)
setConditionParam(conditionEnergy, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(conditionEnergy, 4, 2000, -30)
addDamageCondition(conditionEnergy, 6, 2000, -20)
setCombatCondition(energy, conditionEnergy)

function onUseWeapon(cid, var)
    local szansa = math.random(100)
    local chanceToHit = {40, 30, 10}  --szansa terafienia dla: energia, ogie?, poison
    local combats = {"energy","fire","poison"}
    local ret = doCombat(cid, combat, var)
    if(szansa > chanceToHit[1]) then
        ret = doCombat(cid, combats[1], var)
	elseif(szansa > chanceToHit[2]) then
        ret = doCombat(cid, combats[2], var)
	elseif(szansa > chanceToHit[3]) then
        ret = doCombat(cid, combats[3], var)
    end
    return ret
end
Powinno chodzi? ju? poprawnie ale w?tpi? ?e pomyli?e? si? przypadkiem:|.
 
Ostatnia edycja:
Odp: Support - pomoc przy pisaniu skrypt?w

To nie b?dzie chodzi? poprawnie, doCombat spodziewa tam si? CombatObject a wy wysy?acie jako argument funkcji zmienn? typu string. Troch? m?zgu. Tam powinno by? przes?ane conditionFire lub conditionEnergy lub conditionPoison.
 
Odp: Support - pomoc przy pisaniu skrypt?w

Siema napisa?em wczesniej swoj temat ale nikt nie odpowiada? wi?c moze wy pomo?ecie.!
Do rzeczy...(Transform jest sta?y) Chodzi mi oto ?e je?eli mam 100lv. i nie w??czy?em transformu tego na 50 przed 100 to po wpisaniu ,,Transform" zamieniam si? odrazu w forme od 100lv. Chcia?bym aby by?o tak ?e najpierw zamieniam si? w form? od 50 a dopiero pozniej od 100. <help>
Transform.lua
Kod:
function onSay(cid, words, param)
local level = 50
if getPlayerVocation(cid) == 1 then ---Naruto1
if getPlayerLevel(cid) >= level then
doPlayerSetVocation(cid, 2)
doPlayerAddHealthMax(cid,(getPlayerLevel(cid)*20))
doPlayerAddManaMax(cid,(getPlayerLevel(cid)*20))
local outfit = { lookType = 31 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}
doSetCreatureOutfit(cid, outfit, -1)
doSendMagicEffect(getCreaturePosition(cid), 13)
addEvent(trans1,1000,cid)
end
end
local level = 100
if getPlayerVocation(cid) == 2 then ---Naruto2
if getPlayerLevel(cid) >= level then
doPlayerSetVocation(cid, 3)
doPlayerAddHealthMax(cid,(getPlayerLevel(cid)*20))
doPlayerAddManaMax(cid,(getPlayerLevel(cid)*20))
local outfit = { lookType = 32 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}
doSetCreatureOutfit(cid, outfit, -1)
doSendMagicEffect(getCreaturePosition(cid), 13)
addEvent(trans2,2000,cid)
doPlayerSendCancel(cid, "You transform!")
else
doPlayerSendCancel(cid, "You can not transform.")
end
end
end
 
Odp: Support - pomoc przy pisaniu skrypt?w

Kod:
function onSay(cid, words, param)
	if getPlayerVocation(cid) == 1 then ---Naruto1
		if getPlayerLevel(cid) >= 50 then
			doPlayerSetVocation(cid, 2)
			doPlayerAddHealthMax(cid,(getPlayerLevel(cid)*20))
			doPlayerAddManaMax(cid,(getPlayerLevel(cid)*20))
			local outfit = { lookType = 31 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}
			doSetCreatureOutfit(cid, outfit, -1)
			doSendMagicEffect(getCreaturePosition(cid), 13)
			addEvent(trans1,1000,cid)
		else
			doPlayerSendCancel(cid, "You can not transform.")
		end
	elseif getPlayerVocation(cid) == 2 then ---Naruto2
		if getPlayerLevel(cid) >= 100 then
			doPlayerSetVocation(cid, 3)
			doPlayerAddHealthMax(cid,(getPlayerLevel(cid)*20))
			doPlayerAddManaMax(cid,(getPlayerLevel(cid)*20))
			local outfit = { lookType = 32 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}
			doSetCreatureOutfit(cid, outfit, -1)
			doSendMagicEffect(getCreaturePosition(cid), 13)
			addEvent(trans2,2000,cid)
			doPlayerSendCancel(cid, "You transform!")
		else
			doPlayerSendCancel(cid, "You can not transform.")
		end
	end
return 1
end
Spr?buj tego.
 
Odp: Support - pomoc przy pisaniu skrypt?w

A ja mam co? na wysokim poziomie dla was :D
Zobaczymy czy dacie rade . . .


Mam problem na TFSie 0.3.5 z training systemem.

nowyobrazmapabitowawj.jpg



To jest dziwny b??d i nie wiem z jakiego powodu wynika poniewa? raz jest spok?j a raz wyskakuje. System jest z tej strony:

http://tibia.net.pl/actions/16765-zaawansowany-system-trenowania.html


Najcz??ciej wyskakuje przy wpisaniu kodu, nie rozumiem jak mo?e raz znale?? playera a raz "player not found"
 
Odp: Support - pomoc przy pisaniu skrypt?w

To nie b?dzie chodzi? poprawnie, doCombat spodziewa tam si? CombatObject a wy wysy?acie jako argument funkcji zmienn? typu string. Troch? m?zgu. Tam powinno by? przes?ane conditionFire lub conditionEnergy lub conditionPoison.
Nie bardzo cie rozumieniem o co ci chodzi?o. Mog? by? b??dy bo nie lubi? pisa? bro? dlatego sobie wzi??em ma?? pomoc i naprawia?em to na podstawie vip star wi?c nie mo?e by? ?le jak co? ju? by?o.
A ja mam co? na wysokim poziomie dla was :D
Zobaczymy czy dacie rade . . .
Mam problem na TFSie 0.3.5 z training systemem.

To jest dziwny b??d i nie wiem z jakiego powodu wynika poniewa? raz jest spok?j a raz wyskakuje. System jest z tej strony:
http://tibia.net.pl/actions/16765-zaawansowany-system-trenowania.html
Najcz??ciej wyskakuje przy wpisaniu kodu, nie rozumiem jak mo?e raz znale?? playera a raz "player not found"
Przegl?daj?c g??wny (Oryginalny) w?tek musz? powiedzie? ?e skrypty dalej nie zosta? naprawiony, ale jak bardzo chcesz mog? grzebn?? w kodach ale musisz mi poda? linie kt?re wywalaj? bo tak jak mi podajesz z functions.lua to ja mog? co najwy?ej strzela? kt?ra z oryginalnych funkcji si? zmieni?a.
 
Odp: Support - pomoc przy pisaniu skrypt?w

2 funkcje kt?re s? wpisane w b??d:

Kod:
function isPlayerTraining(cid)
        return (getPlayerStorageValue(cid, STORAGEVALUE_TRAINING) > 0)
end


Kod:
function doPlayerEndTraining(cid)
        if isPlayerTraining(cid) == TRUE then
                doTeleportThing(cid, TRAIN_EXIT_POS, FALSE)
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
                if getPlayerStorageValue(cid, STORAGEVALUE_TRAIN_CODE) > 1 then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'Nie przepisales kodu.')
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'To koniec twojego treningu.')
                end
                setPlayerStorageValue(cid, STORAGEVALUE_TRAINING, 0)
                setPlayerStorageValue(cid, STORAGEVALUE_TRAIN_CODE, 0)

        end
end



Linia 511 to:
function isItEndOfTraining(cid)

kod to:
function isItEndOfTraining(cid)
if getPlayerStorageValue(cid, STORAGEVALUE_TRAIN_CODE) ~= 1 then
doPlayerEndTraining(cid)
end
end


Linia 503 to:
function setPlayerTrainCode(cid)

kod to:
function setPlayerTrainCode(cid)
if isPlayerTraining(cid) == TRUE then
code = math.random(1, 10)
doPlayerPopupFYI(cid, "Training System:\n\n Przepisz kod podany nizej aby nie\n zostac wyrzuconym z trainig room:\n\n\n !monk " .. code .. " \n")
setPlayerStorageValue(cid, STORAGEVALUE_TRAIN_CODE, code)
end
end
 
Ostatnia edycja:
Odp: Support - pomoc przy pisaniu skrypt?w

Witam.
Jako i? jestem s?abym skrypterem, chcia?bym zapyta? jak stworzy? skrypt ,kt?ry na bierz?co pokazuj? na stronie Graczy online. Tzn Gracz wchodzi do gry, na stronie wy?wietla si? 1 Players Online, jak wychodzi i w tym samym momencie jak wychodzi z gry na stronie pokazuje si? 0players online.
Dzi?kuj?.
 
Odp: Support - pomoc przy pisaniu skrypt?w

Witam mam problem poniewa? walka gildi nie ko?czy mi si? w ci?gu 30 minut tylko tyle ile jest to mo?liwe czyli np 24h i wiele wi?cej.

Czy mog? dosta? skrypt albo poprawienie jak zrobi? aby lastet news by?o ci?g?e co? takiego jak w tibia.com
 
Odp: Support - pomoc przy pisaniu skrypt?w

Witam.
Jako i? jestem s?abym skrypterem, chcia?bym zapyta? jak stworzy? skrypt ,kt?ry na bierz?co pokazuj? na stronie Graczy online. Tzn Gracz wchodzi do gry, na stronie wy?wietla si? 1 Players Online, jak wychodzi i w tym samym momencie jak wychodzi z gry na stronie pokazuje si? 0players online.
Dzi?kuj?.
Stawiam ?e chodzi?o ci .
Witam mam problem poniewa? walka gildi nie ko?czy mi si? w ci?gu 30 minut tylko tyle ile jest to mo?liwe czyli np 24h i wiele wi?cej.
Czy mog? dosta? skrypt albo poprawienie jak zrobi? aby lastet news by?o ci?g?e co? takiego jak w tibia.com
1. A jaki masz silnik
2. Nie bardzo rozumiem twoj? wypowiedzi najlepiej jak by? ja pokaza? o co ci tak chodzi.
 
Odp: Support - pomoc przy pisaniu skrypt?w

Pisze w imieniu Goda pawla:
1.Silnik tfs 0.3.5
2. wejdz na tibia.com i przeczytaj lastet news oto mu chodzi aby by?o ci?giem
 
Odp: Support - pomoc przy pisaniu skrypt?w

Witam.
Jako i? jestem s?abym skrypterem, chcia?bym zapyta? jak stworzy? skrypt ,kt?ry na bierz?co pokazuj? na stronie Graczy online. Tzn Gracz wchodzi do gry, na stronie wy?wietla si? 1 Players Online, jak wychodzi i w tym samym momencie jak wychodzi z gry na stronie pokazuje si? 0players online.
Dzi?kuj?.
A ja mysle, ze chodzilo o to Z tym, ze w tym skrypcie wyswietla sie informacja o zalogowaniu danej osoby i to od tutora w gore. Ale przeciez juz mamy podstawe, ktora latwo przerobic
 
Odp: Support - pomoc przy pisaniu skrypt?w

Czesc. Potraficie napisac skrypcik, aby ring dodawal 1mlvl, nie konczyl sie i byl tylko dla knighta?

Pozdrawiam.
 
Status
Zamknięty.
Do góry