Ir para conteúdo
  • 0

Pluzetti

Pergunta

Galera estou com esse script, mas eu ja tentei mudar para ele remover um item mas nao consigo, poderiam me ajudar?

 

 

function onSay(cid, words, param, channel)

local p = string.explode(param, ',')
local item_id = 2195
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
doPlayerRemoveItem(cid, item_id, 1)
return true
end
if(words == "/name") then
if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then
return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.")
elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then
return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.")
elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then
return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.")
end
return db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';") and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have changed " .. p[1] .. "'s name to " .. p[2] .. ".")
end
end

Item ID= 2145
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Prontinho, corrigido os erros, funcionando perfeitamente. No xml, coloque como words '/name'. Depois, in game, digite, por exemplo, /name test,testzin.

function onSay(cid, words, param, channel)
local p = string.explode(param, ',')
local item_id = 2145
local item_count = 1     --Mude aqui a qnt de diamonds q vai remover do player.
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return true
end
if getPlayerItemCount(cid, item_id) <= 4 then
    return doPlayerSendCancel(cid, "vc precisa de 5 diamonds.")
end
if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then
return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.")
elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then
return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.")
elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then
return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.")
end
doPlayerRemoveItem(cid, item_id, item_count)
db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have changed " .. p[1] .. "'s name to " .. p[2] .. ".")
return true
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

Ele postou o script assim, só editei o que ele pediu ._. Mas se for mesmo necessário, eu retiro o if words.

 

EDIT: Pronto, editei o post lá.

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

Teria como por quando ele fala para aparecer uma mensagem em Orange, e desloga em 5 segundos?

 

Aproveitando...

 

 

function onSay(cid, words, param)

if getPlayerMoney(cid) > 2 then
doPlayerRemoveMoney(cid, 100000)
if getPlayerSex(cid) == 0 then
doPlayerSetSex(cid, 1)
else
doPlayerSetSex(cid, 0)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você trocou de sexo, e com isso gastou 10 HD.")
else
doPlayerSendCancel(cid, "Você não tem 10 HD.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
end

teria como por nesse também?

Editado por Pluzetti
Link para o comentário
Compartilhar em outros sites

  • 0

o 1°, que vc pediu.

function onSay(cid, words, param)
 
if getPlayerMoney(cid) > 2 then
doPlayerRemoveMoney(cid, 100000)
if getPlayerSex(cid) == 0 then
doPlayerSetSex(cid, 1)
else
doPlayerSetSex(cid, 0)
end
doPlayerSendTextMessage(cid, 20, "Você trocou de sexo, e com isso gastou 10 HD, Voce sera kikado em 5 segundos.")
addEvent(doRemoveCreature, 5*1000, cid, true)
else
doPlayerSendCancel(cid, "Você não tem 10 HD.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
end

o 2°.

 

function onSay(cid, words, param, channel)
local p = string.explode(param, ',')
local item_id = 2145
local item_count = 1     --Mude aqui a qnt de diamonds q vai remover do player.
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return true
end
if getPlayerItemCount(cid, item_id) <= 4 then
    return doPlayerSendCancel(cid, "vc precisa de 5 diamonds.")
end
if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then
return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.")
elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then
return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.")
elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then
return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.")
end
doPlayerRemoveItem(cid, item_id, item_count)
db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';")
doPlayerSendTextMessage(cid, 20,  "You have changed " .. p[1] .. "'s name to " .. p[2] .. " You will be logged out in 5 seconds.")
addEvent(doRemoveCreature, 5*1000, cid, true)
return true
end
Editado por Maenilse
Link para o comentário
Compartilhar em outros sites

  • 0

prontinho.

function onSay(cid, words, param)
local diamond = 2145
local count = 5
 
if getPlayerItemCount(cid, diamond) > count then
doPlayerRemoveItem(cid, diamond, count)
if getPlayerSex(cid) == 0 then
doPlayerSetSex(cid, 1)
else
doPlayerSetSex(cid, 0)
end
doPlayerSendTextMessage(cid, 20, "Você trocou de sexo, e com isso gastou 10 HD, Voce sera kikado em 5 segundos.")
addEvent(doRemoveCreature, 5*1000, cid, true)
return TRUE
end
if getPlayerItemCount(cid, diamond) < count then
 
doPlayerSendCancel(cid, "Você não tem " ..count.. " Diamond.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
end

edit nessa linha, altere o valor 5 para o desejado.

local count = 5
Editado por Maenilse
Link para o comentário
Compartilhar em outros sites

  • 0

A respeito do /name tipo eu pensei...

 

eu so [ADM] eo player vaila e coloca [Tutor] Player tem como proibir no script esse tipo de rename?

 

Tipo:

 

/name Noobzin, [Tutor] Noobzin. tem como bloquear esse tipo ?

Link para o comentário
Compartilhar em outros sites

  • 0

a respeito do q vc falo, toma ae.

 

function onSay(cid, words, param, channel)
local p = string.explode(param, ',')
local item_id = 2145
local item_count = 1     --Mude aqui a qnt de diamonds q vai remover do player.
local proibido = {"tutor", "gm", "cm", "god", "mapper", "scripter", "programador", "spriter", "account manager", "character"} -- simbolos proibidos
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return true
end
if getPlayerItemCount(cid, item_id) <= 4 then
    return doPlayerSendCancel(cid, "vc precisa de 5 diamonds.")
end
if(string.find(param:lower(), "[^%l%s]") ~= nil) then
doPlayerSendCancel(cid, 20, "Voce nao pode usar simbolos no nome.")
return TRUE
end
if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then
return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.")
elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then
return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.")
elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then
return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.")
end
doPlayerRemoveItem(cid, item_id, item_count)
db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';")
doPlayerSendTextMessage(cid, 20,  "You have changed " .. p[1] .. "'s name to " .. p[2] .. " You will be logged out in 5 seconds.")
addEvent(doRemoveCreature, 5*1000, cid, true)
return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

Estava analisando o sistema e um player pode mudar meu nome

Ex: Treinador Jhon

/name [ADM] DmC , Kevin .. Dá que o player será logado até aqui okay ...

Quando eu logo meu Admin o Meu nome fica como Kevin que o player mudou...

Tem como resolver isto?

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim, fica rapidin:

 

function onSay(cid, words, param, channel)
local p = string.explode(param, ',')
local item_id = 2145
local item_count = 1     --Mude aqui a qnt de diamonds q vai remover do player.
local proibido = {"tutor", "gm", "cm", "god", "mapper", "scripter", "programador", "spriter", "account manager", "character"} -- simbolos proibidos
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return true
end
if getPlayerItemCount(cid, item_id) <= 4 then
    return doPlayerSendCancel(cid, "vc precisa de 5 diamonds.")
end
if(string.find(param:lower(), "[^%l%s]") ~= nil) then
doPlayerSendCancel(cid, 20, "Voce nao pode usar simbolos no nome.")
return TRUE
end
    if getPlayerGroupId(p[1]) >= 3 then
        return doPlayerSendCancel(cid, "Você não pode alterar o nick de tutores, GMs, Subs e GODs.")
end
if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then
return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.")
elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then
return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.")
elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then
return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.")
end
doPlayerRemoveItem(cid, item_id, item_count)
db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';")
doPlayerSendTextMessage(cid, 20,  "You have changed " .. p[1] .. "'s name to " .. p[2] .. " You will be logged out in 5 seconds.")
addEvent(doRemoveCreature, 5*1000, cid, true)
return true
end
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...