Započeo Levu
•10. Maj 2018.• ZaključanoPokretna slova
3,660
pregleda
21
postova
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,420
Postovi:
90
Teme:
Pridružio se:Jan. 2014
10. Maj 2018.
Pozdrav svima, retko sta vam izbacujem od svojih radova, sta vise skoro nista... Pa sam zbog toga odlucio da vam napravim tutorial za jednu foricu koja mnoge zanima, a ne znaju kako da urade...
Naime rec je o pokretnim slova tj konkretno cu vam pokazati kako napraviti da se slova vrte u krug kao sto je vecina vas videla na BloodMoneyu, BlackStreetu i slicnim serverima.
Primer: http://www.deviantpics.com/images/2018/05/10/sa-mp-382.png - slova se vrte oko zgrade
Tutorial nije namenjen bas za pocetnike jer moraju da se znaju neke stvari koje necu objasnjavati... U tutorialu cu koristiti YLESS-ove tajmere.
Naime rec je o pokretnim slova tj konkretno cu vam pokazati kako napraviti da se slova vrte u krug kao sto je vecina vas videla na BloodMoneyu, BlackStreetu i slicnim serverima.
Primer: http://www.deviantpics.com/images/2018/05/10/sa-mp-382.png - slova se vrte oko zgrade
Tutorial nije namenjen bas za pocetnike jer moraju da se znaju neke stvari koje necu objasnjavati... U tutorialu cu koristiti YLESS-ove tajmere.
Pre svega treba u MapEditoru, ili preko cega vec mapate, da izmapate objekte na kojima ce biti text u krug, odnosno da ih povezete tako da oni cine krug...
Primer: http://www.deviantpics.com/images/2018/05/10/image.png
Nakon toga uzmete kodove iz editora i stavite ih u notepad/pawno i na svaki stavite zeljeni text tj slovo u ovom slucaju(Necu objasnjavati postavljanje texta, imate razne tutorijale za to).
new PokretnaSlova;
//ongamemodeinit ili gde vec ucitavate mape
PokretnaSlova = CreateDynamicObject(19366, 1468.65759, -2285.15405, 25.59300, 0.00000, 0.00000, -15.00000);
PokretnaSlova = CreateDynamicObject(19366, 1468.66138, -2288.23438, 25.59300, 0.00000, 0.00000, 15.00000);
PokretnaSlova = CreateDynamicObject(19366, 1470.21057, -2290.90356, 25.59300, 0.00000, 0.00000, 45.00000);
PokretnaSlova = CreateDynamicObject(19366, 1472.87488, -2292.42163, 25.59300, 0.00000, 0.00000, 75.00000);
PokretnaSlova = CreateDynamicObject(19366, 1475.98669, -2292.43579, 25.59300, 0.00000, 0.00000, 105.00000);
PokretnaSlova = CreateDynamicObject(19366, 1478.66187, -2290.89380, 25.59300, 0.00000, 0.00000, 135.00000);
PokretnaSlova = CreateDynamicObject(19366, 1480.22510, -2288.21167, 25.59300, 0.00000, 0.00000, 165.00000);
PokretnaSlova = CreateDynamicObject(19366, 1480.22705, -2285.10132, 25.59300, 0.00000, 0.00000, 195.00000);
PokretnaSlova = CreateDynamicObject(19366, 1478.66150, -2282.41748, 25.59300, 0.00000, 0.00000, 225.00000);
PokretnaSlova = CreateDynamicObject(19366, 1475.97339, -2280.87622, 25.59300, 0.00000, 0.00000, 255.00000);
PokretnaSlova = CreateDynamicObject(19366, 1472.89282, -2280.85986, 25.59300, 0.00000, 0.00000, 285.00000);
PokretnaSlova = CreateDynamicObject(19366, 1470.21033, -2282.43262, 25.59300, 0.00000, 0.00000, -45.00000);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}A", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}B", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}C", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}D", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}E", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}F", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}G", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}H", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}I", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}J", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}K", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
SetDynamicObjectMaterialText(PokretnaSlova, 0, "{000000}L", 60, "Arial", 130, 1, -1, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
Kada ste to uradili sada treba od svakog objekta da uzmete X,Y,Z,rX,rY,rZ kordinate i stavite u jedan enum. To radimo da bi imali pozicije na koje treba da saljemo odredjeno slovo tj objekat.
new Float:PokretnaSlovaPos =
{
{1468.65759, -2285.15405, 25.59300, 0.00000, 0.00000, -15.00000},
{1468.66138, -2288.23438, 25.59300, 0.00000, 0.00000, 15.00000},
{1470.21057, -2290.90356, 25.59300, 0.00000, 0.00000, 45.00000},
{1472.87488, -2292.42163, 25.59300, 0.00000, 0.00000, 75.00000},
{1475.98669, -2292.43579, 25.59300, 0.00000, 0.00000, 105.00000},
{1478.66187, -2290.89380, 25.59300, 0.00000, 0.00000, 135.00000},
{1480.22510, -2288.21167, 25.59300, 0.00000, 0.00000, 165.00000},
{1480.22705, -2285.10132, 25.59300, 0.00000, 0.00000, 195.00000},
{1478.66150, -2282.41748, 25.59300, 0.00000, 0.00000, 225.00000},
{1475.97339, -2280.87622, 25.59300, 0.00000, 0.00000, 255.00000},
{1472.89282, -2280.85986, 25.59300, 0.00000, 0.00000, 285.00000},
{1470.21033, -2282.43262, 25.59300, 0.00000, 0.00000, -45.00000}
};I sada sve sto treba da uradite je da uradite funkciju koja ce objekat da pomera sa mesta na mesto, ja sam to uradio ovako.
task PokretnaSlova_Tajmer()//ponavljajuci tajmer na svake 4s
{
new Float:Pos;
for(new i = 0; i < 12; i++)//petlja za 12 objekata
{
GetDynamicObjectPos(PokretnaSlova, Pos, Pos, Pos); // uzimamo poziciju objekta i donjim kodom proveravamo na kom je mestu, zatim ga saljemo na sledece
//nisam koristio else if kasnije jer sam imao slucajeva da mi zabada na raznim skriptama, pawn jbg
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
if(Pos == PokretnaSlovaPos) MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
}
return 1;
}
U slucaju da neko slovo zabode ili dodje do nekih problema, u slucaju laga i sl mozete i da uradite komandu koja ce pozvati ovu funkciju za vracanje slova na pocetne polozaje.
forward ResetSlova();
public ResetSlova()
{
for(new i = 0; i < 12; i++)
{
MoveDynamicObject(PokretnaSlova, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos, 1.0, PokretnaSlovaPos, PokretnaSlovaPos, PokretnaSlovaPos);
}
return 1;
}
Kratko i lako, ali opet za neke bez logike komplikovano. Hvala na paznji i izvinjavam se na mogucim greskicama hehe 😄
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
731
Postovi:
29
Teme:
Pridružio se:Nov. 2016
Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
241 / 250 XP
Početnik(0)
2,061
Postovi:
146
Teme:
Pridružio se:Maj 2012
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
72
Postovi:
1
Teme:
Pridružio se:Mar. 2018
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava

