Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Reputation Activity

  1. Upvote
    jaBote got a reaction from Söel in Ranking PvP Mooka com classes [site]   
    Já editei a minha resposta e marquei como resolvido. Feliz que serviu.
  2. Upvote
    jaBote got a reaction from JulioCF in Como cancelar uso de YGG / SEEDS durante a WOE   
    Mais facil ainda:
     
    Ir a db/re/map_zone_db.conf para Renovação ou db/pre-re/map_zone_db.conf para Pre-Renovação.
     
    Procure:
    { /* GvG zone is applied to all maps with a gvg mapflag */ name: "GvG" /* changing this name requires MAP_ZONE_GVG_NAME to also be changed in src/map/map.h file */ disabled_skills: { AL_TELEPORT: "PLAYER" AL_WARP: "PLAYER" WZ_ICEWALL: "PLAYER" TF_BACKSLIDING: "PLAYER" RG_INTIMIDATE: "PLAYER" WE_CALLPARTNER: "PLAYER" HP_ASSUMPTIO: "PLAYER" HP_BASILICA: "PLAYER" CG_MOONLIT: "PLAYER" WE_CALLPARENT: "PLAYER" WE_CALLBABY: "PLAYER" CR_CULTIVATION: "PLAYER" NJ_KIRIKAGE: "PLAYER" CASH_ASSUMPTIO: "PLAYER" BS_GREED: "PLAYER" SC_FATALMENACE: "PLAYER" SC_DIMENSIONDOOR: "PLAYER" } disabled_items: { Assumptio_5_Scroll: true Greed_Scroll: true Pty_Assumptio_Scroll: true } /* 5 second duration increase on GvG */ /* knockback disabled */ /* GvG Mode Damage Reductions */ /* - weapon_damage_rate -40% */ /* - magic_damage_rate -40% */ /* - misc_damage_rate -40% */ /* - long_damage_rate -20% */ /* - short_damage_rate -20% */ mapflags: ( "invincible_time_inc 5000", "noknockback", "weapon_damage_rate 60", "magic_damage_rate 60", "misc_damage_rate 60", "long_damage_rate 80", "short_damage_rate 80", "nocashshop", "gvg_noparty", ) },  
    E adicione o seguinte no grupo de disabled_items:
    Yggdrasilberry: trueSeed_Of_Yggdrasil: true  
    é pronto.
  3. Upvote
    jaBote reacted to Mumbles in Pedido Blue Ghost setup   
    Here's a ZIP archive containing the file you requested: http://www.mediafire.com/download/9yu5xgex7fqsk8p
  4. Upvote
    jaBote reacted to Patskie in request - npc who give hourly points   
    - script hourly_points -1,{OnInit: //Configs .time = 60 * 60 * 1000; // Time in milliseconds. Default: 1 hour (60 * 60 * 1000) .max_idle = 15 * 30; // Maximum idle time in seconds .points = 1; // Points to give the user each active hour. .points_variable$ = "#CASHPOINTS"; // Variable name to store the points end;OnPCLoginEvent: addtimer .time, strnpcinfo(3)+"::OnPoints"; end;OnPoints: if (checkidle() < .max_idle && checkvending() != 2) { setd .points_variable$, getd(.points_variable$) + .points; dispbottom "Current Balance = " + #CASHPOINTS; goto OnPCLoginEvent; } end;}  
    Would trigger once only after script has been executed. 
     
     
    You can access character and account variables. In your example instead of doing too many query_sql commands. You can do like 
    dispbottom "Current Balance = " + hourlypoints;
  5. Upvote
    jaBote got a reaction from oblinez in request - npc who give hourly points   
    There you go. Edit it to further suit your needs:
     
    - script hourly_points -1,{OnInit: //Configs .time = 60 * 60 * 1000; // Time in milliseconds. Default: 1 hour (60 * 60 * 1000) .max_idle = 15 * 30; // Maximum idle time in seconds .points = 1; // Points to give the user each active hour. .points_variable$ = "#CASHPOINTS"; // Variable name to store the points end;OnPCLoginEvent: addtimer .time, strnpcinfo(3)+"::OnPoints"; end;OnPoints: if (checkidle() < .max_idle && checkvending() != 2) { setd .points_variable$, getd(.points_variable$) + .points; } end;}
  6. Upvote
    jaBote got a reaction from JulioCF in Ranking PvP Mooka com classes [site]   
    Já editei a minha resposta e marquei como resolvido. Feliz que serviu.
  7. Upvote
    jaBote reacted to Hyroshima in Ajuda com pack iniciante   
    O símbolo para set variável de conta seria o #.
     
     
    set #item,10;  Não use aspas duplas se vai guardar nessas variáveis números.
     
    E então você verifica se o player já pegou algo que só pode 1 vez por conta.
     
    Abaixo fiz um exemplo de um code pra você.
     
    prontera,150,172,5 script ScriptTest 512,{ mes "Olá, gostaria de receber alguns itens de graça?"; next; if(select("Sim:Não")==2){ close; } if(#Freeget == .Maxgetitem) { mes "Háa, infelizmente você já pegou a quantidade que podia!"; mes "["+#Freeget+"/"+.Maxgetitem+"]"; close; } getitem .ItemID,.ItemValue; if(.FreeZeny != 0) set Zeny,Zeny+.FreeZeny; mes "Prontinho, você pode pegar esses itens ["+#Freeget+"/"+.Maxgetitem+"] ."; set #Freeget,#Freeget+1; close;OnInit: //*- Essa label (lbl) faz com que as variáveis abaixo // seja carregada assim queo emulador for iniciado(re-iniciado). // essas são variáveis de npc. set .Maxgetitem,1; // Quantidade de vezes que a pessoa pega por conta. set .ItemID,607; // ID do item que ele vai receber. set .ItemValue,2; // Quantidade do item a receber. set .FreeZeny,0; // Quantidade de Zeny (0 = Desativado).end;}
  8. Upvote
    jaBote got a reaction from mukinhas in Ranking PvP Mooka com classes [site]   
    Já editei a minha resposta e marquei como resolvido. Feliz que serviu.
  9. Upvote
    jaBote got a reaction from Söel in Ranking PvP Mooka com classes [site]   
    Vistos os dados, a consulta SQL você deveria fazer é a seguinte:
    SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50  
    Teste, e voçê me dizer.
  10. Upvote
    jaBote got a reaction from mukinhas in Ranking PvP Mooka com classes [site]   
    A minha pergunta é: como têm aparecido clãs na tabela? A não ser que a tabela foi concebida para o armazenamento de clãs em vez de jogadores, ou clãs e jogadores ao mesmo tempo. Nesse caso eu necessito de mais informaçao do script que maneja as inserções na tabela.
  11. Upvote
    jaBote got a reaction from mukinhas in Ranking PvP Mooka com classes [site]   
    Oh, mea culpa. O resultado é na membro 'class' do array $pvp, não na 'classe'. Eu editei o meu post anterior.
     
    Se o erro não é resolvido, favor poste a mensagem do erro aqui.
     
    P.E.: Eu testei este código e parece funcional
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Ranking PvP Mooka</title></head> <body><?php for ($i = 0; $i <= 6; $i++) echo nome_do_classe($i) . '<br>';?></body></html><?phpfunction nome_do_classe($classe) { switch($classe) { case 0: return "Novice"; case 1: return "Swordman"; case 2: return "Mage"; case 3: return "Archer"; case 4: return "Acolyte"; case 5: return "Merchant"; case 6: return "Thief"; // (Adicione as classes restantes) default: return "Erro"; }}?>
  12. Upvote
    jaBote got a reaction from JulioCF in Queria almentar Delay da BG para uns 10 min   
    Desculpe, eu estava errado. BG_Delay_Tick é o delay para os desertores na BG.
     
    O delay da BG não tem nada a ver com esse script porque o script mais recente usa quests (desativadas por padrão, ou seja, 0 delay). Me deixe ver seu script para a admissão do jogadores na KvM.
     
    P.E.: Eu não sou Português ou Brasileiro, sou Espanhol e tento aprender um pouco, me desculpe meus erros escrevendo.
  13. Upvote
    jaBote got a reaction from mukinhas in Ranking PvP Mooka com classes [site]   
    Eu poderia ver a estrutura da tabela?
     
    A tabela é na mesma base de dados como o resto de dados no jogo?
  14. Upvote
    jaBote got a reaction from mukinhas in Ranking PvP Mooka com classes [site]   
    Sim. Também gostaria de saber se a coluna id da tabela é para char id ou account id.
     
    Então use a seguinte consulta SQL em vez da atual:
    SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50  
    e pode mudar tudo o codigo para o seguinte (adicione as classes restantes):
    <?PHP $connecta = mysql_connect('127.0.0.1','ragnarok','ragnarok');$db = mysql_select_db('ragnarok');?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css" href="estilo.css" /><title>Ranking PvP Mooka</title></head> <body><div id="ranking"><table border="0" cellpadding="0" cellspacing="0"> <tr align="center" id="title"> <td>Posição</td> <td>Nome</td> <td>Classe</td> <td>Matou</td> </tr> <?PHP $tabela = mysql_query("SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50"); $pos = 1; while($pvp = mysql_fetch_assoc($tabela)){ echo ' <tr align="center" id="player"> <td>'.$pos.'º</td> <td>'.$pvp['name'].'</td> <td>'.nome_do_classe($pvp['class']).'</td> <td>'.$pvp['kills'].'</td> </tr> '; $pos++; } ?></table></div> </body></html><?phpfunction nome_do_classe($classe) { switch($classe) { case 0: return "Novice"; case 1: return "Swordman"; case 2: return "Mage"; case 3: return "Archer"; case 4: return "Acolyte"; case 5: return "Merchant"; case 6: return "Thief"; // (Adicione as classes restantes) default: return "Erro"; }}?>  
    Pode utilizar este arquivo se quiser: http://sourceforge.net/p/cerescp/svn/HEAD/tree/trunk/db/jobs.txt
     
    Em outro caso, me dizer e tentarei de adapta-lo.
     
    P.E.: Eu não sou Português ou Brasileiro, sou Espanhol, me desculpe meus erros.
  15. Upvote
    jaBote reacted to Jedzkie in Problemas con algunas modificaciones...   
    I translate your question in google and you can find all of your questions in db/(PRE-RE or RE)/map_zone_db.conf
  16. Upvote
    jaBote got a reaction from Sunzuki in sql and txt   
    Haven't tested, but they should since they load all the data from the SQL table instead of the conf engine.
  17. Upvote
    jaBote got a reaction from Legend in RO Open Setup, v3.1.0.627 - last updated 2023/11/18   
    Meep meep
     
    IDINFOICON_SOUND_MISSINGFILES, "Aviso: Los archivos de "Miles Sound System" faltan o están corruptos.nnFaltan todos o algunos de los siguientes archivos: 'mss32.dll', 'mssfast.m3d', 'mp3dec.asi'. La música del juego podría no funcionar." IDCHECKBOX_MONSTERHP, "Activa o desactiva mostrar la barra de vida restante (HP) de los monstruos.nnUso en el juego: /monsterhp" IDCHECKBOX_Q1, "Activa o desactiva el mapeo de F9 al ratón.nPermite utilizar la skill asignada a la tecla F9 con un click derecho.nnUso en el juego: /quickspell o /q1" IDCHECKBOX_Q2, "Activa o desactiva el mapeo de F7 y F8 al ratón.nPermite utilizar skills asignadas a las teclas F7 y F8 desplazando la rueda del ratón hacia arriba y abajo, respectivamente.nnUso en el juego: /quickspell2 o /q2"
  18. Upvote
    jaBote got a reaction from mrlongshen in Monster Wiki Version 3 problem   
    [Warning]: script error in file 'npc/custom/monsterwiki.txt' line 14 column 3 parse_syntax: use of deprecated keyword (use 'case' instead).  
    Here's your answer: lowercase it, use 'case' instead of 'Case'.
  19. Upvote
    jaBote got a reaction from Helena in How to also block/check for items in cart?   
    There's no current script command to retrieve the item list from a character's cart (or storage, or gstorage if ever needed), so you'd have to rethink and hope the player's cart has been saved previously to entering the WoE map and do a SQL query like this:
     
    query_sql("SELECT `nameid` FROM `cart_inventory` WHERE `char_id` = " + getcharid(0), .@itemids);  
    You'll get all Item IDs the player has on this cart on the array .@itemids, so you have now to loop through it and check for every blacklisted item on each entry.
  20. Upvote
    jaBote reacted to Keith in [Release] ADI (Auto Database Installer) [Linux]   
    Hello everyone!
     
    My name is Keith, I've been around the RO community since early 2003, it's been years since I've contributed to the community ...well since deving at eAthena..anyway.. today I'm releasing my script I created that installs the database for you, you can choose either pre-renewal or renewal, it's all up to you.
     
     
    How do you use it?
     
    It's simple!..just.. copy/paste the content from the URL below into a .sh file, make it a executable (chmod +x db-installer.sh) and run it (./db-installer.sh)
     
     
    Download: https://gist.github.com/KeithGS/bc6a3220c488ae11f870
    UPDATED: 06/18/14 4:20 CST
     
    UPDATE: Now includes inserting log database into main database if you choose not to have a separate database for logs. 
     
    UPDATE 2: Fixed some minor bugs.
     
    UPDATE 3: Some spacing issues, and grammar fixes.
     
    Picture in Action:
     

     
    Have any questions? Please let me know.
  21. Upvote
    jaBote reacted to aero011 in About Thor Patcher again (GRF)   
    Here's a guide i'm giving when they purchased thor patcher.

    Hope this can help you.
     
     

  22. Upvote
    jaBote reacted to Tragedy in [SRC] Love Benediction (Skill Custom)   
    Veo que hay poca actividad de aportes en el foro de español, así que poco a poco iré posteando una que otra cosa que he desarrollado. Esta fue una sencilla skill custom que desarrollé hace unos 3/4 años para un servidor viejo que tuve y mi primer aporte en DivineRO.
     
    Bueno aquí les cuento un poco como surgió la idea.
     
    Varias de las parejas dentro de un servidor el cual trabajé hace años me sugirieron    
      Segun ellos por que les encanta levear juntos en pareja etc y les caeria bien un "beneficio"... Dije ok, me pareció interesante la idea y bueno... ¿Por que no hacerla?   (Disculpen el nombre de la Skill, mi imaginación en ese tipo de cosas es PÉSIMA)   No es la gran cosa, asi que hay va:   En Unit.C   Buscar   case WE_MALE:case WE_FEMALE:   
      Y añadir Abajo   case F_BENEDICTION:    En Skill.C   Buscamos       case WE_FEMALE:        {            int sp_rate=(skilllv <= 0)? 0:skill_db[skillid].sp_rate[skilllv-1];            int gain_sp=tstatus->max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it costed the caster. [Skotlex]            clif_skill_nodamage(src,bl,skillid,status_heal(bl, 0, gain_sp, 0),1);        }        break;   
      Y añadimos de bajo    
        case F_BENEDICTION:        {                                                            //Indicamos que dopa saldre de forma random, lvl de la Skill y duraccion de la Skill (El dope solo durara 1 minuto)            int bene = rand()%5;                 switch (bene)                {                    case 0: // Bless                    sc_start(bl,SC_BLESSING,100,10,60000);                    break;                                      case 1: // Agi                    sc_start(bl,SC_INCREASEAGI,100,10,60000);                    break;                                      case 2: // Assump                    sc_start(bl,SC_ASSUMPTIO,100,10,60000);                    break;                                      case 3: // Angelus                    sc_start(bl,SC_ANGELUS,100,10,60000);                    break;                    case 4: // Wind Walk                    sc_start(bl,SC_WINDWALK,100,10,60000);                    break;                                                     }                                    }            clif_specialeffect(bl, 363, AREA);   // Indicamos el efecto visual de la Skill (Chequen en la documentación de Eathena, el archivoeffect_list.txt para mas efectos            clif_emotion(sd,3); // Indicamos el emoticon /lv e_lv (Chequen su const.txt en su carpeta DB)            break;      En su Skill.H    
    EL_ROCK_CRUSHER_ATK,     EL_STONE_RAIN,   
     
      Y añadimos abajo:    
        //Custom    F_BENEDICTION = 990,   
        Bien ya acabamos la parte del SRC   Seguimos con lo demas   item_db.txt   Modificamos:    
    2634,Bridegroom_Ring,Wedding Ring,5,0,,0,,0,,0,0xFFFFFFFF,7,1,136,,0,0,0,{ skill "WE_MALE",1; skill "WE_FEMALE",1; skill "WE_CALLPARTNER",1; },{},{}2635,Bride_Ring,Wedding Ring,5,0,,0,,0,,0,0xFFFFFFFF,7,0,136,,0,0,0,{ skill "WE_MALE",1; skill "WE_FEMALE",1; skill "WE_CALLPARTNER",1; },{},{}   
      Por:   2634,Bridegroom_Ring,Wedding Ring,5,0,,0,,0,,0,0xFFFFFFFF,7,1,136,,0,0,0,{ skill "WE_MALE",1; skill "WE_FEMALE",1; skill "WE_CALLPARTNER",1; skill "F_BENEDICTION",1; },{},{}2635,Bride_Ring,Wedding Ring,5,0,,0,,0,,0,0xFFFFFFFF,7,0,136,,0,0,0,{ skill "WE_MALE",1; skill "WE_FEMALE",1; skill "WE_CALLPARTNER",1; skill "F_BENEDICTION",1; },{},{}   
      En Skill_db.txt    
    10014,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0,    GD_DEVELOPMENT,Permanent Development //10015,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0,    GD_ITEMEMERGENCYCALL,Unknown Skill    Y añadimos abajo    
    990,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0,    F_BENEDICTION,Love Benediction   
      En Skill_cast_db.txt   Buscamos    
    //-- GD_EMERGENCYCALL 10013,5000,0,0,0,300000 //=   
      Y añadimos de bajo    
    +//-- F_Benediction990,3000,60000,0,0,0   
      Tiene un delay de 1 minuto, para que sea una dopa cada vez que hagan la Skill, ya los tiempos dependen de ustedes    
     
     
    Si tienen algún pedido o idea que quieran que desarrolle, no duden en contactarme. Estaré activo en este foro para darle un poco de vida a la sección en español.
     
    En la semana añadiré un paquete de plugins de skills elementales custom, junto con esta, así se daran idea de como hacer un plugin.
  23. Upvote
    jaBote got a reaction from Hadeszeus in @unmute player on specific map onLogoutEvent   
    Yes, you can be creative ending it.
     
    According to source:
    /*========================================== * @unmute [Valaris] *------------------------------------------*/ACMD(unmute) { struct map_session_data *pl_sd = NULL; if (!message || !*message) { clif->message(fd, msg_txt(1234)); // Please enter a player name (usage: @unmute <char name>). return false; } if ( (pl_sd = map->nick2sd((char *)message)) == NULL ) { clif->message(fd, msg_txt(3)); // Character not found. return false; } if(!pl_sd->sc.data[SC_NOCHAT]) { clif->message(sd->fd,msg_txt(1235)); // Player is not muted. return false; } pl_sd->status.manner = 0; status_change_end(&pl_sd->bl, SC_NOCHAT, INVALID_TIMER); clif->message(sd->fd,msg_txt(1236)); // Player unmuted. return true;}  
    Since I suppose you already know your character is logged in and muted you can skip all the checks and go directly to what you want. Try this instead?
    OnPCLogoutEvent: if (strcharinfo(3) == "guild_vs1" ) { Manner = 0; // sc_end SC_NOCHAT; // Edit, not needed as of the documentation says? } end;  
    EDIT: You've also got some nice advice on the scripting documentation regarding that on our scripting documentation :
     
      I've just commented out the SC_NOCHAT line. If that doesn't work just edit the script and try with that uncommented again   P.S.: You sure you didn't get any warning or so from the console when trying to atcommand? O.o
  24. Upvote
    jaBote got a reaction from Tragedy in Normas del foro (traducidas al español)   
    Aunque tratamos de evitar hacer de los foros una dictadura, nos gustaría que siguieras las pocas normas que tenemos para hacer mejor tu experiencia en Hercules. Se espera que todos los miembros de la comunidad las siga o se podrán aplicar sanciones: desde una advertencia verbal, pasando por un incremento de tu nivel de warn, revisión de moderador (los moderadores aprobarán tus posts), suspensión de posteo (puedes leer los foros pero no postear) y hasta la suspensión total del foro (no podrás ver ni postear).

    Líneas Generales de Posteo:
    Los posts no deberán contener SPAM. Se considera spam cualquier post de una palabra, posts que no aporten nada al tema o múltiples posts seguidos sin razón. Tampoco se permitirá postear en la sección incorrecta. Los posts del foro Off-Topic son la única excepción. No se permite postear temas por duplicado. Publica tus temas una sola vez en la sección correcta. Si
    accidentalmente posteas en la sección equivocada, utiliza el botón Report (Reportar) para reportar tu propio post: nuestros moderadores se harán cargo de él por ti. Los posts en las secciones de soporte se pueden  reavivar (siempre que no estén muertos, ver siguiente sección) con más información en no menos de 24 horas desde el último post. Si tienes información nueva en menos de 24h, edita tu post anterior. Revivir temas muertos está prohibido a menos que se disponga de información constructiva que añadir.
    En otro caso, el tema está muerto por alguna razón. Si algún link está roto, por favor envía un MP al miembro que lo posteó, no comentes que el link está
    roto en el tema: será considerado spam.

    Firmas y Avatares
    Las firmas no deben exceder de 650px de ancho y 150px de alto EN TOTAL. Esto incluye las imágenes y su
    respectivo texto en caso de haberlo. Las firmas, además, no podrán enlazar a nada de warez, sistemas para hacerse rico rápidamente, desnudez o cualquier obscenidad. Los avatares no podrán ser de naturaleza inapropiada, por ejemplo desnudez u obscenidades. Las firmas y los avatares pueden ser eliminados a discreción de un moderador, dependiendo de su
    contenido. Por favor, ten en cuenta que el resto de normas del foro también aplican a tu firma, avatar y título
    personalizado.

    Lenguas
    Debe hacerse uso del inglés en cualquier sección de habla inglesa. Si no te desenvuelves bien con el
    inglés, por favor busca y utiliza el foro internacional en tu lengua, al final de la página principal.

    Etiqueta General del Foro
    Por favor, evita postear un mensaje completamente en mayúsculas, usar una cantidad excesiva de
    emoticonos o hacer de cualquier otra forma tu post molesto y difícil de leer. No se adrmite ningún tipo de acoso. Tampoco se admite el Trolleo y el Flameo a otros usuarios. Crear una nueva cuenta si tu cuenta actual está baneada no está permitido. En ese caso, lo más seguro
    es que tu nueva cuenta sea baneada instantáneamente sin previo aviso. No se admiten posts que enlacen a pornografía, desnudez, warez o sistemas para hacerse rico rápidamente. Se desaconseja intentar suplantar el trabajo de un moderador. Por favor, utiliza el botón Report (disponible en la esquina inferior derecha de cada post). Está prohibido hacer publicidad de cualquier forma (excepto en la sección Advertisement y las secciones
    de publicitación de cada sección internacional). No se permite solicitar dinero a través de MP o del propio foro. Por favor, no edites tus posts para eliminar tu pregunta una vez tu problema se ha resuelto.

    Sección Paid Services
    Los temas nuevos en la sección Paid Services son invisibles hasta que son aprobados por un administrador.
    Si un miembro del foro no tiene un anuncio aprobado en la sección Paid Services, no puede tener anuncios en su firma o hacer ningún post en los foros sobre sus servicios. La sección Paid Services está para publicitar solo tus servicios de pago. No publicites tu servidor personal (de Ragnarok Online). No hay problema en dar links a otros servidores si los usas como referencias de tu trabajo (diseños,
    trabajos, características, etc., que hayas creado. Esto no aplica a servicios relacionados con el código fuente: por favor, simplemente publica los trozos de código que veas oportuno. Todos los Servicios de Pago deberán usar HTTPS en las partes más sensibles de sus sitios. Esto
    incluye, pero no está limitado a: formularios que recogen contraseñas o alguna información personal o de
    pago. Todos los proveedores de hosting deberán tener una web en la que los usuarios puedan solicitar sus
    servicios fácilmente. Si ofreces servicios de scripting/modificación de código fuente, tener una web es opcional.

    ¿Qué tipos de servicios se admiten?
    Hosting de Servidores (VPS, hosting web) Servicios de Scripting/Modificaciones del código fuente Servicios Gráficos (mapas, sprites, diseño web, etc.) Servicios de Programación Web Modificaciones Client-Side (de lado del Cliente)

    Estas normas pueden cambiar en cualquier momento.
    Infringir estas normas conllevará un posible aviso o sanción. Tres infracciones leves acarrearán un ban temporal, y cinco conllevarán un ban permanente. Según las circunstancias de la sanción, se podrá aplicar un ban permanente en cualquier momento. Puedes apelar cualquier acción que algún Moderador (Moderator) haya tomado en tu contra contactando con un Moderador Global (Global Moderator) a través de un mensaje privado (PM). Deberás aportar una razón válida y un enlace hacia la decisión que estés apelando. No envíes un PM al Moderador que haya actuado originalmente contra ti, pues es posible que te acarree más problemas.

    El Staff de Hercules hace cumplir estas normas. Por favor, respeta al Staff y a sus decisiones.
  25. Upvote
    jaBote got a reaction from Kichi in script_command call NPC   
    You've got a clear example at mob.c for example, on this chunk of code (sorry for no tabs at all, it screws up):
     
    if( md->npc_event[0] && !md->state.npc_killmonster ) { if( sd && battle_config.mob_npc_event_type ) { pc->setparam(sd, SP_KILLERRID, sd->bl.id); npc->event(sd,md->npc_event,0); } else if( mvp_sd ) { pc->setparam(mvp_sd, SP_KILLERRID, sd?sd->bl.id:0); npc->event(mvp_sd,md->npc_event,0); } else npc->event_do(md->npc_event); } else if( mvp_sd && !md->state.npc_killmonster ) { pc->setparam(mvp_sd, SP_KILLEDRID, md->class_); npc->script_event(mvp_sd, NPCE_KILLNPC); // PCKillNPC [Lance] }  
    Just use npc->script_event(sd, npc_event) for when you want to attach a player or npc->event_do(npc_event) for an event without any attached player. The NPC event can be hardcoded if you want ("NPCNAME::OnMyEventName") if you find it simpler.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.