Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-11-10, 18:44


_Lukaszniko_







Wiek: 31
Na forum: 5174 dni
Posty: 36

Piwa: 11

Respekt: 50

Witam. Zaj??em si? edycj? edytora obiekt?w in game by SlashQ. Nie mog? si? upora? z jednym problemem. Nie wiem w jaki spos?b zmieni? poni?szy kod, aby tworzone obiekty wy?wietla?y si? dla wszystkich graczy, a nie tylko dla samego mappera.

Kod:

public OnPlayerEditObject( playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ )
{
if(response == EDIT_RESPONSE_UPDATE)
{
for(new i = 0; i < MAX_EDITIONS; i++)
{
if(GetSVarIntEx(playerid, OBJECT_ID, i) == objectid)
{
SetSVarFloatEx(playerid, OBJECT_X, fX, i);
SetSVarFloatEx(playerid, OBJECT_Y, fY, i);
SetSVarFloatEx(playerid, OBJECT_Z, fZ, i);
SetSVarFloatEx(playerid, OBJECT_RX, fRotX, i);
SetSVarFloatEx(playerid, OBJECT_RY, fRotY, i);
SetSVarFloatEx(playerid, OBJECT_RZ, fRotZ, i);
if(GetPVarInt(playerid, "SeeLabels"))
{
DeletePlayer3DTextLabel(playerid, PlayerText3D:GetSVarIntEx(playerid, LABEL_ID, i));
SetSVarIntEx(playerid, LABEL_ID, _:CreatePlayer3DTextLabel(playerid, GetSVarStringEx(playerid, LABEL_STR, i), 0xFFFFFFEE, fX, fY, fZ, 100.0), i);
}
break;
}
}
}
else if(response == EDIT_RESPONSE_FINAL || response == EDIT_RESPONSE_CANCEL)
{
DeletePVar(playerid, "Edition");
}
return 1;
}


Wikipedia sampa niestety nie pomog?a. Kto? ma jaki? pomys?? By?bym wdzi?czny za ka?de wskaz?wki.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-11-10, 18:50


Sillence







Wiek: 26
Na forum: 5157 dni
Posty: 1514
Nick w MP: Sillence

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Pisz?c obiekt masz na my?li 3DTEXT ? Bo nie znalaz?em w twoim kodzie ?adnego tworzenia obiekt?w :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-11-10, 19:13


_Lukaszniko_







Wiek: 31
Na forum: 5174 dni
Posty: 36

Piwa: 11

Respekt: 50

Z tego co wyczyta?em OnPlayerEditObject odpowiada za wy?wietlanie obiekt?w dla wszystkich graczy.

To chyba o to chodzi?o. : d
Kod:

case DIALOG_NEW_OBJECT:
{
if(response && IsNumeric(inputtext) && strval(inputtext) > 611)
{
SetPVarInt(playerid, "new_object_model", strval(inputtext));
ShowPlayerDialog(playerid, DIALOG_CREATE_OBJECT, DIALOG_STYLE_INPUT, "-", "Wpisz komentarz do obiektu (lub nie)", "Dalej", "Zamknij");
}
}
case DIALOG_CREATE_OBJECT:
{
if(response)
{
new model, object, Float:Pos[6];

model = GetPVarInt(playerid, "new_object_model");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetXYInFrontOfPlayer(playerid, Pos[0], Pos[1], 3.0);

object = CreatePlayerObject(playerid, model, Pos[0], Pos[1], Pos[2], Pos[3], Pos[4], Pos[5]);
for(new i = 0; i < MAX_EDITIONS; i++)
{
if(!GetSVarTypeEx(playerid, OBJECT_MODEL, i))
{
SetPlayerMapData(playerid, object, i, model, inputtext, Pos[0], Pos[1], Pos[2], Pos[3], Pos[4], Pos[5]);
EditPlayerObject(playerid, object);
DeletePVar(playerid, "new_object_model");
return 1;
}
}
DeletePVar(playerid, "new_object_model");
return ShowPlayerDialog(playerid, DIALOG_SIMPLE_MESSAGE, DIALOG_STYLE_MSGBOX, "-", "Wykorzysta?e?(a?) ju? maksymaln? liczb? wolnych obiekt?w.","Zamknij", "");
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-11-10, 20:49


Sillence







Wiek: 26
Na forum: 5157 dni
Posty: 1514
Nick w MP: Sillence

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Zobacz w ten spos?b:
Kod:

case DIALOG_NEW_OBJECT:
{
if(response && IsNumeric(inputtext) && strval(inputtext) > 611)
{
SetPVarInt(playerid, "new_object_model", strval(inputtext));
ShowPlayerDialog(playerid, DIALOG_CREATE_OBJECT, DIALOG_STYLE_INPUT, "-", "Wpisz komentarz do obiektu (lub nie)", "Dalej", "Zamknij");
}
}
case DIALOG_CREATE_OBJECT:
{
if(response)
{
new model, object, Float:Pos[6];

model = GetPVarInt(playerid, "new_object_model");
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetXYInFrontOfPlayer(playerid, Pos[0], Pos[1], 3.0);

object = CreateObject(model, Pos[0], Pos[1], Pos[2], Pos[3], Pos[4], Pos[5]);
for(new i = 0; i < MAX_EDITIONS; i++)
{
if(!GetSVarTypeEx(playerid, OBJECT_MODEL, i))
{
SetPlayerMapData(playerid, object, i, model, inputtext, Pos[0], Pos[1], Pos[2], Pos[3], Pos[4], Pos[5]);
EditPlayerObject(playerid, object);
DeletePVar(playerid, "new_object_model");
return 1;
}
}
DeletePVar(playerid, "new_object_model");
return ShowPlayerDialog(playerid, DIALOG_SIMPLE_MESSAGE, DIALOG_STYLE_MSGBOX, "-", "Wykorzysta?e?(a?) ju? maksymaln? liczb? wolnych obiekt?w.","Zamknij", "");
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-11-14, 21:16


_Lukaszniko_







Wiek: 31
Na forum: 5174 dni
Posty: 36

Piwa: 11

Respekt: 50

Zadzia?a? zadzia?a?o. Teraz wszyscy widz? tworzony obiekt. Niestety pojawi? si? kolejny problem. Obiekt?w nie da si? edytowa?. Pewnie zn?w b?dzie trzeba zmieni? co? z playerid-model model-playerid.
Kod:

case DIALOG_EDIT_OR_DELETE:
{
if(response)
{
SelectObjectEx(playerid, GetPVarInt(playerid, "Selected"));
DeletePVar(playerid, "Selected");
return 1;
}
else
{
new str[84];
format(str, sizeof str, "The edition ID[%d] was deleted.", GetPVarInt(playerid, "Selected"));
ShowPlayerDialog(playerid, DIALOG_SIMPLE_MESSAGE, DIALOG_STYLE_MSGBOX, "-", str, "Close", "");
DestroyPlayerObject(playerid, GetSVarIntEx(playerid, OBJECT_ID, GetPVarInt(playerid, "Selected")));
DeletePlayer3DTextLabel(playerid, PlayerText3D:GetSVarIntEx(playerid, LABEL_ID, GetPVarInt(playerid, "Selected")));
DeleteSVarEx(playerid, OBJECT_MODEL, GetPVarInt(playerid, "Selected"));
DeletePVar(playerid, "Selected");
return 1;
}
}


Jak tak dalej p?jdzie to ca?y edytor tu wklej?, a ju? po?owa jest wklejona. xD

Powoli pomys?y mi si? ko?cz?. Dla kogo? kto si? zna jest to pewnie 5 minut roboty. Dla mnie .. niewykonalne. Wstawiam ca?y kod..
Licz? na pomoc. : /

http://pastebin.com/s2ByVRpc

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-11-15, 13:39


Raydex







Wiek: 36
Na forum: 6037 dni
Posty: 138

Piwa: 1043

Respekt: 41,7

Musisz w ca?ym kodzie pozmienia? linijki typu DestroyPlayerObject na DestroyObject, CreatePlayerObject na CreateObject itp.

Postaw piwo autorowi tego posta
 

 
Tagi: pokazywanie :: obiektów :: ingame :: edytor
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku