• 28 Mars 2024, 21:00:57


Auteur Sujet: Transferer des données du coté server vers client  (Lu 1787 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ~CG~FatalTerror

  • *
  • Criminel
  • Messages: 41
    • Voir le profil
Transferer des données du coté server vers client
« le: 08 Avril 2011, 21:22:02 »
Bonjours les amis !  :D

Voila, j'ai un nouveau problème :wall.
Tout a l'heure je fesait mes petits scripts pour mon serveur RPG.

C'est une barre d'information sur l'etat du joueur faites avec des images et des labels  :-* ( Trop beau )

Dont j'ai reussi a la faire fonctionner, le script récupere bien les informations du joueur sur le mode RPG  :laugh

Mais j'ai eu la merveilleuse idée de mettre ce script aussi sur mon serveur Race  :angelnot .
Donc tout marche SAUF l'argent   :blink

J'utilise une base de donnée SQL pour stocker l'argent du joueur, donc je doit récupérer l'argent comme sa:


...
local serial = getPlayerSerial(source)
local nick = getPlayerName(source)
local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
guiSetText ( labelcash ,tonumber(Money[1]["Money"]).."$" )
...

Mais j'ai vu sur wiki.mtasa.com que executeSQLSelect etait du coté serveur seulement   :blink
Mon panel et les guiSetText sont du coté client, dont je me demande bien comment je vais faire pour monter l'argent  :bangin

Si je met
local serial = getPlayerSerial(source)
local nick = getPlayerName(source)
local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
guiSetText ( labelcash ,tonumber(Money[1]["Money"]).."$" )
du coté serveur sa va pas aller car (je crois) guiSetText ne fonctionne que en client  :boulet

Alors sil vous plait aidez moi  :wall

Merci, FatalTerror
« Modifié: 08 Avril 2011, 21:43:00 par ~CG~FatalTerror »

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Transferer des données du coté server vers client
« Réponse #1 le: 08 Avril 2011, 22:34:20 »
Tu peut envoyer la valeur de l'argent avec un TriggerEvent ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Transferer des données du coté server vers client
« Réponse #2 le: 09 Avril 2011, 12:01:55 »
Salut FatalTerror,
Alors voici comment tu peux faire:
Server:
Code: (lua) [Sélectionner]
addEvent("sendMoneyData", true )
function sendMoneyData()
local serial = getPlayerSerial(source)
local nick = getPlayerName(source)
local Money = executeSQLSelect ( "MoneyB", "Money","serial = '" .. serial .. "'")
triggerClientEvent( source, "changeMoneyLabel", getRootElement(), Money[1]["Money"] )
end
addEventHandler("sendMoneyData", getRootElement(), sendMoneyData )

Client:
Code: (lua) [Sélectionner]
function recupTheMoney() -- appelle cette fonction n'importe où dans la partie client pour rafraîchir l'argent ( a condition que le label soit déjà créé )
triggerServerEvent("sendMoneyData", getLocalPlayer() )
end

addEvent("changeMoneyLabel", true )
function changeMoneyLabel(Money)
guiSetText ( labelcash ,tostring(Money).."$" )
end
addEventHandler("changeMoneyLabel", getLocalPlayer(), changeMoneyLabel )

Voilà je pense que sa fonctionne.
The rEvolution is coming ...

Hors ligne ~CG~FatalTerror

  • *
  • Criminel
  • Messages: 41
    • Voir le profil
Re : Transferer des données du coté server vers client
« Réponse #3 le: 09 Avril 2011, 17:27:18 »
Grand merci les dieux du LUA  :-*