Posts: 7
Threads: 2
Joined: Jun 2017
Reputation:
0
Hej,
Od dłuższego czasu borykam się z "przepisaniem" skryptu na zmianę wyglądu (link do niego tutaj https://pastebin.com/DXKh6DyF) do publicznego skryptu marcela. Ilekroć czasu nie spędzę na kombinowaniu, to i tak serwer tego skryptu nie wczytuje. Czy mógłby mi ktoś z tym pomóc? Tutaj jest link do tematu marcela: http://gothic-online.com.pl/forum/showth...p?tid=2098
Posts: 430
Threads: 37
Joined: Sep 2015
Reputation:
328
Może FUNCTION i LOCAL pisz małymi?
Posts: 7
Threads: 2
Joined: Jun 2017
Reputation:
0
Niestety efekt ten sam, dalej nie działa.
Posts: 194
Threads: 22
Joined: Feb 2016
Reputation:
225
Sative Wrote:Może FUNCTION i LOCAL pisz małymi?
To się nie tyczy tylko słów kluczowych function i local, Jenkins, Squirrel to nie PHP, który jest obojętny na wielkość liter. Wszystkie słowa kluczowe powinny być pisane z małych liter.
Posts: 7
Threads: 2
Joined: Jun 2017
Reputation:
0
Skrypt ten działa bezproblemowo na zwykłym, domyślnym skrypcie, jednak przy GM'ie marcela sprawa ma się znacznie inaczej. Skrypt jego w większości różni się od zwykłych, zwłaszcza, że wykorzystuje case i prawdopodobnie ma to też związek z niedziałaniem mojego skryptu przez samą składnię. Starałem się przebudować to pod case, aczkolwiek bez rezultatu. Jak mówię, prawdopodobnie jest to wina tej składni, co może dowodzi sam fakt, że silnik nie wykrywa i nie otwiera drawa gdy kliknę F7.
Posts: 601
Threads: 29
Joined: Oct 2015
Reputation:
341
22.11.2017, 21:50
(This post was last modified: 22.11.2017, 22:03 by Profesores.)
Skoro na domyślnym skrypcie działa tak jak powinno, to może w złej kolejności deklarujesz funkcje? Chociaż nie wiem czy to może mieć w squirrelu jakikolwiek wpływ. Spróbuj też wyjebać "local" sprzed keyHandler'a.
Nie ma żadnych błędów w logach?
Daj printa pod F7, zobacz czy w ogóle łapie klawisz. Musisz ogarnąć w którym momencie coś się pierdzieli.
Posts: 7
Threads: 2
Joined: Jun 2017
Reputation:
0
22.11.2017, 22:25
(This post was last modified: 22.11.2017, 22:32 by Jenkins1131.)
Klawisza niestety mi też coś nie wczytuje, a usunięcie sprzed keyHandler'a "local" niestety też nie poskutkowało. Poniżej zamieszczam logi i z tego co widzę nie wskazują na żaden błąd z odczytem.
https://pastebin.com/U0zkXtWu
Posts: 601
Threads: 29
Joined: Oct 2015
Reputation:
341
A pokaż kod z poprawioną wielkością liter.
Posts: 7
Threads: 2
Joined: Jun 2017
Reputation:
0
Trzymaj,
Code: local headmodel = ["Hum_Head_FatBald","Hum_Head_Fighter","Hum_Head_Pony","Hum_Head_Bald","Hum_Head_Thief","Hum_Head_Psionic","Hum_Head_Babe"];
local bodymodel = ["Hum_Body_Naked0","Hum_Body_Babe0"];
local texture0 = Texture(467,3656,1500,1500,"LOG_PAPER.TGA");
local draw0 = Draw(723,3800, "<- Zmien Plec ->");
local draw1 = Draw(704,4056, "<- Zmien Cialo ->");
local draw2 = Draw(691,4312, "<- Zmien Glowe ->");
local draw3 = Draw(691,4584, "<- Zmien Twarz ->");
local draw4 = Draw(1062,4896, "Wyjdz");
local glowa = 0;
local cialo = 0;
local plec = 0;
local twarz = 0;
local opcja = 0;
function show_Visual_Change()
{
texture0.visible = true;
draw0.visible = true;
draw0.setColor(255,0,0);
draw1.visible = true;
draw2.visible = true;
draw3.visible = true;
draw4.visible = true;
openGraphic("wyglad");
setCursorVisible(false);
opcja = 1;
playAni(heroId,"S_THRONE_S1");
}
function hide_Visual_Change()
{
texture0.visible = false;
draw0.visible = false;
draw1.visible = false;
draw2.visible = false;
draw3.visible = false;
draw4.visible = false;
local wyglad = getPlayerVisual(heroId);
callServerFunc("setPlayerVisual",heroId, wyglad.bodyModel, wyglad.bodyTxt, wyglad.headModel, wyglad.headTxt);
closeGraphic();
}
function changeOpcjaVis()
{
if(opcja > 5){opcja = 1;}
if(opcja < 1){opcja = 5;}
draw0.setColor(255,255,255);
draw1.setColor(255,255,255);
draw2.setColor(255,255,255);
draw3.setColor(255,255,255);
draw4.setColor(255,255,255);
if(opcja == 1){draw0.setColor(255,1,1);}
else if(opcja == 2){draw1.setColor(255,1,1);}
else if(opcja == 3){draw2.setColor(255,1,1);}
else if(opcja == 4){draw3.setColor(255,1,1);}
else if(opcja == 5){draw4.setColor(255,1,1);}
}
function changeSpecificMenuValue(val)
{
if(opcja == 1)
{
plec = plec + val;
if(plec > 1){plec = 0}
else if(plec < 0){plec = 1}
}else if(opcja == 2)
{
cialo = cialo + val;
if(cialo > 15){cialo = 0}
else if(cialo < 0){cialo = 15}
}else if(opcja == 3)
{
glowa = glowa + val;
if(glowa > 7){glowa = 0}
else if(glowa < 0){glowa = 7}
}else if(opcja == 4)
{
twarz = twarz + val;
if(glowa > 144){glowa = 0}
else if(glowa < 0){glowa = 144}
}
setPlayerVisual(heroId, bodymodel[plec], cialo, headmodel[glowa], twarz);
}
////////////////////////////////////////////////////////////////////////////
local function keyHandler(key)
{
if(EnabledGraphic() == false)
{
if (key == KEY_F7)
{
show_Visual_Change();
}
}else{
if(EnabledGraphic() == "wyglad")
{
if (key == KEY_F7)
{
hide_Visual_Change();
}
}
}
if(EnabledGraphic() == "wyglad")
{
if(key == KEY_DOWN) { opcja = opcja + 1; changeOpcjaVis();}
else if(key == KEY_UP) { opcja = opcja - 1; changeOpcjaVis();}
else if(key == KEY_LEFT) {changeSpecificMenuValue(-1);}
else if(key == KEY_RIGHT) {changeSpecificMenuValue(1);}
else if(key == KEY_RETURN)
{
if(opcja == 5)
{
hide_Visual_Change();
}
}
}
}
addEventHandler("onKey", keyHandler);
function CMD_Wyglad(params)
{
local args = sscanf("dddd", params);
if (!args)
{
addMessage(255, 255, 255, "/wyglad <plec 0 -1> <cialo> <glowa 0 - 6> <twarz>");
return;
}
setPlayerVisual(heroId, bodymodel[args[0]], args[1], headmodel[args[2]], args[3]);
addMessage(255, 255, 255, "Ustawiono wyglad!");
local wyglad = getPlayerVisual(heroId);
callServerFunc("setPlayerVisual",heroId, wyglad.bodyModel, wyglad.bodyTxt, wyglad.headModel, wyglad.headTxt);
}
addCommand("wyglad", CMD_Wyglad)
Posts: 44
Threads: 2
Joined: Feb 2016
Reputation:
14
22.11.2017, 22:39
(This post was last modified: 22.11.2017, 22:48 by Toworish.)
to strona klienta, jeśli są jakieś problemy to wyświetli ci je w grze pod ~ i po wpisaniu komendy view error
tak samo printy wyświetli co pod ~
chociaż tutaj zawsze możesz użyć: Chat.print(int r, int g, int b,string text);
możesz spróbować swój callBack do onKey zmienić na to: tak samo robi to Marcel, ale to raczej nie ma prawa w żaden sposób pomóc:
Code: addEventHandler("onKey", function(key){
if(EnabledGraphic() == false)
{
if (KEY == KEY_F7)
{
show_Visual_Change();
}
}else{
if(EnabledGraphic() == "wyglad")
{
if (KEY == KEY_F7)
{
hide_Visual_Change();
}
}
}
if(EnabledGraphic() == "wyglad")
{
if(KEY == KEY_DOWN) { opcja = opcja + 1; changeOpcjaVis();}
else if(KEY == KEY_UP) { opcja = opcja - 1; changeOpcjaVis();}
else if(KEY == KEY_LEFT) {changeSpecificMenuValue(-1);}
else if(KEY == KEY_RIGHT) {changeSpecificMenuValue(1);}
else if(KEY == KEY_RETURN)
{
if(opcja == 5)
{
hide_Visual_Change();
}
}
}
});
|