Jump to content

ошибка spawnplayer


kino

Recommended Posts

Posted

я получаю координаты спавна из хмл координаты верные но я спавнюсь в нулях

вот код

outputChatBox( "gg " ..factions[f][4].."," ..factions[f][5]   .."," .."  "..factions[f][6].."team" ..  getTeamName(team[f]) .."!", source,255,255,255,true)   
 spawnPlayer (source, factions[f][4], factions[f][5], factions[f][6]) 
  

вывод дебага

 INFO: gg 2227.3000488281,-1180.5,  25.89999961853teamРусская Мафия! 
  

Posted

первый код откуда ваще? там есь source, а в каком обработчике и для какого события очень трудно было указать ? (:

Posted
function spawnf(ff,r) 
 local f 
  if ff then 
 --outputDebugString ("200 "  ..f.."  ") 
 f=ff 
  end 
  local r2 
  sourcea=getPlayerAccount(source) 
   
   
  if sourcea then 
     outputDebugString("acc find") 
  end 
if  (not getAccountData(sourcea,"team"))  then 
local status = setAccountData(sourcea,"team",f) 
  
else 
  f=getAccountData(sourcea,"team") 
outputDebugString ("200 "  ..f.."  ") 
  
end 
  --local f2 =tonumber 
  if not r then 
    r2=7 
  else 
    r2=7+r 
  end 
outputChatBox( "gg " ..factions[f][4].."," ..factions[f][5]   .."," .."  "..factions[f][6].."team" ..  getTeamName(team[f]) .."!", source,255,255,255,true)   
 -- spawnPlayer (s, factions[f][4], factions[f][5], factions[f][6], 0, factions[f][7], 0, 0, team[f]) -- spawns player with random skin 
spawnPlayer (source, factions[f][4], factions[f][5], factions[f][6]) 
if team[f] then 
  setPlayerTeam ( source,team[f]) 
  
  outputDebugString ( "gg " ..factions[f][4].."," ..factions[f][5]   .."," .."  "..factions[f][6].."team" ..  getTeamName(team[f]) .."!")    
end 
setCameraTarget (source, source) 
  fadeCamera (source, true) 
setElementData(source,"fnum",f) 
setElementData(source,"frank",r) 
  
end 
  

  
addEventHandler("onPlayerLogin", root,function(thePreviousAccount, theCurrentAccount) 
  
  
if  (not getAccountData(theCurrentAccount,"team"))  then 
--local teams 
--for i, v in ipairs(factions[i][1]) do 
  --teams[i]=tostring(v) 
--end 
 triggerClientEvent ( source, "regt", getRootElement(), teams )--  
return 0 
else 
   spawnf(source,getAccountData(theCurrentAccount,"team")) 
outputDebugString (tostring( getAccountData(theCurrentAccount,"team"))) 
end 
  
end 
) 

Posted

не зная что такое factions, могу только предположить что вместо

factions[f][4], factions[f][5], factions[f][6] 

возможно

factions[f][1], factions[f][2], factions[f][3] 

Posted

я уже всю бошку вот

код загрузки хмл

function loadFactions () 
  if  fileExists ( ":mode0/conf/f.xml" ) then 
  local rooti = xmlLoadFile (":mode0/conf/f.xml") 
local factionroot = xmlFindChild (rooti,"factiones",0) 
  if (factionroot) then 
      for i,v in ipairs (xmlNodeGetChildren(factionroot)) do 
      local name = xmlNodeGetAttribute (v,"name") 
     -- local leader = tonumber(xmlNodeGetAttribute (v,"leader")) 
      local fnum = tonumber(xmlNodeGetAttribute (v,"num")) 
      local spawnx = xmlNodeGetAttribute (v,"posX") 
      local spawny = xmlNodeGetAttribute (v,"posY") 
      local spawnz = xmlNodeGetAttribute (v,"posZ") 
      local rang1 = xmlNodeGetAttribute (v,"rang1") 
      local rang2 = xmlNodeGetAttribute (v,"rang2") 
     local rang3 = xmlNodeGetAttribute (v,"rang3") 
      local rang4 = xmlNodeGetAttribute (v,"rang4") 
      local rang5 = xmlNodeGetAttribute (v,"rang5") 
      local skin1 = tonumber(xmlNodeGetAttribute (v,"skin1")) 
      local skin2 = tonumber(xmlNodeGetAttribute (v,"skin2")) 
      local skin3 = tonumber(xmlNodeGetAttribute (v,"skin3")) 
      local skin4 = tonumber(xmlNodeGetAttribute (v,"skin4")) 
      local skin5 = tonumber(xmlNodeGetAttribute (v,"skin5")) 
      local ftype = tonumber(xmlNodeGetAttribute (v,"type")) 
      local fmoney = tonumber(xmlNodeGetAttribute (v,"money")) 
    local r = tonumber(xmlNodeGetAttribute (v,"r")) 
      local g = tonumber(xmlNodeGetAttribute (v,"g")) 
      local b = tonumber(xmlNodeGetAttribute (v,"b")) 
      if  spawnx then 
   
    --outputDebugString(i.. "x   "..spawnz) 
  end 
  
  factions[i]={name,1,fnum,spawnx,spawny,spawnz,rang1,rang2,rang3,rang4,rang5,skin1,skin2,skin3,skin4,skin5,ftype,fmoney,r,g,b} 
  teams[i]=name 
  team[i]=createTeam(name,r,g,b) 
    --local dx,dy,dz = factions[i][1],factions[i][4], factions[i][5] 
    outputDebugString(name .."  "..fnum .."  "..spawnx .."  "..spawny .."  "..spawnz .."  "..rang1 .."  "..rang2 .."  "..rang3 .."  "..rang4 .."  "..rang5 .."  "..skin1 .."  "..skin2 .."  "..skin3 .."  "..skin4 .."  "..skin5 .."  "..ftype .."  "..fmoney .."  "..r .."  "..g .."  "..b)      teams[i]=name 
     local f=tonumber(i) 
    -- outputDebugString( tonumber(factions[f][4]) .. "!!!") 
      outputDebugString(tostring(team[i]) .. "load2") 
      end 
  else 
    outputDebugString ("Factions  no loaded!") 
  end 
     
  
  outputDebugString ("Factions loaded!") 
else 
outputDebugString ("404") 
end 
end 
  

код spawna

  
function spawnf(sourcec,ff,r) 
 local f 
  if (ff) then 
 f=ff 
 --outputDebugString ("200 "  ..f.."  ") 
--outputDebugString ("200 "  ..f.."  ") 
  
  end 
  local r2 
  sourcea=getPlayerAccount(sourcec) 
   
   
  if sourcea then 
     outputDebugString("acc find") 
  end 
if  (not getAccountData(sourcea,"team"))  then 
local status = setAccountData(sourcea,"team",f) 
  
else 
  f=tonumber( getAccountData(sourcea,"team")) 
outputDebugString ("200 "  ..f.."  ") 
  
end 
  --local f2 =tonumber 
  if not r then 
    r2=7 
  else 
    r2=7+r 
  end 
outputChatBox( "gg " ..factions[f][4].."," ..factions[f][5]   .."," .."  "..factions[f][6].."team" ..  getTeamName(team[f]) .."!", sourcec,255,255,255,true)   
 -- spawnPlayer (s, factions[f][4], factions[f][5], factions[f][6], 0, factions[f][7], 0, 0, team[f]) -- spawns player with random skin 
spawnPlayer (sourcec, factions[f][4], factions[f][5], factions[f][6]) 
if team[f] then 
  setPlayerTeam ( sourcec,team[f]) 
  
  outputDebugString ( "gg " ..factions[f][4].."," ..factions[f][5]   .."," .."  "..factions[f][6].."team" ..  getTeamName(team[f]) .."!")    
end 
setCameraTarget (source, source) 
  fadeCamera (source, true) 
setElementData(source,"fnum",f) 
setElementData(source,"frank",r) 
  
end 
  

Posted
factions = {} --  нужно объявить `factions` как таблицу  
function loadFactions () 
... 
end 

оно? на основе этого куска ну больше ничего не приходит на ум

Posted

это таблица какие вам ещё данные нужны?

У меня есть предположение что он координаты воспринимает как строку когдв я добавил tonumber он начал орать что не может найти y

posY="-1607.54"

Posted

Ну если ОНО было ранее определено как таблица, то проблем нет. Пример у xmlNodeGetAttribute на вики неправильный (пойду исправлю), эта функция всегда возвращает строку (или false), поэтому нужен конверт из строк в числа, где нужно.

... 
local spawnx = tonumber( xmlNodeGetAttribute (v,"posX") or 0 ) 
... 

Posted

после тономеризации при загрузки по вашему примеру возвращает ложь а если так

spawnPlayer (sourcec, tonumber( factions[f][4]), tonumber( factions[f][5]),tonumber( factions[f][6]))  

то все равно спавнюсь на 0

Posted

MX_Master,

причём тут таблица, когда автор темы ясно сказал, что в дебаг выводятся правильные координаты!?

kino,

Попробуйте вбить координаты в spawnPlayer вручную, если всёравно в 0 спавнит - то возможно баг.

P.S. Мб не в том месте код смотрите? xD

P.S.S. Ничто другое не мешает спавну? Например: у Вас имеется событие OnPlayerSpawn в котором устанавливается новая позиция игрока.

Posted

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

я понял в чём проблема tonumber не возвращает число а почему я хз

Posted

[2011-11-23 17:27:19] Starting resources................. 
[2011-11-23 17:27:20] ERROR: [gamemodes]/mode0/score.lua:46: bad argument #2 to 'format' (string expected, got nil) 
[2011-11-23 17:27:20] Server started and is ready to accept connections! 
[2011-11-23 17:27:20] Type 'help' for a list of commands. 
[2011-11-23 17:27:43] MTA:SA Server v1.1.1-release-3464 
  
  

46

  
outputDebugString(string.format("po=%q",spawnx)) 
  

Posted
так точно

Странно, но у меня

outputDebugString(tostring(tonumber("-1941.1945"))) 

выводит все как надо.

Версия - 1.1.1-release-3447.

Сейчас обновлюсь и проверю.

Posted

все, что взято отсюда http://linux.multitheftauto.com/ считается стабильным, все, что взято с других мест - тестовые версии и в них вполне могут быть ошибки и предъявить баги этих ошибок нужно в баг трекер. На линухе, кстати, ошибки свои, специфические. Попробуй другие сборки с этим тестовым примером

Posted
все, что взято отсюда http://linux.multitheftauto.com/ считается стабильным, все, что взято с других мест - тестовые версии и в них вполне могут быть ошибки и предъявить баги этих ошибок нужно в баг трекер. На линухе, кстати, ошибки свои, специфические. Попробуй другие сборки с этим тестовым примером

вот спасибо я грешил на себя а на сервер всё завелось блин я полгода убил

всё тему можно зокрыть

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...