quest change_name begin state start begin when 40001.use begin say_title("İsim izi ") if pc.is_married() then say("Evli olduğun için isim değiştiremezsin.") say("") return end if pc.is_polymorphed() then say("Dönüşmüş halde isim değiştiremezsin.") say("") return end if pc.has_guild() then say("Bir loncanın üyesiyken isim değiştiremezsin.") say("") return end if party.is_party() then say("İsim değiştirmek için gruptan çıkmalısın.") say("") return end if pc.get_level() < 80 then say("İsim değiştirmek için yeterli seviyede değilsin.") say("80. seviyeye ulaştığında tekrar dene.") return end if get_time() < pc.getqf("next_time") then say("Henüz isim değiştiremezsin.") say("") say_reward("Tekrar isim değiştirebileceğin tarih:") say_reward(string.format("%s", time_to_str(pc.getqf("next_time")))) if is_test_server() == true then say("Test serverdayken bu süre sıfırlanır.") say("") else return end end say("Yeni ismini aşağıdaki kutuya yaz.") local name = pc.name local str = input() local newname = "(("..str.."))" local ret = pc.change_name(newname) if string.len(str) > 15 then say_title("İsim izi") say("İsim çok uzun.") return end if ret == 0 then say_title("İsim izi") say("İsim geçerli değil. Başka bir isim") say("yaz. Türkçe veya özel karakter kullanma.") say("Lütfen oyuna tekrar giriş yap.") char_log(0, "CHANGE_NAME", "HAVE NOT RE-LOGIN") elseif ret == 1 then say_title("İsim izi") say("Bir sorun var.") say("Daha sonra tekrar dene.") say("") char_log(0, "CHANGE_NAME", "ITEM USE PROBLEM") elseif ret == 2 then say_title("İsim izi") say("İsim geçerli değil. Başka bir isim") say("yaz. Türkçe veya özel karakter kullanma.") say("") char_log(0, "CHANGE_NAME", "CAN NOT USE NAME") elseif ret == 3 then say_title("İsim izi") say("Bu ismi başka bir oyuncu kullanıyor.") say("Kendine başka bir isim bul.") say("") char_log(0, "CHANGE_NAME", "ALREADY USING NAME") elseif ret == 4 then say_title("İsim izi") say("İsim değiştirme gerçekleşti.") say("Oyuna tekrar giriş yap.") say("") pc.remove_item("71055",1) pc.setqf("next_time", get_time() + time_hour_to_sec(1*1)) char_log(0, "CHANGE_NAME", "SUCCESS: from "..name.." to "..newname) else say("Bir hata oluştu.") char_log(0, "CHANGE_NAME", "UNKNOWN NAME") end end end end questlua_pc.cpp int pc_change_name(lua_State* L) if ( lua_isstring(L, 1) != true ) bu kısmı bu hale getir. /*if ( lua_isstring(L, 1) != true ) { lua_pushnumber(L, 1); return 1; }*/ Bu engel ismin sadece yazı olması için yapılmış. input_auth.cpp aç ve arat bool FN_IS_VALID_LOGIN_STRING(const char *str) caselerin arasından bunları kaldır /*case '(': case ')':*/ ---------------------------------------------------- 2. bir yöntem int pc_change_name(lua_State* L) snprintf(szQuery, sizeof(szQuery), "SELECT COUNT(*) FROM player%s WHERE name='%s'", get_table_postfix(), szName); burayı snprintf(szQuery, sizeof(szQuery), "SELECT COUNT(*) FROM player%s WHERE name='((%s))'", get_table_postfix(), szName); hale getirmek.