Jump to content
  • 0
Sign in to follow this  
magic2938

weapon leveling and stats

Question

guys anyone have a script for a weapon leveling like when you killed monster you can have a exp for weapon and when weapon lvl they will add stats for weapon or stats 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
//=================================================================
//  __                  ____                                      
// /                /  _`   __                                
// ____  __  __   ,L_/_    ___ ___     ___     ___    
//   '__`/ /   /___ / /' __` __`  / __` /' _ `  
//   L _    / L / / / / L / /
//     _,__//`____   `____ _ _ _ _ ____/ _ _
//     /___/  `/___/>   /_____//_//_//_//_//___/  /_//_/
//               /___/                                                      
//=================================================================
//===== eAthena Script ============================================
//=Waffen Lebel System  =
//=================================================================
//===== By ========================================================
//= [simon]                        =
//===== Version ===================================================
//= 1.0 Alpha RELAISE  =
//===== Compatible With ===========================================
//= eAthena SVN SQL  =
//===== Description ===============================================
//= WaffenLevelSystem für alle Waffen  =
//===== Version Info ==============================================
//= 1.0 - Erster Alpha Test                       [simon]  =
//===== Todo ======================================================
//= kA  =
//===== Installation ==============================================
//= In ItemScript: callfunc "WLS_ItemEquip";  =
//= In UnEquip Script: callfunc "WLS_ItemUnEquip";  =
//= In eine gewünschte Waffe einfügen  =
//===== Thanks to =================================================
//= Kaze <3  =
//= Koibito <3  =
//= Für ihre Hilfe =)  =
//=================================================================
 
 
 
 
 
- script WaffenLevelSystem_Config -1,{
 
OnInit:
//EXP für einzelne Level
set $WLS_exp_lvl_1,1000000;
set $WLS_exp_lvl_2,2000000;
set $WLS_exp_lvl_3,4000000;
 
//Waffen/Items die nicht gelevelt werden können (ItemID) max. 128
setarray $WLS_non_level,0;
 
//EXP Steigerung bei besonderen Cards in der Waffe? (0=Nein 1=Ja) NICHT EINGEBAUT
set $WLS_card_more_exp,1;
 
//Level steigerung auch für andere Items ermöglichen (0=Nein 1=Ja) NICHT EINGEBAUT
set $WLS_armor,0;
set $WLS_helmet,0;
set $WLS_shield,0;
set $WLS_shoes,0;
set $WLS_garment,0;
 
//Skill IDs + Levels
setarray $WLS_skill_id[0],6,7,8,10,12,15,16,21,24,26,28,29,34,42,51,52,54,66,68,73,79,83,84,85,88,110,111,112,113,114,135,136,138,139,150,214,215,216,217,225,229,230,234,235,236,237,252,257,264;
setarray $WLS_skill_lvl[0],10,10,10,1,10,10,10,10,1,2,10,10,10,10,10,10,4,5,5,10,10,10,10,10,10,5,5,5,5,10,10,10,10,1,5,5,5,5,10,5,5,5,5,5,5,10,258,1;
 
end;
 
}
 
 
//==============================================================
//= Admin und Spieler NPC ---->>>>
//==============================================================
 
 
kh_vila.gat,12,107,6 script Language/Sprache::WeaponLevelSystem 874,{ 
 
if (!##language) {
set ##language,1;
dispbottom "Deine Sprache ist nun Deutsch.";
} else {
set ##language,0;
dispbottom "Your languagse is now english";
}
end;
}
 
kh_vila.gat,12,107,6 script Xaro::WeaponLevelSystem 874,{ 
 
if (getgmlevel() >= 90) {
set @gm$,"[^0000FFAdmin Menü^000000]";
mes @gm$;
mes "Hi Admin!";
mes "Was willst du tun?";
if (!$WLS_refine_exp) set @WLS_refine$,"Refine EXP Multi ^00FF00aktivieren^000000"; else "Refine EXP Multi ^FF0000deaktivieren^000000";
if (!$waffen_table) set @table$,"Table ^00FF00erstellen^000000"; else set @table$,"Table ^FF0000löschen^000000";
if (!$WLS_unterschied) set @WLS_lvl$,"Level Unterschied ^00FF00aktivieren^000000"; else set @WLS_lvl$,"Level Unterschied (^0000FF"+$WLS_lvl_unterschied+"^000000) ^FF0000deaktivieren^000000";
if (!$WLS_exp_event) set @WLS_exp_event$,"EXP Event ^00FF00aktivieren^000000"; else set @WLS_exp_event$,"EXP Event (^0000FF"+$WLS_event_exp_multi+"^000000/^0000FF"+.tmp_dauer+"^000000) ^FF0000deaktivieren^000000";
next;
mes @gm$;
switch(select(@table$,"Zum Spieler Menü",@WLS_refine$,@WLS_lvl$,@WLS_exp_event$,"Waffe Skill geben","Nix")) {
case 1:
if (!$waffen_table) {
mes "Willst du den Table ^00FF00erstellen^000000?";
next;
mes @gm$;
if(select("Nein:Ja") != 1) {
query_sql "CREATE TABLE IF NOT EXISTS `waffen_level_system` ( `char_id` INT( 11 ) , `char_name` CHAR( 255 ) , `item_id` INT( 11 ) , `item_name` CHAR( 255 ) , `waffen_level` INT( 11 ) , `bonus_level_1` CHAR( 255 ) , `bonus_arg_level_1` INT( 11 ) , `bonus_level_2` CHAR( 255 ) , `bonus_arg_level_2` INT( 11 ) , `bonus_level_3` CHAR( 255 ) , `bonus_arg_level_3` INT( 11 ) , `skill_id` INT( 11 ) , `skill_lvl` INT( 11 ) , `exp` INT( 11 ))"; 
mes "Der Table wurde erstellt.";
set $waffen_table,1;
close;
} else { close; }
} else {
mes "Willst du den Table ^FF0000löschen^000000?";
next;
mes @gm$;
if(select("Nein:Ja") != 1) {
query_sql "TRUNCATE TABLE `waffen_level_system`";
set $waffen_table,0;
mes "Der Table wurde gelöscht..";
close;
} else { close; }
}
case 2:
goto L_Spieler;
case 3:
if ($WLS_refine_more_exp) {
mes "Möchtest du es ^FF0000austellen^000000?";
if (select("Nein:Ja") != 1) {
set $WLS_refine_more_exp,0;
mes "Refine Multi EXP wurde ^FF0000ausgestellt^000000.";
close;
} else { close; }
} else {
mes "Möchtest du es ^00FF00einstellen^000000?";
if (select("Nein:Ja") != 1) {
set $WLS_refine_more_exp,1;
mes "Refine Multi EXP wurde ^00FF00eingestellt^000000.";
close;
} else { close; }
}
case 4:
if ($WLS_unterschied) {
mes "Willst du es wirklich ^FF0000deaktivieren^000000?";
if (select("Nein:Ja") != 1) {
set $WLS_unterschied,0;
mes "Das Level Unterschied System wurde ^FF0000deaktiviert^000000.";
close;
} else { close; }
} else {
mes "Willst du es wirklich ^00FF00aktivieren^000000?";
if (select("Nein:Ja") != 1) {
set $WLS_unterschied,1;
mes "Wie hoch soll der Unterschied sein?";
mes "Angabe in Leveln";
input $WLS_lvl_unterschied;
next;
mes @gm$;
mes "Das Level Unterschied System wurde ^00FF00aktiviert^000000.";
mes "Und das der Unterschied auf ^0000FF"+$WLS_lvl_unterschied+"^000000 Level gesetzt.";
close;
} else { close; }
}
case 5:
if ($WLS_exp_event) {
mes "Möchtest du das Event ^FF0000deaktiviert^000000?";
if (select("Nein:Ja") != 1) {
mes @gm$;
set $WLS_exp_event,0;
set $WLS_event_exp_multi,1;
announce "The EXP Event has ended.",bc_all;
mes "Das Event wurde ^FF0000deaktiviert^000000";
close;
} else { close; }
} else {
mes "Willst du das Event ^00FF00starten^000000?";
if (select("Nein:Ja") != 1) {
mes "Gib den Multiplikator ein!";
next;
input $WLS_event_exp_multi;
mes @gm$;
mes "Willst du einen Timer einstelln?";
if (select("Nein:Ja") != 1) {
mes "Bitte gib die Dauer in minuten an.";
next;
input .tmp_dauer;
mes "Ok, das event wird in kürze gestartet.";
close2;
set $WLS_exp_event,1;
announce "The EXP Event has started.",bc_all;
while(($WLS_exp_event) && (.tmp_dauer != 0)) {
sleep 60000;
set .tmp_dauer,.tmp_dauer-1;
}
set $WLS_exp_event,0;
announce "The EXP Event has ended.",bc_all;
end;
} else {
announce "The EXP Event has started.",bc_all;
set $WLS_exp_event,1;
close;
}
} else { close; }
}
case 6:
close2;
callfunc "WLS_GetSkill";
default: close;
}
}
 
 
L_Spieler:
set @n$,"[^0000FFWeapon Level System^000000]";
mes @n$;
mes ((##language == 1) ? "Willkommen " : "Welcome") + "^FF0000"+strcharinfo(0)+"^000000.";
npc_speech(1,1);
if (!activated) {
if (##language == 1) {
set @m2$,"^CCCCCC-^000000 Ich will es aktivieren";
} else {
set @m2$,"^CCCCCC-^000000 I want to activate it";
}
} else {
if (##language == 1) {
set @m2$,"^CCCCCC-^000000 Ich will es auschalten";
} else {
set @m2$,"^CCCCCC-^000000 I want to disable it";
}
}
if (##language == 1) {
set @m1$,"^CCCCCC-^000000 Was ist dieses System?";
set @m3$,"^CCCCCC-^000000 Mein Waffen Managment";
} else {
set @m1$,"^CCCCCC-^000000 What is this system about?";
set @m3$,"^CCCCCC-^000000 My Weapon Managment";
}
switch(select(@m1$,@m2$,@m3$,"^CCCCCC-^000000Close")) {
case 1:
mes @n$;
npc_speech(2,3);
next;
mes @n$;
npc_speech(4,6);
next;
mes @n$;
npc_speech(7,7);
next;
mes @n$;
npc_speech(8,9);
next;
mes @n$;
npc_speech(10,12);
close;
case 2:
case 2:
mes @n$;
if (!activated) {
npc_speech(13,13);
if (select( (##language == 1) ? "- Ja.:- Nein." : "- Yes.:- No." ) != 1) {
set activated,1;
npc_speech(14,14);
close;
} else { close; }
} else {
npc_speech(15,15);
if (select( (##language == 1) ? "- Ja.:- Nein." : "- Yes.:- No." ) != 1) {
set activated,0;
npc_speech(16,16);
close;
}
}
case 3:
mes @n$;
npc_speech(1,1);
next;
switch(select((##language == 1) ? "^CCCCCC-^000000 Zeig mir die Level:^CCCCCC-^000000 Das Level einer Waffe resetten:^CCCCCC-^000000 Beenden" : "^CCCCCC-^000000 Show Levels:^CCCCCC-^000000 Reset the Level of a weapon:^CCCCCC-^000000 Close" )) {
case 1:
mes @n$;
npc_speech(17,17);
switch(select((##language == 1) ? "^CCCCCC-^000000 Zeig mir alle Waffen:^CCCCCC-^000000 Zeig mir eine spezielle Waffe mit Stats:^CCCCCC-^000000 Nix" : "^CCCCCC-^000000 Show me all weapons:^CCCCCC-^000000 Show me a special weapon with Stats:^CCCCCC-^000000 Nothing")) {
case 1:
mes @n$;
set @current,0;
deletearray @name$[0],getarraysize(@name$);
deletearray @level[0],getarraysize(@level);
query_sql("SELECT count(`item_name`) FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"'",@anzahl);
npc_speech(18,18);
while(@current <= @anzahl[0]) {
query_sql("SELECT `item_name` , `waffen_level` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' LIMIT 20 OFFSET "+@current,@name$,@level);
for ( set @i,0; @i < getarraysize(@name$) ; set @i, @i+1 ){ 
mes @name$[@i]+" ^0000FF||^000000 LvL: ^FF0000"+@level+"^000000";  
next;
}
deletearray @name$[0],getarraysize(@name$);
deletearray @level[0],getarraysize(@level);
set @current,@current+20;
}
close;
 
case 2:
mes @n$;
npc_speech(19,19);
next;
input @wep_name$;
query_sql "SELECT `waffen_level` , `exp` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_name` = '"+@wep_name$+"'", @level, @exp;
mes @n$;
if (!@exp[0]) { npc_speech(20,20); close; }
mes "^0000FF"+@wep_name$+"^000000 have the level: ^0000FF"+@level[0]+"^000000.";
switch(@level[0]) {
case 1:
query_sql "SELECT `bonus_level_1` , `bonus_arg_level_1` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"'", @stat1$, @arg1;
npc_speech(21,21);
mes @stat1$+": +^0000FF"+@arg1[0]+"^000000";
set @tmp_exp,$WLS_exp_lvl_2-@exp[0];
break;
case 2:
query_sql "SELECT `bonus_level_1` , `bonus_arg_level_1` , `bonus_level_2` , `bonus_arg_level_2` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @stat1$, @arg1, @stat2$, @arg2;
npc_speech(21,21);
mes @stat1$+": +^0000FF"+@arg1[0]+"^000000 || "+@stat2$+": +^0000FF"+@arg2[0]+"^000000";
set @tmp_exp,$WLS_exp_lvl_3-@exp[0];
break;
case 3:
query_sql "SELECT `bonus_level_1` , `bonus_arg_level_1` , `bonus_level_2` , `bonus_arg_level_2` , `bonus_level_3` , `bonus_arg_level_3` , `skill_id` , `skill_lvl` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @stat1$, @arg1, @stat2$, @arg2, @stat3$, @arg3,@skill_id,@skill_lvl;
set @tmp_exp,$WLS_exp_lvl_2-@exp[0];
npc_speech(21,21);
mes @stat1$+": +^0000FF"+@arg1[0]+"^000000 || "+@stat2$+": +^0000FF"+@arg2[0]+"^000000 || "+@stat3$+": +^0000FF"+@arg3[0]+"^000000";
break;
default:
set @tmp_exp,$WLS_exp_lvl_1-@exp[0];
break;
}
if (@tmp_exp <= 0)  close;
mes ( ( ##language == 1 ) ? "Ihr braucht " : "You need " ) + "^0000FF" + @tmp_exp + "^000000" + ( ( ##language == 1 ) ? "EXP bis zum Level " : "till level " ) + "^0000FF" + (@level[0] + 1);
close;
default: close;
}
case 2:
mes @n$;
npc_speech(22,22);
if (select( (##language == 1) ? "- Ja.:- Nein." : "- Yes.:- No." ) != 1) {
npc_speech(23,24);
input @wep_name$;
query_sql "SELECT `exp` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' , `item_name` = '"+@wep_name$+"' ", @exp;
if (!@exp[0]) { mes "You havn't train this weapon..."; close; }
query_sql "DELETE FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' , `item_name` = '"+@wep_name$+"'";
next;
mes  ((##language == 1) ? "Ich hab die Waffe resettet :" : "I resetted your ^0000FF")+@wep_name$+"^000000.";
close;
} else { close; }
default: close;
}
default: close;
}
 
function npc_speech {
 
callfunc "npc_speech", "WeaponLevelSystem", getarg(0), getarg(1);
 
return;
}
}
}
 
 
 
 
 
 
//==============================================================
//= Wenn Spieler gekillt wird ---->>>>
//==============================================================
 
- script WLS_PlayerKilled -1,{
 
OnPCKillEvent:
if (!WLS_waffe_equiped) end;
if (activated) {
set .@wep_id,getequipid(4);
if (!.@wep_id) end;
for ( set .@i,0; .@i < getarraysize($WLS_non_level) ; set .@i, .@i+1 ){ 
if (.@wep_id == $WLS_non_level[.@i]) end;
}
query_sql "SELECT `item_id` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @id;
if ($WLS_refine_exp) {
set .@get_exp,rand(50,100)*getequiprefinerycnt(4)*$WLS_event_exp_multi;
} else {
set .@get_exp,rand(50,100)*$WLS_event_exp_multi;
}
if (!.@id[0]) {
query_sql "INSERT INTO `waffen_level_system` (`char_id` , `char_name` , `item_id` , `item_name` , `exp`) VALUES ('"+getcharid(0)+"' , '"+strcharinfo(0)+"' , '"+.@wep_id+"' , '"+getitemname(.@wep_id)+"' , '"+.@get_exp+"')";
dispbottom getitemname(.@wep_id)+" got "+.@get_exp+" EXP";
} else {
dispbottom getitemname(.@wep_id)+" got "+.@get_exp+" EXP";
query_sql "SELECT `exp` , `waffen_level` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"' ", .@exp, .@level;
if (@level[0] == 3) end;
set .@get_exp,.@exp+.@get_exp;;
query_sql "UPDATE `waffen_level_system` SET `exp` =  '"+.@get_exp+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
switch(.@level[0]) {
case 1:
if (.@get_exp >= $WLS_exp_lvl_2) {
specialeffect2 381;
specialeffect2 514;
dispbottom (##language == 1) ? "Deine Waffe ist nun Level 2" : "Your Weapon is now Level 2!!";
unequip 4; 
set .@rnd,rand(1,6);
switch(.@rnd) {
case 1:
set .@stat$,"bStr";
set .@tmp_stat$,"Str";
break;
case 2:
set .@stat$,"bAgi";
set .@tmp_stat$,"Agi";
break;
case 3:
set .@stat$,"bDex";
set .@tmp_stat$,"Dex";
break;
case 4:
set .@stat$,"bInt";
set .@tmp_stat$,"Int";
break;
case 5:
set .@stat$,"bLuk";
set .@tmp_stat$,"Luk";
break;
case 6:
set .@stat$,"bVit";
set .@tmp_stat$,"Vit";
break;
}
set .@arg,rand(10,20);
query_sql "UPDATE `waffen_level_system` SET `waffen_level` = '2' , `bonus_level_2` = '"+.@stat$+"' , `bonus_arg_level_2` = '"+.@arg+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
dispbottom ((##language == 1) ? "Deine Waffe bekommt " : "Your Weapon got")+.@tmp_stat$+"+"+.@arg;
equip @wep_id;
}
case 2:
if (.@get_exp >= $WLS_exp_lvl_3) {
specialeffect2 381;
specialeffect2 514;
dispbottom (##language == 1) ? "Deine Waffe ist nun Level 3" : "Your Weapon is now Level 3!!";
unequip 4; 
set .@rnd,rand(1,6);
switch(.@rnd) {
case 1:
set .@stat$,"bStr";
set .@tmp_stat$,"Str";
break;
case 2:
set .@stat$,"bAgi";
set .@tmp_stat$,"Agi";
break;
case 3:
set .@stat$,"bDex";
set .@tmp_stat$,"Dex";
break;
case 4:
set .@stat$,"bInt";
set .@tmp_stat$,"Int";
break;
case 5:
set .@stat$,"bLuk";
set .@tmp_stat$,"Luk";
break;
case 6:
set .@stat$,"bVit";
set .@tmp_stat$,"Vit";
break;
}
set .@arg,rand(20,30);
query_sql "UPDATE `waffen_level_system` SET `waffen_level` = '3' , `bonus_level_3` = '"+.@stat$+"' , `bonus_arg_level_3` = '"+.@arg+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
dispbottom ((##language == 1) ? "Deine Waffe bekommt " : "Your Weapon got")+.@tmp_stat$+"+"+.@arg;
equip @wep_id;
}
case 3:
break;
default:
if (.@get_exp >= $WLS_exp_lvl_1) {
specialeffect2 381;
specialeffect2 514;
dispbottom (##language == 1) ? "Deine Waffe ist nun Level 1" : "Your Weapon is now Level 1!!";
unequip 4; 
set .@rnd,rand(1,6);
switch(.@rnd) {
case 1:
set .@stat$,"bStr";
set .@tmp_stat$,"Str";
break;
case 2:
set .@stat$,"bAgi";
set .@tmp_stat$,"Agi";
break;
case 3:
set .@stat$,"bDex";
set .@tmp_stat$,"Dex";
break;
case 4:
set .@stat$,"bInt";
set .@tmp_stat$,"Int";
break;
case 5:
set .@stat$,"bLuk";
set .@tmp_stat$,"Luk";
break;
case 6:
set .@stat$,"bVit";
set .@tmp_stat$,"Vit";
break;
}
set .@arg,rand(1,10);
query_sql "UPDATE `waffen_level_system` SET `waffen_level` = '1' , `bonus_level_1` = '"+.@stat$+"' , `bonus_arg_level_1` = '"+.@arg+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
dispbottom ((##language == 1) ? "Deine Waffe bekommt " : "Your Weapon got")+.@tmp_stat$+"+"+.@arg;
set .@rnd,rand(1,10);
equip @wep_id;
 
//==============================================================================================================>>>
//Skill FEHLT!! >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//==============================================================================================================>>>
if (.@rnd == 5) callfunc "WLS_GetSkill"; 
}
}
}
}
end;
 
 
}
 
 
//==============================================================
//= Wenn Monster gekillt wird ---->>>>
//==============================================================
 
 
- script WLS_MonsterKilled -1,{
 
OnNPCKillEvent:
if (!WLS_waffe_equiped) end;
if (activated) {
//UPDATE: Level Check!
if ($WLS_unterschied) {
if (BaseLevel - strmobinfo(3,killedrid) > $WLS_lvl_unterschied) { dispbottom "This Monster is to low to get Weapon EXP"; end; }
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
set .@wep_id,getequipid(4);
for ( set .@i,0; .@i < getarraysize($WLS_non_level) ; set .@i, .@i+1 ){ 
if (.@wep_id == $WLS_non_level[.@i]) end;
}
if (!.@wep_id) end;
if ($WLS_refine_exp) {
set .@get_exp,rand(1,100)*getequiprefinerycnt(4)*$WLS_event_exp_multi;
} else {
set .@get_exp,rand(1,100)*$WLS_event_exp_multi;
}
query_sql "SELECT `item_id` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'", .@id;
if (!.@id[0]) {
query_sql "INSERT INTO `waffen_level_system` (`char_id` , `char_name` , `item_id` , `item_name` , `exp`) VALUES ('"+getcharid(0)+"' , '"+strcharinfo(0)+"' , '"+.@wep_id+"' , '"+getitemname(.@wep_id)+"' , '"+.@get_exp+"')";
dispbottom getitemname(.@wep_id)+" got "+.@get_exp+" EXP";
} else {
query_sql "SELECT `exp` , `waffen_level` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"' ", .@exp, .@level;
if (.@level[0] >= 3) end;
dispbottom getitemname(.@wep_id)+" got "+.@get_exp+" EXP";
set .@get_exp,.@exp+.@get_exp;
query_sql "UPDATE `waffen_level_system` SET `exp` = '"+.@get_exp+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
switch(.@level[0]) {
case 1:
if (.@get_exp >= $WLS_exp_lvl_2) {
specialeffect2 381;
specialeffect2 514;
dispbottom (##language == 1) ? "Deine Waffe ist nun Level 2" : "Your Weapon is now Level 2!!";
unequip 4; 
set .@rnd,rand(1,6);
switch(.@rnd) {
case 1:
set .@stat$,"bStr";
set .@tmp_stat$,"Str";
break;
case 2:
set .@stat$,"bAgi";
set .@tmp_stat$,"Agi";
break;
case 3:
set .@stat$,"bDex";
set .@tmp_stat$,"Dex";
break;
case 4:
set .@stat$,"bInt";
set .@tmp_stat$,"Int";
break;
case 5:
set .@stat$,"bLuk";
set .@tmp_stat$,"Luk";
break;
case 6:
set .@stat$,"bVit";
set .@tmp_stat$,"Vit";
break;
}
set .@arg,rand(10,20);
query_sql "UPDATE `waffen_level_system` SET `waffen_level` = '2' , `bonus_level_2` = '"+.@stat$+"' , `bonus_arg_level_2` = '"+.@arg+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
dispbottom ((##language == 1) ? "Deine Waffe bekommt " : "Your Weapon got")+.@tmp_stat$+"+"+.@arg;
equip @wep_id;
}
case 2:
if (.@get_exp >= $WLS_exp_lvl_3) {
dispbottom "muh3";
specialeffect2 381;
specialeffect2 514;
dispbottom (##language == 1) ? "Deine Waffe ist nun Level 3" : "Your Weapon is now Level 3!!";
unequip 4; 
set .@rnd,rand(1,6);
switch(.@rnd) {
case 1:
set .@stat$,"bStr";
set .@tmp_stat$,"Str";
break;
case 2:
set .@stat$,"bAgi";
set .@tmp_stat$,"Agi";
break;
case 3:
set .@stat$,"bDex";
set .@tmp_stat$,"Dex";
break;
case 4:
set .@stat$,"bInt";
set .@tmp_stat$,"Int";
break;
case 5:
set .@stat$,"bLuk";
set .@tmp_stat$,"Luk";
break;
case 6:
set .@stat$,"bVit";
set .@tmp_stat$,"Vit";
break;
}
set .@arg,rand(20,30);
query_sql "UPDATE `waffen_level_system` SET `waffen_level` = '3' , `bonus_level_3` = '"+.@stat$+"' , `bonus_arg_level_3` = '"+.@arg+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
dispbottom ((##language == 1) ? "Deine Waffe bekommt " : "Your Weapon got")+.@tmp_stat$+"+"+.@arg;
equip @wep_id;
}
case 3:
break;
default:
if (.@get_exp >= $WLS_exp_lvl_1) {
dispbottom "muh1";
specialeffect2 381;
dispbottom (##language == 1) ? "Deine Waffe ist nun Level 1" : "Your Weapon is now Level 1!!";
unequip 4; 
set .@rnd,rand(1,6);
switch(.@rnd) {
case 1:
set .@stat$,"bStr";
set .@tmp_stat$,"Str";
break;
case 2:
set .@stat$,"bAgi";
set .@tmp_stat$,"Agi";
break;
case 3:
set .@stat$,"bDex";
set .@tmp_stat$,"Dex";
break;
case 4:
set .@stat$,"bInt";
set .@tmp_stat$,"Int";
break;
case 5:
set .@stat$,"bLuk";
set .@tmp_stat$,"Luk";
break;
case 6:
set .@stat$,"bVit";
set .@tmp_stat$,"Vit";
break;
}
set .@arg,rand(1,10);
query_sql "UPDATE `waffen_level_system` SET `waffen_level` = '1' , `bonus_level_1` = '"+.@stat$+"' , `bonus_arg_level_1` = '"+.@arg+"' WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+.@wep_id+"'";
dispbottom ((##language == 1) ? "Deine Waffe bekommt " : "Your Weapon got")+.@tmp_stat$+"+"+.@arg;
equip @wep_id;
set .@rnd,rand(1,10);
if (.@rnd == 5) callfunc "WLS_GetSkill";
}
}
}
}
}
 
 
 
 
function script WLS_ItemEquip {
set WLS_waffe_equiped,1;
set @wep_id,getequipid(4);
query_sql "SELECT `waffen_level` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @level;
switch(@level[0]) {
case 1:
query_sql "SELECT `bonus_level_1` , `bonus_arg_level_1` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @stat1$, @arg1;
callfunc "GetStatName",@stat1$[0],@arg1[0];
dispbottom "Stats: "+@stat1$+"+"+@arg1[0];
break;
case 2:
query_sql "SELECT `bonus_level_1` , `bonus_arg_level_1` , `bonus_level_2` , `bonus_arg_level_2` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @stat1$, @arg1, @stat2$, @arg2;
callfunc "GetStatName",@stat1$[0],@arg1[0];
callfunc "GetStatName",@stat2$[0],@arg2[0];
dispbottom "Stats: "+@stat1$+"+"+@arg1[0]+" || "+@stat2$+"+"+@arg2[0];
break;
case 3:
query_sql "SELECT `bonus_level_1` , `bonus_arg_level_1` , `bonus_level_2` , `bonus_arg_level_2` , `bonus_level_3` , `bonus_arg_level_3` , `skill_id` , `skill_lvl` FROM `waffen_level_system` WHERE `char_id` = '"+getcharid(0)+"' AND `item_id` = '"+@wep_id+"' ", @stat1$, @arg1, @stat2$, @arg2, @stat3$, @arg3,@skill_id,@skill_lvl;
callfunc "GetStatName",@stat1$[0],@arg1[0];
callfunc "GetStatName",@stat2$[0],@arg2[0];
callfunc "GetStatName",@stat3$[0],@arg3[0];
if (@skill_lvl[0] != 0) { skill @skill_id[0],@skill_lvl[0],1; set @skill$," || +Skill"; } else set @skill$,"";  
dispbottom "Stats: "+@stat1$+"+"+@arg1[0]+" || "+@stat2$+"+"+@arg2[0]+" || "+@stat3$+"+"+@arg3[0]+@skill$;
break;
default: break;
end;
 
}
 
function script WLS_ItemUnEquip {
set WLS_waffe_equiped,0;
end;
}
 
 
function script GetStatName {
 
if (getarg(0) == "bAgi") {
bonus bAgi,getarg(1);
} else if (getarg(0) == "bStr") {
bonus bStr,getarg(1);
} else if (getarg(0) == "bInt") {
bonus bInt,getarg(1);
} else if (getarg(0) == "bVit") {
bonus bVit,getarg(1);
} else if (getarg(0) == "bDex") {
bonus bDex,getarg(1);
} else if (getarg(0) == "bLuk") {
bonus bLuk,getarg(1);
} else {
dispbottom (##language == 1) ? "ERROR GetStatName Function!!! Berichte es einen Admin." : "ERROR GetStatName Function!!! Report it to an Admin.";
}
 
return;
 
}
 
function script WLS_GetSkill {
 
getskilllist;
set @ok,0;
while(!@ok) {
set @index,rand(0,getarraysize($WLS_skill_id));
set @skill_id,$WLS_skill_id[@index];
set @skill_lvl,rand(1,$WLS_skill_lvl[@index]);
for ( set @i, 0; @i< getarraysize(@skilllist_id); set @i, @i + 1 ) {
if (@skilllist_id[@i] == @skill_id) {
break;
} else { set @ok,1; }
}
}
query_sql "UPDATE `waffen_level_system` SET `skill_id` = '"+@skill_id+"' , `skill_lvl` = '"+@skill_lvl+"' WHERE `char_id` =  '"+getcharid(0)+"'";
dispbottom (##language == 1) ? "Glückwunsch, deine waffe hat einen Skill bekommen!" : "Gratz, your weapon got a Skill!!";
end;
 
}

post-6954-0-52812800-1424259086_thumb.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

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