Jump to content

Общий мини "HELP ME" топик по скриптингу


Recommended Posts

Ладно, попробуем через переменную проверять... По ходу дела возникает множество вопросов, поэтому спрошу спецов в очередной раз уже по другой теме :) Сохраняется ли как-нибудь в account data данные, если игрока нет в игре? Просто у меня в консоли вылезают ошибки при попытке реализовать это. Мне необходимо каждый час плюсовать или отнимать деньги из банка, и поэтому это может совершаться как и в момент присутствия игрока на сервере, так и в его отсутствии.

Link to comment
если ты с БД хочешь работать и такие простые примеры не ясны, то это плохо тока для тебя

я только mysql не знаю, пробовал аналог, делал так же, туподаже скопировал. заменил логин и пароль и т.д

всё равно там варнинги :)

Link to comment
в отдельную тему и принеси логи и код

толку нет) будет как с прошлой темы, просмотров 700 ответов 0, хотя отвечали на другие темы.. забудь , сам как нибудь сдеаю

Link to comment

Подскажите пожалуйста как реализовать скрипт который будет показывать уровень розыска игрока возле его имени (не в scoreboard, а прямо над головой возле ника,типа examplenick[3] где 3 - это уровень розыска. Вот мои мои наброски скрипта. К сожалению не рабочие((( Помогите пожалуйста :(

function playerLogin ( thePlayer ) 
local wantedLvl = getPlayerWantedLevel ( thePlayer ) 
 if wantedLvl == 0 then 
setPlayerNametagText (thePlayer, getPlayerName .. "[0]" (thePlayer)) 
else 
setPlayerNametagText (thePlayer, getPlayerName .. "[wantedLvl]" (thePlayer)) 
end 
end 
addEventHandler ("onPlayerLogin", getRootElement(), playerLogin)  

Идея в том что бы уровень розыска показывался прямо надо головой возле ника игрока.

Link to comment

Сервер.

function playerLogin ( ) 
    local wantedLvl = getPlayerWantedLevel ( source ) 
    if wantedLvl == 0 then 
        setPlayerNametagText ( source, getPlayerName( source ) .. "[0]" ) 
    else 
        setPlayerNametagText ( source, getPlayerName( source ) .. "[wantedLvl]" ) 
    end 
end 
addEventHandler ( "onPlayerLogin", root, playerLogin )  

https://wiki.multitheftauto.com/wiki/Event_system

viewtopic.php?f=141&t=37420

Link to comment

По моему такие вещи лучше делать в бесконечном таймере, что-то типа типа этого:

function OnNametagUpdate( player ) 
     setPlayerNametagText( source, getPlayerName( player ) .. "[" .. ( tonumber( getPlayerWantedLevel( player ) ) or 0 ) .. "]" ) 
end 
  
function NametagUpdate() 
    for _, p in ipairs( getElementsByType( "player" ) ) do 
        OnNametagUpdate( p ); 
    end 
end 
  
setTimer( NametagUpdate, 1000, 0 );  

Link to comment
function OnNametagUpdate( player ) 
     setPlayerNametagText( player, getPlayerName( player ) .. "[" .. ( tonumber( getPlayerWantedLevel( player ) ) or 0 ) .. "]" ) 
end 
  
function NametagUpdate() 
    for _, p in ipairs( getElementsByType( "player" ) ) do 
        OnNametagUpdate( p ); 
    end 
end 
  
setTimer( NametagUpdate, 1000, 0 );  

Kernell,тоже вариант кстати. :)

У тебя ошибка не большая source nil в аргументе функции setPlayerNametagText.

Т.е надо юзать player.

Link to comment
По моему такие вещи лучше делать в бесконечном таймере, что-то типа типа этого:
function OnNametagUpdate( player ) 
     setPlayerNametagText( source, getPlayerName( player ) .. "[" .. ( tonumber( getPlayerWantedLevel( player ) ) or 0 ) .. "]" ) 
end 
  
function NametagUpdate() 
    for _, p in ipairs( getElementsByType( "player" ) ) do 
        OnNametagUpdate( p ); 
    end 
end 
  
setTimer( NametagUpdate, 1000, 0 );  

Спасибо)

Link to comment
  • Scripting Moderators

Решил заблокировать /msg, увидел на вики событие onPlayerPrivateMessage. Как не пытался я его крутить, вертеть, ни в какую эта команда не блокируется. Может сталкивался кто?

Link to comment

Скрипт не работает,пишет в дебаге:

На строке 22.

attemp to index field"?"

Вот 2 строки:

  local row = robbingTable[ math.random( #robbingTable ) ] 
        markerrob = createMarker( robbingTable[ row ][1], robbingTable[ row ][2], robbingTable[ row ][3] - 1, "cylinder", 3.5, 255, 0, 0, 170 ) 

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...