Jump to content
  • 0

Helflin

Question

Bom, eu queria que quando o player entrasse no teleport, os atributos "is_training" que de todos estão 0(que eu defini), mudasse para 1, isso no atributo somente do jogador que entrar no teleport.

 

Pensei em algo assim, mas da errado:

function onStepIn(cid, item, pos)
       if item.uid == 1478 then
           queststatus = getPlayerStorageValue(cid,33339)
           if queststatus == -1 then
           doPlayerSendTextMessage(cid,22,"Voce acaba de iniciar seu treinamento.")
           setPlayerStorageValue(cid,33339,1)
        db.query("INSERT INTO `players` WHERE ('name' = '".. getCreatureName(cid).."')(`is_training`) VALUES '1';")
        return true
           end
    end
end

É mais em MYSQL a duvida.

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Sim, eu queria mudar o valor do "atributo" >> 'is_training' de 0 para 1... da tabela 'players'.

 

Sendo que esse atributo é para cada player, ou seja, teria de mudar somente na linha daquele player, e eu não sei como definir esta linha....

Link to comment
Share on other sites

  • 0

Sua query está errada. Você tem que alterar não inserir.

É mais ou menos assim:

db.query("UPDATE `players` SET `is_training` =  1 WHERE 'name' = '".. getCreatureName(cid).."'")
Link to comment
Share on other sites

  • 0

Fawz, esta linha que você citou, altera para 1 todos os players, ai que está o problema, eu queria que trocasse somente o atributo do player que entrou no teleport.

 

Xanpsw, a sua linha ai não modificou nada na tabela.

 

 

@UP

db.query("UPDATE `players` SET `is_training` = 1;")

O negócio é modificar esta query para trocar o atributo somente de 1 player ao invés de todos os players.

Link to comment
Share on other sites

  • 0

Troca seu script por esse:

function onStepIn(cid, item, pos)

	if getPlayerStorageValue(cid, 33339) == 1 then
		doPlayerSendTextMessage(cid,22,"Voce acaba de iniciar seu treinamento.")
		setPlayerStorageValue(cid,33339,1)
		db.query("UPDATE `players` SET `is_training` = 1;")
		else
		return false
	end
return true
end
Edited by Fawz
Link to comment
Share on other sites

  • 0

Existe alguma quest que da a storage 33339?

 

Tenta esse:

function onStepIn(cid, item, pos)

if getPlayerStorageValue(cid, 33339) == 1 then
	doPlayerSendTextMessage(cid,22,"Voce acaba de iniciar seu treinamento.")
	db.query("UPDATE `players` SET `is_training` = 1;")
	else
	return false
end
return true
end

Vou te explicar o que eu fiz, ali eu coloquei caso o player tiver a storage 33339 ele vai retornar a mensagem e vai executar a query, caso não ele não vai retornar nada.

Edited by Fawz
Link to comment
Share on other sites

  • 0

Sei la, eu tinha copiado de um outro bagulho, nem sei mais kkkkkkkkkkkkkkkkkkkkkkkkkkk

 

da um help ai mano pode tirar isso ae

 

 

ve se assim fica melhor:

function onStepIn(cid, item, pos)
       if item.uid == 1478 then
           doPlayerSendTextMessage(cid,22,"Voce acaba de iniciar seu treinamento.")
        db.query("UPDATE `players` SET `is_training` =  1 WHERE 'name' = '".. getCreatureName(cid).."'")
        return true
           end
    end
Edited by Helflin
Link to comment
Share on other sites

  • 0

Se quiser eu posso criar um baú que dê a storage pro player e ele só pode entrar no tp se tiver a storage...

 

action:


function onUse(cid, item, frompos, item2, topos)
----------Config----------
sto1 = 33339
---------Fim Config-------
	if getPlayerStorageValue(cid, sto) == 1 then
		doPlayerSendTextMessage(cid,22,"Você já usou este baú.")
	elseif setPlayerStorageValue(cid, sto, 1) then
		doPlayerSendTextMessage(cid,22,"Você agora está autorizado a usar o teleport.")
	end
return true
end

movement:

function onStepIn(cid, item, pos, toPos, fromPosition)
----------Config----------
sto1 = 33339
---------Fim Config-------

	if getPlayerStorageValue(cid, sto1) == 1 then
		doPlayerSendTextMessage(cid,22,"Voce acaba de iniciar seu treinamento.")
		db.query("UPDATE `players` SET `is_training` = 1;")
		else
		doTeleportThing(cid, fromPosition)
		return false
	end
return true
end
Edited by Fawz
Link to comment
Share on other sites

  • 0

Bom não é isso, esses bagulhos de quest era que eu tinha copiado um outro arquivo.

Eu estou querendo que exemplo:

 

Administrador entrou no teleporte para a sala de trainers.

-- ai vai na database e altera a coluna "is_training" para 1, somente a linha do Administrador.

Ou seja, o Administrador fica com 1 em "is_training", no caso 1 em boolean = verdadeiro...

---------------------------------------------------------------------------------

 

Bom, resolvi aqui, o erro era esse:

function onStepIn(cid, item, pos)
       if item.uid == 1478 then
           doPlayerSendTextMessage(cid,22,"Voce acaba de iniciar seu treinamento.")
        db.query("UPDATE `players` SET `is_training` =  1 WHERE name = '".. getCreatureName(cid).."'")
        return true
           end
    end

na quarta linha, correto: name ao invés de 'name' .

 

 

 

 

RESOLVIDO, PODEM FECHAR O TÓPICO.

Vlw pela ajuda galera, abraços.

Edited by Helflin
Link to comment
Share on other sites

×
×
  • Create New...