Ruga Posted April 3, 2013 Author Share Posted April 3, 2013 root поставил не руг больше , на 3 строку сервер ругается что та пытается сравнить два логических значения и на 48 клиента -attempt to compare nil with number Link to comment
Ruga Posted April 4, 2013 Author Share Posted April 4, 2013 хорошо, переписывал раз сотню разными способами, читал о тригерах реально уже устал, вот новый код, думаю самый удачный хотя есть много но, вот первое - 2 строка сервера attempt to compare number with nil, и что с того что он сравнивает с 0 ? или же все таки с пустотой, тогда триггер не передал значение для сравнения...((( далее... 14 строка сервера ElemenData 1 арг, bad wery hot bad ХДД)) без юмора я уже не могу, там тоже что то потерялось наверняка, как быть? сервер function onDepositOpul ( localPlayer, ponum) if (tonumber ( getPlayerMoney(localPlayer)) > ponum) then setElementData(localPlayer, "bmoney", tonumber(getElementData(source, "bmoney")) +ponum) triggerClientEvent ( "showBankSystem" ,getRootElement(),getElementData(source, "bmoney"), ponum ) givePlayerMoney ( localPlayer, -ponum ) else outputChatBox("dddddd",localPlayer,100,200,200) end end addEvent("onDeposit",true) addEventHandler("onDeposit", getRootElement(), onDepositOpul) function onWithdrawPol (localPlayer, pon ) local mon = tonumber(getElementData(localPlayer, "bmoney")) if (tonumber(mon) > pon) then setElementData(localPlayer, "bmoney", tonumber(getElementData(source, "bmoney")) -pon) triggerClientEvent("showBankSystem",getRootElement(),pon,getElementData(source,"bmoney"),tonumber(getElementData(source,"bmoney")), mon - pon) givePlayerMoney(localPlayer, pon) else outputChatBox("dddddd",localPlayer,100,200,200) end end addEvent("onWithdraw",true) addEventHandler("onWithdraw", getRootElement(), onWithdrawPol) клиент function showBankSystemMenu ( ponum, pon, bmoney) if menushow == nil or menushow == 0 then menushow = 1 showCursor(true) GUIEditor_Window[17] = guiCreateWindow(496,345,364,365,"Bank",false) GUIEditor_Label[27] = guiCreateLabel(24,23,338,18,"_____________________Info_____________________",false,GUIEditor_Window[17]) guiLabelSetColor(GUIEditor_Label[27],255,255,255) guiLabelSetVerticalAlign(GUIEditor_Label[27],"top") guiLabelSetHorizontalAlign(GUIEditor_Label[27],"left",false) GUIEditor_Label[28] = guiCreateLabel(15,151,338,22,"_____________________Withdraw_____________________",false,GUIEditor_Window[17]) guiLabelSetColor(GUIEditor_Label[28],255,255,255) guiLabelSetVerticalAlign(GUIEditor_Label[28],"top") guiLabelSetHorizontalAlign(GUIEditor_Label[28],"left",false) GUIEditor_Label[29] = guiCreateLabel(15,75,338,22,"_____________________Deposit_____________________",false,GUIEditor_Window[17]) guiLabelSetColor(GUIEditor_Label[29],255,255,255) guiLabelSetVerticalAlign(GUIEditor_Label[29],"top") guiLabelSetHorizontalAlign(GUIEditor_Label[29],"left",false) GUIEditor_Label[30] = guiCreateLabel(120,49,186,19,"Moneys: "..tostring(getElementData(source, "bmoney")).."$",false,GUIEditor_Window[17]) guiLabelSetColor(GUIEditor_Label[30],255,255,255) guiLabelSetVerticalAlign(GUIEditor_Label[30],"top") guiLabelSetHorizontalAlign(GUIEditor_Label[30],"left",false) guiSetFont(GUIEditor_Label[30],"clear-normal") GUIEditor_Edit[9] = guiCreateEdit(178,109,104,26,"0",false,GUIEditor_Window[17]) GUIEditor_Button[73] = guiCreateButton(97,114,67,18,"deposit",false,GUIEditor_Window[17]) GUIEditor_Button[74] = guiCreateButton(97,194,67,22,"Withdraw",false,GUIEditor_Window[17]) GUIEditor_Button[75] = guiCreateButton(109,317,159,34,"Finish",false,GUIEditor_Window[17]) addEventHandler("onClientGUIClick", GUIEditor_Button[73], function () local ponum = tonumber(guiGetText ( GUIEditor_Edit[9] )) triggerServerEvent ( "onDeposit" , getRootElement(), getElementData(source, "bmoney"), ponum ) end,false) addEventHandler("onClientGUIClick", GUIEditor_Button[74], function () local pon = tonumber(guiGetText ( GUIEditor_Edit[9] )) triggerServerEvent ( "onWithdraw" , getRootElement(), getElementData(source, "bmoney"), pon,mon ) end,false) addEventHandler("onClientGUIClick", GUIEditor_Button[75], function () menushow = 0 showCursor(false) guiSetVisible ( GUIEditor_Window[17], false ) end,false) end end addEvent( "showBankSystem", true ) addEventHandler( "showBankSystem", getRootElement(), showBankSystemMenu ) Link to comment
Kenix Posted April 4, 2013 Share Posted April 4, 2013 вы говорите читать по ссылке, я не собираюсь становиться скриптером, мне просто это интересно я для самого себя пользуюсь, по вечерам копаюсь, я даже сервер только локальный пользую, хотя ип внешний, вообщем вот напользовал но как всегда не работает(( А чем вы сейчас занимаетесь, это не скриптинг? Вы не понимаете ваш же код и пишите "чтобы работало", хотя на самом деле без знаний у вас реально ничего не получится. Вы ленитесь прочитать документацию и надетесь, что кто-то за вас напишет код. Врятли вам вообще будут помогать раз вы пишите на угад. Вообщем так, прочитайте все эти ссылки: https://forum.multitheftauto.com/viewto ... 9c4add0631 https://wiki.multitheftauto.com/index.ph ... troduction https://wiki.multitheftauto.com/index.ph ... ng_the_GUI https://wiki.multitheftauto.com/wiki/Advanced_Topics https://wiki.multitheftauto.com/index.ph ... U/Meta.xml https://wiki.multitheftauto.com/index.ph ... /Debugging https://wiki.multitheftauto.com/index.ph ... de_scripts https://wiki.multitheftauto.com/wiki/Event_system https://wiki.multitheftauto.com/index.ph ... _Gamemodes https://wiki.multitheftauto.com/index.ph ... %D1%8B_MTA https://wiki.multitheftauto.com/index.ph ... RU/Element https://wiki.multitheftauto.com/index.ph ... ement_tree https://wiki.multitheftauto.com/index.ph ... /Resources Link to comment
Ruga Posted April 4, 2013 Author Share Posted April 4, 2013 да я очень мало знаю, но мне было достаточно раньше этого, с триггер я столкнулся впервые... как пару недель впервые открыл для себя gui вернее как и с чем ее едят)) поэтому я не прошу делать за меня я прошу показать указать на то как делать триггер, та инфа что на вики меня не вдохновила по счет триггера... расположение арг в триггере и примерно каким способом он передает инфу я понимаю, а вот подробностей и примеров я таки не нашел.. печалит.. спасибо за ссылки почитаю)) Link to comment
Ruga Posted April 4, 2013 Author Share Posted April 4, 2013 не подскажите почему так? lua:2: attempt to compare number with boolean lua:18: attempt to compare number with boolean function onDepositOpul ( ponum) if(ponum > getPlayerMoney(source)-1) then return end outputDebugString("вошел в if") setElementData(localPlayer,"bmoney", tonumber(getElementData(source, "bmoney")) +ponum) outputDebugString("елемент") triggerClientEvent ( source,"showBankSystem" ,source,tonumber(getElementData(source, "bmoney"))) outputDebugString("серв тригер 1") givePlayerMoney ( source, -ponum ) outputDebugString("ааа") end addEvent("onDeposit",true) addEventHandler("onDeposit", getRootElement(), onDepositOpul) function onWithdrawPol ( pon ) local mon = tonumber(getElementData(source, "bmoney")) if(mon < pon) then outputChatBox("У вас нет столько денег!", source, 255, 0, 0) return end outputDebugString("вошел в if2") setElementData(localPlayer,"bmoney", tonumber(getElementData(source, "bmoney")) -pon) triggerClientEvent(source,"showBankSystem",source,getElementData(source, "bmoney"), pon - mon) outputDebugString("йййййййййййййй") givePlayerMoney(source, pon) end addEvent("onWithdraw",true) addEventHandler("onWithdraw", getRootElement(), onWithdrawPol) Link to comment
Ruga Posted April 4, 2013 Author Share Posted April 4, 2013 все ребята я отмучался))) сделал наконецто почитал получше о тригерах да и вообщем литературку спасибо вам за советы и помощ))))) я ценю ваши советы)) а проблема заключалась в малом.. я бы сказал очень малом(((( столько времени убил(( зато теперь умею и знаю))) сделал так на клиенте triggerServerEvent ("onWithdraw" , getLocalPlayer(), pop ) triggerServerEvent ( "onDeposit" ,getLocalPlayer(), ponu ) на сервере function onDepositOpul ( ponu) takePlayerMoney ( source, ponu ) end addEvent("onDeposit",true) addEventHandler("onDeposit", getRootElement(), onDepositOpul) function onWithdrawPol ( pop ) givePlayerMoney(source, pop) end addEvent("onWithdraw",true) addEventHandler("onWithdraw", getRootElement(), onWithdrawPol) Link to comment
Ruga Posted April 4, 2013 Author Share Posted April 4, 2013 теперь вопрос в том, как поставить условие что бы нельзя было вводить число с минусом?! Кто подскажет что почитать?))) Link to comment
Flaker Posted April 4, 2013 Share Posted April 4, 2013 теперь вопрос в том, как поставить условие что бы нельзя было вводить число с минусом?! Кто подскажет что почитать?))) Много вариантов есть... Допустим проверить строку на наличие минуса можно функцией string.find Link to comment
Ruga Posted April 4, 2013 Author Share Posted April 4, 2013 спасибо)) довольно занимательная функция Link to comment
Kenix Posted April 4, 2013 Share Posted April 4, 2013 function math.neg( n ) return n < 0; end Ну вы загнули .. string.find Link to comment
TheNormalnij Posted April 4, 2013 Share Posted April 4, 2013 string.byte Только хардкор Link to comment
Ruga Posted April 5, 2013 Author Share Posted April 5, 2013 Kenix спасибо за код)) все было проще чем есть)) if числовой арг. == nil then outputChatBox("Введите сумму!", source, 255, 0, 0) elseif числовой арг. < 0 then outputChatBox("минус!", source, 255, 0, 0) return end Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now