• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Windows Database

bomba

Member
Joined
Feb 26, 2008
Messages
635
Reaction score
7
Location
Brazil
I wanna get the value of "antigoNome" in my database.
Database name: vicesera
Table name: players
Colum name: antigoNome

I tryed:
Code:
SELECT DATABASE `vicesera` FROM `players`, `antigoNome` WHERE `players`.`name`= 'Andezsacan'

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`vicesera` FROM `players`, `antigoNome` WHERE `players`.`name`= 'Andezsacan'
LI' at line 1
 
Try with this query:
Code:
SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = 'Andezsacan'
 
error.png


Code:
oldNameStor = 97170034
function saveOldName(self)
    db.storeQuery("UPDATE `vicesera`.`players` SET `antigoNome` = '.. getPlayerName(self) ..' WHERE `players`.`name`= '.. getPlayerName(self) ..'")
    return true
end

function getOldName(self)
    if isPlayer(self) == true then
        return db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = '.. getPlayerName(self) ..'")
    end
    return true
end

Code:
local function atualizarNome(cid)
    if isPlayer(cid) == true then
        db.storeQuery("UPDATE `vicesera`.`players` SET `name` = '['.. getPlayerHonor(cid) ..'] '.. getOldName(cid) ..' WHERE `players`.`id` = getPlayerAccountId(cid);")
    end
    return true
end
 
Bro, you're doing something really wrong, you "use" a database first, then you select a value from a table and "tada", you're done.

just try to go for:

USE vicesera;
Select * from players where AntigoNome="$name";

With this you're going to select everything from the table players where the column name Antigonome has a name in it.

Just post somehting down if you meant something else ;)
 
error.png


Code:
oldNameStor = 97170034
function saveOldName(self)
    db.storeQuery("UPDATE `vicesera`.`players` SET `antigoNome` = '.. getPlayerName(self) ..' WHERE `players`.`name`= '.. getPlayerName(self) ..'")
    return true
end

function getOldName(self)
    if isPlayer(self) == true then
        return db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = '.. getPlayerName(self) ..'")
    end
    return true
end

Code:
local function atualizarNome(cid)
    if isPlayer(cid) == true then
        db.storeQuery("UPDATE `vicesera`.`players` SET `name` = '['.. getPlayerHonor(cid) ..'] '.. getOldName(cid) ..' WHERE `players`.`id` = getPlayerAccountId(cid);")
    end
    return true
end


Code:
local function atualizarNome(cid)
    if isPlayer(cid) == true then
        db.storeQuery("UPDATE `vicesera`.`players` SET `name` = '['.. getPlayerHonor(cid) ..'] '.. getPlayerName(cid) ..' WHERE `name` = getPlayerName(cid);")
    end
    return true
end

Do not use set and get old name, no need
 
Now I've a new error:
img1.png

img2.png


Code:
oldNameStor = 97170034
function saveOldName(self) return db.storeQuery("UPDATE `vicesera`.`players` SET `antigoNome` = ".. getPlayerName(self) .." WHERE `players`.`id` = ".. getPlayerGUID(self) ..";") end
function getOldName(self) return db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `id` = ".. getPlayerGUID(self) ..";") end

Code:
local function atualizarNome(cid)
    if isPlayer(cid) == true then
        db.storeQuery("UPDATE `vicesera`.`players` SET `name` = '[".. getPlayerHonor(cid) .."]".. getOldName(cid) .."' WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";")
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce sera desconectado para atualizar o nome.")
        addEvent(doRemoveCreature, 4000, cid)
    end
    return true
end

function onLogin(cid)
    setPlayerStorageValue(cid, storDormir, 0)
    if getPlayerName(cid) == "[".. getPlayerHonor(cid) .."]".. getOldName(cid) .."" then
    else
        addEvent(atualizarNome, 100, cid.uid)
    end

    if getPlayerStorageValue(cid, oldNameStor) <= 0 then
        saveOldName(cid)
        setPlayerStorageValue(cid, oldNameStor, 1)
    end
    return true
end
 
Last edited:
In database, when I try:
Code:
SELECT `antigoNome` FROM `vicesera`.`players` WHERE `id` = '2'

Error:
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

@Lordfire
I don't know to do this.
 
Last edited by a moderator:
Ok... Now:
img1.png


Code:
oldNameStor = 97170034
function saveOldName(self) return db.storeQuery("UPDATE `vicesera`.`players` SET `antigoNome` = `".. getPlayerName(self) .."` WHERE `players`.`id` = ".. getPlayerGUID(self) ..";") end
function getOldName(self) return db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `id` = ".. getPlayerGUID(self) ..";") end
Code:
local function atualizarNome(cid)
    if isPlayer(cid) == true then
        db.storeQuery("UPDATE `vicesera`.`players` SET `name` = `[".. getPlayerHonor(cid) .."]".. getOldName(cid) .."` WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";")
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce sera desconectado para atualizar o nome.")
        addEvent(doRemoveCreature, 4000, cid)
    end
    return true
end

function onLogin(cid)
    if getPlayerStorageValue(cid, 97170001) <= 0 then
        doPlayerAddItem(cid, 1987, 1)
        setPlayerStorageValue(cid, 97170001, 1)
        setPlayerStorageValue(cid, honorStorage, 500)
        setArrSkill(cid, 0)
        setOraSkill(cid, 0)
        setAlqSkill(cid, 0)
        setEncSkill(cid, 0)
        setArrTries(cid, 0)
        setOraTries(cid, 0)
        setAlqTries(cid, 0)
        setEncTries(cid, 0)
    end

    if getPlayerName(cid) == "[".. getPlayerHonor(cid) .."]".. getOldName(cid) .."" then
        if getPlayerStorageValue(cid, oldNameStor) <= 0 then
            saveOldName(cid)
            setPlayerStorageValue(cid, oldNameStor, 1)
        end
        return true
    else
        return addEvent(atualizarNome, 100, cid.uid)
    end

    setPlayerStorageValue(cid, storDormir, 0)
    return true
end
 
Before and after the player name, replace ` for ':
Code:
db.storeQuery("UPDATE `vicesera`.`players` SET `name` = '[".. getPlayerHonor(cid) .."] ".. getOldName(cid) .."' WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";")
 
Error:
return_Civil_2.png


I tryied a talkaction to return the old name, but return only numbers...
Code:
function onSay(cid, words, param)
    doCreatureSay(cid, "".. getOldName(cid) .."", TALKTYPE_MONSTER_SAY)
end

If I say !oldname, then return "1", if I say again, return "2", and again, return "3", "4", etc...


Maybe an error in database?
Look how I made:
Code:
ALTER TABLE `players` ADD `antigoNome` VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `name`;

lol.png
 
Last edited:
Code:
function getOldName(self)
  if isPlayer(self) == true then
    return db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = `".. getPlayerName(self) .."`")
  end
  return true
end
 
@samco
error.png

Code:
oldNameStor = 97170034
function saveOldName(self) return db.storeQuery("UPDATE `vicesera`.`players` SET `antigoNome` = '".. getPlayerName(self) .."' WHERE `players`.`id` = ".. getPlayerGUID(self) ..";") end
function getOldName(self)
  if isPlayer(self) == true then
    return db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = `".. getPlayerName(self) .."`")
  end
  return true
end

Code:
function onSay(cid, words, param)
    doCreatureSay(cid, "".. getOldName(cid) .."", TALKTYPE_SAY)
end

Now:
Code:
function getOldName(self) db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = '".. getPlayerName(self) .."';") end
Code:
function onSay(cid, words, param)
    doCreatureSay(cid, "Meu nome ".. getOldName(cid) ..".", TALKTYPE_SAY)
end
error.png
 
Last edited by a moderator:
Code:
function getOldName(self)
    if isPlayer(self) then
        local resultId = db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = " .. db.escapeString(getPlayerName(self)))
        if resultId ~= false then
            local oldName = result.getString(resultId, "antigoNome")
            result.free(resultId)
            return oldName
        end
    end

    return ""
end
or meta method Player.getOldName (usage: player:getOldName())
Code:
function Player.getOldName(self)
    local resultId = db.storeQuery("SELECT `antigoNome` FROM `vicesera`.`players` WHERE `name` = " .. db.escapeString(self:getName()))
    if resultId ~= false then
        local oldName = result.getString(resultId, "antigoNome")
        result.free(resultId)
        return oldName
    end

    return ""
end

You should post as much information as you possibly can when you ask for support (support rules).
 
Back
Top