Jump to content

Jfirewall

Miembro
  • Contador contenido

    359
  • Ingreso

  • Última visita

  • Días ganados

    19

Mensajes publicados por Jfirewall

  1. quest mob begin
    	state start begin
    		function Tiempo()
    			local mTime = 60*60*24*30	--Cada 30 dias
    				return mTime
    		end
    		
    		function Valores()
    			local mValue = { (pc.getqf("uso")), (pc.getqf("tiempo")) }
    				return mValue
    		
    		when x.use begin
    			say_title'hola'
    			say'....'
    			pc.setqf("uso", 1)	
    			pc.setqf("tiempo", get_time() + mob.Tiempo())
    			chat'en 30 dias el mob sera invocado'
    		end
    		
    		when login with mob.Valores()[1] > 0 begin
    			if get_time() > mob.Valores()[2] then
    				pc.invocar_mob(id,x,y)
    			end
    		end
    	end
    end
    		
    		
    questlua_pc.cpp
    #ifdef ENABLE_INVOCAR_MOB
    int pc_invocar_mob(lua_State* L)
    	{
    		if (!lua_isnumber(L, 1) || !lua_isnumber(L, 2) || !lua_isnumber(L, 3))
    		{
    			sys_err("argumento invalido");
    			return 0;
    		}
    
    		CQuestManager& mob = CQuestManager::instance();
    		DWORD vid = 0;
    		DWORD dwVnum = (DWORD) lua_tonumber(L, 1);
    		long x = (long) lua_tonumber(L, 2);
    		long y = (long) lua_tonumber(L, 3);
    		float radius = lua_isnumber(L, 4) ? (float) lua_tonumber(L, 4) : 0;
    		DWORD count = (lua_isnumber(L, 5)) ? (DWORD) lua_tonumber(L, 5) : 1;
    		if (count == 0)
    			count = 1;
    		while (count --)
    		{
    			if (radius<1)
    			{
    				LPCHARACTER ch = mob->CaerMob(dwVnum, x, y);
    				if (ch && !vid)
    					vid = ch->GetVID();
    			}
    			else
    			{
    				float angle = number(0, 999) * M_PI * 2 / 1000;
    				float r = number(0, 999) * radius / 1000;
    
    				long nx = x + (long)(r * cos(angle));
    				long ny = y + (long)(r * sin(angle));
    
    				LPCHARACTER ch = mob->CaerMob(dwVnum, nx, ny);
    				if (ch && !vid)
    					vid = ch->GetVID();
    			}
    		}
    
    		lua_pushnumber(L, vid);
    		return 1;
    	}
    #endif
    #ifdef ENABLE_INVOCAR_MOB
    			{ "invocar_mob",		pc_invocar_mob			},
    #endif
    		
    service.h
    #define ENABLE_INVOCAR_MOB

     

  2. quest coins begin
    	state start begin
    		when 27992.use or 27993.use or 27994.use begin
    			coins = {
    						[27992] = { "Moneda de Oro", 1000},
    						[27993] = { "Moneda de Plata", 500},
    						[27994] = { "Moneda de Bronce", 250}
    					}
    
    			say_title(""..coins[item.get_vnum()][1].."")
    			say("Si utilizas esta moneda puedes obtener una")
    			say("determinada cantidad de coins canjeables en la")
    			say("ItemShop del servidor.")
    			say("Con esta "..coins[item.get_vnum()][1].." obtendras "..coins[item.get_vnum()][2].." coins.")
    			say("")
    			say("¿Quieres canjear la moneda por "..coins[item.get_vnum()][2].." coins?")
    			local s = select("Si","No")
    			if s == 2 then return end
    			say_title(""..coins[item.get_vnum()][1].."")
    			say("Felicidades!")
    			say("Has obtenido "..coins[item.get_vnum()][2].." coins.")
    			say("Entra en la ItemShop de nuestro servidor para")
    			say("canjearlas.")
    			pc.cambiar_coins(coins[item.get_vnum()][2])
    			item.remove()
    		end
    	end
    end
    
    questlua_pc.cpp
    #ifdef ENABLE_FUNCION_COINS
    int pc_cambiar_coins(lua_State* L)
    	{	
    		LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
    		
    		const char * coins = lua_tostring(L, 1);
    		
    		char szQuerycoins[QUERY_MAX_LEN];
    		snprintf(szQuerycoins, sizeof(szQuerycoins), "UPDATE account.account SET coins=coins+'%s' WHERE id=%u", coins, ch->GetDesc()->GetAccountTable().login);
    		DBManager::Instance().DirectQuery(szQuerycoins);
    		
    		db_clientdesc->DBPacket(HEADER_GD_RELOAD_ADMIN, 0, NULL, 0);
    		return 0;
    	}
    #endif
    
    { "cambiar_coins",			pc_cambiar_coins			},
    	
    service.h
    
    #define ENABLE_FUNCION_COINS

     

  3. Primero debes saber algo basico

    normalmente las empresas de Internet dan un router el cual viene con ciertas direcciones ip en área local que casi siempre van de 192.168.1.100 a la 192.168.1.254, luego la mascara de subred siempre sera 255.255.255.0 y la puerta de enlace sera terminada siempre en 1, con un poco de conocimientos, puedes en tu router pedir una ip fija y en el router crear un dmz dirigido a la dirección ip que le asignes al servidor, así cada que se conecten ala ip fija que contratas el router automáticamente te redireccionara ala ip asignada ala maquina virtual, pero ademas de eso debes abrir algunos puertos, y saber configurar el router con la ip que te den, en mi opinión es mejor comprar un vps y listo te evitas todo el royo 

  4.  

    Video de sistema en el juego 

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Buenas noches, este sistema lo cree hace algunos años, mirando mi baúl decidí aportarlo la verdad ya ahora todo avanzado tanto que esto es una "basura" por decirlo de esta manera

    en que consiste el sistema:

    Para ganar puntos de bendiciones lo que tienes que hacer es matar, personaje de otros reinos y ir acumulando, como en todo servidor ay muchos ventajosos y yo lo configure para que fueran 100 muertes, para que tuviera un poquito de dificultad igual en la quest ustedes pueden editar el numero, el beneficio que yo decidi ponerle es poner una mini loteria porque tu das los puntos y el te entrega un item aletoriamente, pero no cualquier item, sino que te entrega un item con el bonus que tu elijas y al maximo (cada cual lo maneja a su modo)

    local items = {19,29,39,49,59,69,89,99,59,109}-- vnum items
    	
    	local bonus = { -- puedes agregar mas bonus si lo deseas
                    {1,5000}, -- Max Hp
                    {2,20}, -- Max Sp
                    {3,20}, -- Vitalidad 
                    {4,20}, -- Inteligencia
                    {5,20}, -- Fuerza
                    {6,20}, -- Dextreza
                    {7,20}, -- Velocidad de ataque
                    {8,20}, -- Velocidad de Movimiento
                    {9,20}, -- Velocidad Hechizo
                    {10,20}, -- Regeneración de HP
                    {11,20}, -- Regeneración de SP
                    {12,20}, -- Probabilidad de Envenenamiento
                    {13,20}, -- Probabilidad de Apagon
                    {14,20}, -- Probabilidad de Retardo
                    {15,20}, -- Probabilidad de golpes críticos
                    {16,20}, -- Probabilidad de golpes de penetración
                    {17,20}, -- Fuerza Contra MedioHumanos
                    {18,20}, -- Fuerza Contra Animales
                    {19,20}, -- Fuerza Contra Orcos
                    {20,20}, -- Fuerza Contra Misticos
                    {21,20}, -- Fuerza Contra No-muertos
                    {22,20}, -- Fuerza Contra Demonios
                    {23,20}, -- Probabilidad de Absorver HP
                    {24,20}, -- Probabilidad de Absorver SP
                    {25,20}, -- Probabilidad de robar HP
                    {26,20}, -- Probabilidad de recuperar SP al golpear
                    {27,20} -- Posibilidad de bloquear un ataque cuerpo a cuerpo
                }

    Yo agregue una tabla de bonus, no esta toda ya realmente ay muchos servidores que tendrán mas y mejores los numero que van del 1 al 27 son el id del bonus  y deje la descripcion de cada uno ya ustedes deciden si quieren agregar mas, las que van en "20" son el valor que se da en el juego ejm si elijen fuerza contra no muertos el valor sera de 20% ya ustedes lo editan a su manera.

    yo lo diseñe pensando en que fuera aletoriamente, entonces cree el local items, donde va el id del item que entregara al azar

    en el .rar va una mini guia como instalarlo y va con tabulaciones, la verdad es muy sencillo de instalar ademas que lleva el efecto incluido solo tienen que agregarlo

     

    Creditos: Firewall Works

     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

  5. quest npc_dopador begin
        state start begin
            when 9010.take with pc.is_gm() begin
                if item.get_type() == ITEM_WEAPON or item.get_type() == ITEM_ARMOR or item.get_sub_type() == ARMOR_EAR then
    				say_title'Npc Dopador Jfirewall'
    				local ver = select('Comenzar a dopar','Ver tabla de bonus','Luego Regreso')
                    local b1,vb1,b2,vb2,b3,vb3,b4,vb4,b5,vb5
    				if ver == 1 then
    					say'1: Introdusca el ID del bonus:'
    					b1 = tonumber(input())
    					say'1: Introdusca el valor que le quieres dar'
    					vb1 = tonumber(input())
    					if vb1 == nil or vb1 >= 1000 then
    						say_title'Firewall'
    						say'Lo siento es mucha cantidad para un item'
    						say'lo maximo son 20'
    						return
    					end
    					
    					say'2: Introdusca el ID del bonus:'
    					b2 = tonumber(input())
    					say'2: Introdusca el valor que le quieres dar'
    					vb2 = tonumber(input())
    					if vb2 == nil or vb2 >= 1000 then
    						say_title'Firewall'
    						say'Lo siento es mucha cantidad para un item'
    						say'lo maximo son 20'
    						return
    					end
    					
    					say'3: Introdusca el ID del bonus:'
    					b3 = tonumber(input())
    					say'3: Introdusca el valor que le quieres dar'
    					vb3 = tonumber(input())
    					if vb3 == nil or vb3 >= 1000 then
    						say_title'Firewall'
    						say'Lo siento es mucha cantidad para un item'
    						say'lo maximo son 20'
    						return
    					end
    					
    					say'4: Introdusca el ID del bonus:'
    					b4 = tonumber(input())
    					say'4: Introdusca el valor que le quieres dar'
    					vb4 = tonumber(input())
    					if vb4 == nil or vb4 >= 1000 then
    						say_title'Firewall'
    						say'Lo siento es mucha cantidad para un item'
    						say'lo maximo son 20'
    						return
    					end
    					
    					say'5: Introdusca el ID del bonus:'
    					b5 = tonumber(input())
    					say'5: Introdusca el valor que le quieres dar'
    					vb5 = tonumber(input())
    					if vb5 == nil or vb5 >= 1000 then
    						say_title'Firewall'
    						say'Lo siento es mucha cantidad para un item'
    						say'lo maximo son 20'
    						return
    					end
    					
    					say'Bonus cambiados con exito'
    					item.set_value(0, b1, vb1)
    					item.set_value(1, b2, vb2)
    					item.set_value(2, b3, vb3)
    					item.set_value(3, b4, vb4)
    					item.set_value(4, b5, vb5)
    					
    				elseif ver == 2 then
    					say_title'Npc Dopador'
    					say'Tabla de bonus en construccion'
    					return
    					
    				elseif ver == 3 then
    					return
    				end
    				
                else
                    syschat'Ocurrio un error no podemos cambiar el bonus'
                end
            end
        end
    end

    Hace mucho tiempo habia creado esta quest para realizar un nuevo sistema que despues lo deje a medias y no quize terminarlo, lo que trata esta quest es de arrastrar x item y añadirle el bonus y la cantidad que quieras, como les digo no esta terminado, pero funciona en lo poco que le hice, ya el que la quiera mejorar o utilizar la tiene.

     

    PD: compartire sistemas creados por mi, que tengo guardados y que en realidad no utilizo, ademas, enseñare a desencriptar clientes que solo tienen una sola extencion con un programa diseñado por mi

     

    buen dia 

  6. En 20/3/2016 a las 15:59, Carlos dijo:

    AYUDA INSTALE SEGUI LOS PASOS QUE DECIA EL MASTER YC PERO SE QUEDA CARGANDO MI CLIENTE Y NO ENTRA AYUDA:

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

     

     

    Foto Game.py

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

     

     

    Alguno me podria decir cual fue el error porfavor.

    Tienes que jugar con las tabulaciones, alguna duda de uso mp

  7. quest dar_item begin

    state start begin

    when kill begin

    local items = {130,115,990,1209,1402}

    local jefes = {

    [691] = {"Jefe Orco"},

    [791] = {"Lider Esoterico"},

    [2492] = {"Comandante_Setaou"},

    [2493] = {"Dragon Azul"},

    [1091] = {"Rey Demonio"},

    [2597] = {"Muerte"},

    [1192] = {"Bruja de Hielo"},

    [1304] = {"Tigre Fantasma"},

    [1901] = {"9 colas"},

    [2091] = {"Reina Araña"}

    }

     

    for i=1, table.getn(items) do

    pc.give_item2(items)

    chat("Has destruido un "..jefes[npc.get_race()][1]..", recibes el item "..item_name(items))

    end

    end

    end

    end

  8. Debes iniciar sesión para ver el contenido del enlace en esta publicación.

     

    No me sale la textura, tengo colocado todos los msm en su sitio las respectivas texturas en su lugar, y no me tira ningún error el sysser la verdad e mirado muchas veces las lineas del playersettingmodule y todo esta como lo tengo, la verdad si alguien me colabora seria bueno, a mi ya se me acabaron las posibilidades de error que tenia.

     

    gracias antemano

×
×
  • Crear nuevo...