BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Pedido Talkaction

Pedido Talkaction

#1 Pedido Talkaction el Mar Ene 07, 2014 8:39 am

Amy Azzkaban


Miembro
Hola! Necesito si me pueden ayudar con un talkaction. Lo que quiero es que al decir un comando por ejemplo:

!newgroup Amy Azzkaban, 4

Entonces se le de el grupo que yo le designe y que no importa si el player está online o no, que al decir el comando igual le de su nuevo grupo.

Me ayudan?
Gracias.

#2 Re: Pedido Talkaction el Mar Ene 07, 2014 3:19 pm

darknelson


Aprendiz
Lo que pides es brigido, requiere de varias cosas, partiendo si lo quieres offline, directo al db.sql ahora para designar un grupo, seria por un global storage, me encantaria podera ayudarte pero no tengo esos conocimientos, saludos

#3 Re: Pedido Talkaction el Mar Ene 07, 2014 6:30 pm

Strack


Scripter
prueba:

talkactions.xml:
Código:

<talkaction words="!newgroup" event="script" value="updateGroup.lua"/>

/scripts/updateGroup.lua:
Código:

local function updateGroup(name, groupid)
  local sql = "UPDATE players SET group_id = "..groupid.." WHERE NAME = '"..name.."' limit 1"
  db.executeQuery(sql)
return true
end

function onSay(cid, words, param, channel)
   local t = string.explode(param, ',')
   local target = getPlayerByNameWildcard(t[1]) or getCreatureByName(t[1])
   local newGroup = tonumber(t[2]) or 1
 
   if target then
      doPlayerSetGroupId(target, newGroup)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[1].."' group id have been updated successfully!")
   else
      updateGroup(t[1], newGroup)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Update group id request for "..t[1].." have been send. If exists, this player's group id have been updated successfully!")
   end

return true
end

#4 Re: Pedido Talkaction el Mar Ene 07, 2014 8:22 pm

Amy Azzkaban


Miembro
Hola Strack Muchas gracias, pero me arrojó esto en consola:

[7/1/2014 21:50:55] sqlite3_prepare_v2(): SQLITE ERROR: near "limit": syntax error (UPDATE players SET group_id = 4 WHERE NAME = 'Akroma' limit 1)

#5 Re: Pedido Talkaction el Mar Ene 07, 2014 10:44 pm

Strack


Scripter
Quita donde pone limit 1
Palabra

#6 Re: Pedido Talkaction el Miér Ene 08, 2014 1:03 am

Onerz13


Miembro
Amy porque no lo haces a la antigua con el /attr group, 4? solo necesitas estar frente al player

#7 Re: Pedido Talkaction el Miér Ene 08, 2014 6:41 am

Yoiker


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Amy porque no lo haces a la antigua con el /attr group, 4? solo necesitas estar frente al player
Es una versión Otx la rechaza al parecer

#8 Re: Pedido Talkaction el Miér Ene 08, 2014 2:43 pm

Amy Azzkaban


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Quita donde pone limit 1
Palabra

Lo hice y me sigue arojando esto en consola:

[8/1/2014 16:9:11] Amy has logged in.
[8/1/2014 16:12:13] sqlite3_prepare_v2(): SQLITE ERROR: unrecognized token: "'Akroma" (UPDATE players SET group_id = 4 WHERE NAME = 'Akroma)

#9 Re: Pedido Talkaction el Miér Ene 08, 2014 2:48 pm

Strack


Scripter
le borraste una ' de mas
Código:

local sql = "UPDATE players SET group_id = "..groupid.." WHERE NAME = '"..name.."'"

#10 Re: Pedido Talkaction el Miér Ene 08, 2014 2:52 pm

Amy Azzkaban


Miembro
De esta forma lo dejé:
Código:
local function updateGroup(name, groupid)
  local sql = "UPDATE players SET group_id = "..groupid.." WHERE NAME = '"..name..""
  db.executeQuery(sql)
return true
end

function onSay(cid, words, param, channel)
  local t = string.explode(param, ',')
  local target = getPlayerByNameWildcard(t[1]) or getCreatureByName(t[1])
  local newGroup = tonumber(t[2]) or 1
 
  if target then
      doPlayerSetGroupId(target, newGroup)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[1].."' group id have been updated successfully!")
  else
      updateGroup(t[1], newGroup)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Update group id request for "..t[1].." have been send. If exists, this player's group id have been updated successfully!")
  end

return true
end
Me enredo mucho! xaxaxaxa

#11 Re: Pedido Talkaction el Miér Ene 08, 2014 2:54 pm

Strack


Scripter
ahi tienes
Código:

local function updateGroup(name, groupid)
  local sql = "UPDATE players SET group_id = "..groupid.." WHERE NAME = '"..name.."'"
  db.executeQuery(sql)
return true
end

function onSay(cid, words, param, channel)
  local t = string.explode(param, ',')
  local target = getPlayerByNameWildcard(t[1]) or getCreatureByName(t[1])
  local newGroup = tonumber(t[2]) or 1
 
  if target then
      doPlayerSetGroupId(target, newGroup)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[1].."' group id have been updated successfully!")
  else
      updateGroup(t[1], newGroup)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Update group id request for "..t[1].." have been send. If exists, this player's group id have been updated successfully!")
  end

return true
end

#12 Re: Pedido Talkaction el Miér Ene 08, 2014 3:15 pm

Amy Azzkaban


Miembro
Muchas gracias funciona muy bién!

#13 Re: Pedido Talkaction Hoy a las 8:17 pm

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .