Üdv, Most regisztráltam a fórumra és szeretném bemutatni az elsõ munkámat.A Neve: InterCam Editor FilterScript.
Amire Szolgál: Ugyebár megjelent a 0.3e verzióju samp szerver és egy új funkció került bele.
Ez a funkció arra szolgál, hogy zökkenõmentesen mozgassa a Kameránkat. Bõvebben: http://sampforum.hu/index.php?topic=22438.0Használata: Amint beléptél a szerverre, írd be a /intercam Parancsot. Itt megjelennek neked az Opciók.
Egy kód elkészítése: Menj a kamera kezdõhelyére, és írd be /intercam Innen, majd menj a mozgás végpontjára és írd be /intercam Ide. Megnézheted a munkádat a /intercam Megnéz parancsal.
A Legfontosabb része a Scriptnek: ha beírod /intercam Lement, akkor az adott kódot egy pwn fájlban meg is kapod a ScriptFiles mappában így csak ki kell másolnod és már használhatod is a kódot.Amiért Csináltam: Elsõsorban azért, mert unalmas mindíg a /save és Ctrl+v vel irni a kódot.A Kód:
/* InterpolateCameraPos Script By: Joshua */
#include <a_samp>
#define KEK 0x33CCFFAA
#define SARGA \"{F3FF02}\"
new Float:KezdoPozicio[3];//Innen Fog Indulni a Mozgó Kameránk
new Float:VegzoPozicio[3];//Ide fog jönni a mozgó kameránk
public OnFilterScriptInit()
{
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, \"/intercam\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Mitir[20];
Mitir = strtok(cmdtext, idx);
if(!strlen(Mitir))
{
SendClientMessage(playerid, KEK, \"InterCam:\"SARGA\" /intercam [info|Innen|Ide|Megnéz|Lement|Megállít]\");
return 1;
}
if(strcmp(Mitir,\"Info\",true) == 0)
{
SendClientMessage(playerid, KEK, \"==================[{FFFFFF} InterCam {00C0FF}]============================\");
SendClientMessage(playerid, KEK, \"{FFFFFF}A Scriptet Joshua Készítette a SampFórum Közössége számára\");
SendClientMessage(playerid, KEK, \"==========================================================\");
}
if(strcmp(Mitir,\"Innen\",true) == 0)
{
GetPlayerPos(playerid, KezdoPozicio[0], KezdoPozicio[1], KezdoPozicio[2]);
SendClientMessage(playerid, KEK, \"InterCam:\"SARGA\" Megcsináltad a kezdõ pocíciót, ezt bármikor módosíthatod, ha újra beírod: /intercam innen\");
return 1;
}
if(strcmp(Mitir,\"Ide\",true) == 0)
{
SendClientMessage(playerid, KEK, \"InterCam:\"SARGA\" Elkészítetted a végpozíciót\");
GetPlayerPos(playerid, VegzoPozicio[0], VegzoPozicio[1], VegzoPozicio[2]);
return 1;
}
if(strcmp(Mitir,\"Megnéz\",true) == 0)
{
SendClientMessage(playerid, KEK, \"InterCam:\"SARGA\" A legutolsó adatok szerinti felvétel elindítása....\");
InterpolateCameraPos(playerid, KezdoPozicio[0], KezdoPozicio[1], KezdoPozicio[2], VegzoPozicio[0], VegzoPozicio[1], VegzoPozicio[2], 30000,CAMERA_MOVE);
return 1;
}
if(strcmp(Mitir,\"Megállít\",true) == 0)
{
SendClientMessage(playerid, KEK, \"InterCam:\"SARGA\" Megállítottad a teszt lejátszást\");
SetCameraBehindPlayer(playerid);
return 1;
}
if(strcmp(Mitir,\"Lement\",true) == 0)
{
new string[256];
new File:Forras = fopen(\"/Forras.pwn\", io_write);
if(Forras)
{
fwrite(Forras, \"//Itt a teljes kod, amit a módodba bemasolva mar hasznalhatsz is!\\n\");
fwrite(Forras, \"//A 30000ezres szam az idot jelenti Miliszekundumban, azaz 1000 = 1MP!\\n\");
format(string, sizeof(string), \"InterpolateCameraPos(playerid, %d,%d,%d,%d,%d,%d, 30000,CAMERA_MOVE);\",KezdoPozicio[0], KezdoPozicio[1], KezdoPozicio[2],VegzoPozicio[0], VegzoPozicio[1], VegzoPozicio[2]);
fwrite(Forras,string);
fclose(Forras);
}
SendClientMessage(playerid, KEK, \"InterCam:\"SARGA\" Sikeresen Lementetted a Fájlt, a Scriptfiles/Forras.pwn-ben már meg is találod a kódot\");
return 1;
}
if(strcmp(Mitir,\"Idõ\",true) == 0)
{
return 1;
}
else return SendClientMessage(playerid,KEK, \"InterCam:\"SARGA\" /intercam [innen|Ide|Megnéz|Lement|Megállít]\");
}
}
return 0;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}