Npc Message

Status
Zamknięty.

Marcinoos66

Senior User
Zarejestrowany
Dołączył
Grudzień 18, 2008
Posty
1196
Liczba reakcji
97
Witam ostatnio szuka?em npc Og?oszenie i natkn??em si? na du?o temat?w w kt?rych forumowicze szukaj? takowego npc wiec postanowi?em go tutaj da?.
Npc nie jest m?j jest ?ci?gni?ty z silnika pod tibie 8.50

W data\npc Robimy Message.xml
Wklejamy to

<?xml version="1.0" encoding="UTF-8" ?>
- <npc name="Message" script="data/npc/scripts/message.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100" />
<look type="134" head="78" body="88" legs="0" feet="88" addons="3" />
</npc>

Potem w data\npc\scripts Robimy Message.xml
I wklejamy to

local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false
lastSay = 0
local message = "Przypominamy iz na stronie www istnieje reklama dzieki ktorej mozesz pom?c naszemu Ots WYSTARCZY TYLKO ZE NA NIA KLIKNIESZ - Zapraszamy!"
local typ = MESSAGE_STATUS_WARNING
local coIleSekund = 900
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
msg = string.lower(msg)
end
function onCreatureChangeOutfit(creature)
end
function onThink()
if (os.time() >= lastSay) then
lastSay = os.time()+coIleSekund
local gracze = getOnlinePlayers()
for i, pid in ipairs(gracze) do
local aktualny = getPlayerByName(pid)
if (isPlayer(aktualny) == TRUE) then
doPlayerSendTextMessage(aktualny,typ,message)
else
print('Kreatura '.. pid ..' nie jest graczem, a powinna.')
end
end
end
end

Co ile sekund ma by? wy?wietlana wiadomo??
Tre?? wy?wietlanej wiadomo?ci
 
Odp: Npc Message

Nie rozumiem, po co to robi?, skoro najnowsze silniki maj? GlobalEvents i funkcj? doBroadcastMessage ;x
Jako, ?e skrypt jest niepotrzebny, wstrzymuj? si? od oceny :p
 
Odp: Npc Message

Nie rozumiem cie , chodzi ci o to ze w silniku mo?na pisa? bez logowania si? na gm czy jak ?
 
Odp: Npc Message

Nie rozumiem cie , chodzi ci o to ze w silniku mo?na pisa? bez logowania si? na gm czy jak ?

Oczywi?cie, wystarczy prosty skrypt GlobalEvents:

Kod:
function onThink(interval, lastExecution)
	doBroadcastMessage("Przypominamy o promocji! Teraz wi?cej punkt?w w shopie po ni?szej cenie!")
	return TRUE
end

Kod:
<globalevent name="reklama" interval="600" script="reklama.lua"/>

No i co 10 minut wyskakuje reklama :p
 
Odp: Npc Message

Hmm.. :( nie s?ysza?em o tym ale mo?e ten npc komu? si? przyda ;)
 
Odp: Npc Message

Kod:
print('Kreatura '.. pid ..' nie jest graczem, a powinna.')

Musisz si? troch? nauczy? o tym, co zwracaj? niekt?re funkcje... Bo na przyk?ad getPlayersOnline() zwraca TYLKO uid graczy, wi?c nie rozumiem, po co ta linijka, skoro NIGDY nie zostanie u?yta.

Mimo tego skrypt b?dzie dzia?a? na starszych wersjach, co jest niew?tpliwie jego du?ym plusem.
 
Odp: Npc Message

A mam pytanie.
Co trzeba zrobi? ?eby m?g? wypowiada? np 2 informacje??
 
Odp: Npc Message

Zr?b 2 Npc :) tylko nazwij je inaczej
My?l? ?e pomo?e jak nie to nie wiem
 
Odp: Npc Message

Bardzo fajny npc, je?eli kto? nie umie zrobi? w globalu, a npc bardzo ?atwy w obs?udze.
Rep +
 
Status
Zamknięty.
Back
Do góry