• Home
  • Members
  • Team
  • Help
  • Search
  • Register
  • Login
  • Home
  • Members
  • Help
  • Search
Ronit.GAMES RonEngine Support / Wsparcie dla RonEngine LUA/XML Scripting / Skryptowanie LUA/XML Lua system ustawiania postaci przy pierwszym zalogowaniu

 
  • 0 Vote(s) - 0 Average
Lua system ustawiania postaci przy pierwszym zalogowaniu
Meritus
Offline

Uzytkownik

Posts: 28
Threads: 19
Joined: Jun 2010
Reputation: 4
#1
07-04-2011, 12:09 PM (This post was last modified: 11-04-2011, 01:52 AM by Meritus.)
Witam.

Słowem wstępu powiem, że system ustawiania postaci po pierwszym zalogowaniu na serwer w lua daje ogromne możliwości konfiguracyjne. Zaimplementowanie tego systemu nadpisuje działanie accountmanagera ze strony automatycznie.

Do pliku triggers.xml dodajmy:

PHP Code:
<trigger id="KOLEJNY_NUMER" type="ON_LOGIN" script="triggers/onlogin.lua" /> 

Tworzymy w plik onlogin.lua w katalogu /actions/scripts/triggers/

Wpisujemy do niego:

PHP Code:
function onTrigger(cid, thing1, frompos, thing2, topos, trigger, text)
--
Rozdawanie EQ przy starcie
    
if trigger.optionid == 0 then -- Pierwsze zalogowanie do gry danego gracza
        LUAsetFirstLoginPlayer
(cid, FIRST_LOGIN)
    
end
end 

Następnie dodajemy w global.lua:

Przy sekcji makr nawanych ID przedmiotów:

PHP Code:
ID_STUDDED_HELMET = 3314
ID_WOLVES_TOOTH_CHAIN 
= 2950
ID_BACKPACK 
= 2792
ID_LEATHER_ARMOR 
= 3499
ID_RAPIER 
= 3210
ID_WOODEN_SHIELD 
= 3350
ID_LEATHER_LEGS 
= 3497
ID_LEATHER_BOOTS 
= 3490
ID_POWER_RING 
= 2988 

Na dole pliku global.lua:

PHP Code:
function LUAsetFirstLoginPlayer(cid, player_config)

    
    
doPlayerClearItems(cid)
    
local player_vocation = getPlayerVocation(cid)
    for 
_, obj in pairs(player_config) do
        if (
player_vocation == _) then
            
if (setPlayer(cid, obj.player_attributes) == 1) then
                
for __, obj_items in pairs(obj.player_items) do
                    
doPlayerAddItemTable(cid, obj_items , __)
                
end
                doTeleportThing
(cid, obj.start_position)
                return 
true
            
else
                
log(cid, "Blad w ustawianiu skilli")
                return 
false
            end
        end
    end
    log
(cid,22,'Profesja nie zostala skonfigurowana')
    return 
false
end

FIRST_LOGIN 
= {
    [
ROOKSLAYER] = {
        
start_position = {x=100, y=100, z=7},
        
player_attributes = {
            
level = 1,
            
experience = 0,
            
magiclevel = 0,
            
health = 150,
            
mana = 0,
            
vocation = 0,
            
skills = {
                
10, -- SKILL_FIST
                10
, -- SKILL_CLUB
                10
, -- SKILL_SWORD
                10
, -- SKILL_AXE
                10
, -- SKILL_DISTANCE
                10
, -- SKILL_SHIELD
                10
, -- SKILL_FISHING
            
},
        },
        
player_items = {
            [
SLOT_AMMO] = {
                
id = ID_POWER_RING,
                
count = 300000,
            },
            [
SLOT_ARMOR] = {
                
id = ID_LEATHER_ARMOR,
            },
            [
SLOT_BACKPACK] = {
                
id = ID_BACKPACK,
                
contain = {
                    {
id = ID_ROPE},
                },
            },
            [
SLOT_FEET] = {
                
id = ID_LEATHER_BOOTS,
            },
            [
SLOT_HEAD] = {
                
id = ID_STUDDED_HELMET,
            },
            [
SLOT_LEFT] = {
                
id = ID_WOODEN_SHIELD,
            },
            [
SLOT_LEGS] = {
                
id = ID_LEATHER_LEGS,
            },
            [
SLOT_NECKLACE] = {
                
id = ID_WOLVES_TOOTH_CHAIN,
            },
            [
SLOT_RIGHT] = {
                
id = ID_RAPIER,
            },
            --[
SLOT_RING] = {
            --    
id = ID_POWER_RING,
            --    
count = 300000,
            --}
        }
    }
} 


UWAGA!

W global.lua powinny znajdować się niezbędne makro "ROOKSLAYER" o wartości 0 oraz ustawić pozycję w start_position konfiguratorze. POZYCJA 100:100:7 MUSI BYĆ NA MAPIE (CHOCIAŻ MIAŁ BY BYĆ TO 1 KWADRACIK)

Pozdrawiam
Meritus.
« Next Oldest | Next Newest »

Users browsing this thread: 1 Guest(s)



Messages In This Thread
Lua system ustawiania postaci przy pierwszym zalogowaniu - by Meritus - 07-04-2011, 12:09 PM

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Designed by D&D - Powered by MyBB

Linear Mode
Threaded Mode