Tip: FS
Slike ili Video: Testiraj (Sta da slikam nz ..)
Opis i dodatne informacije: //
Download link: https://pastebin.com/DsE1Ah5T
Scan link: pastebin
Credits: ME
Broj od 1 pa do 3 uopste ne trebas cuvati ni dodeljivati memoriju, jer igrac pogadja samo rezultat, a brojeve formatiraj lokalno.
tajmervreme takodje bespotrebno mada ako vec hoces definisi ga s #define.
Takodje bih ti preporucio da poradis na imenovanju varijabli i funkciju da to ima neku povezanost i da znas da su deo tog odredjenog sistema.
Bilo bi dobro da raslojavas provere da na primer ako kviz nije aktivan da uopste ne poziva strval.
GetPlayerName bi mogao pozvati samo pri konekciji igraca i onda koristiti sacuvano ime i update ga ako se slucajno promeni.
Kada saljes ClientMessage igracima ne moras na pocetak stringa dodavati {NEKA BOJA} vec samo iskoristi parametar iz funkcije koja ce sama na pocetak ubaciti boju.
Ovo su samo saveti koji se ne bi trebali smatrati kao uvreda vec nesto sto bi pomoglo nekome ko pravi slicne greske u nekim vecim stvarima.
Kao što ti je rekao Xack, moraš poraditi na kodu. Napravio sam ti jedan primjer dole pa ako želiš pogledaj, također sam malo uredio tvoju skriptu ako netko želi koristiti. Nisam testirao niti compile jer nemam samp ni' pawno, ako netko želi koristiti a ima nekih grešaka neka mi se obrati preko PM-a.
Pastebin (https://pastebin.com/yYtRscxy).
[pawn]#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define COLOR_WHITE (0xFFFFFFAA)
enum E_MATH_TEST {
m_result,
m_reward,
bool: m_active
}
new MathTest[E_MATH_TEST];
public OnGameModeInit() {
// reset math-test
MathTest[m_result] = (0);
MathTest[m_active] = (false);
MathTest[m_reward] = (0);
return (true);
}
public OnPlayerText(playerid, text[]) {
if(strval(text) == MathTest[m_result] && MathTest[m_active] == (true)) {
new tmpString[90];
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Odgovorili ste tocno na math-pitanje (rezultat: %d) i zaradili ste %d$.", MathTest[m_result], MathTest[m_reward]);
SendClientMessageToAll(COLOR_WHITE, (tmpString));
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_result] = (0);
MathTest[m_active] = (false);
MathTest[m_reward] = (0);
}
return (true);
}
CMD:math(playerid, params[]) {
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_WHITE, "Ne mozete koristiti ovu komandu.");
new reward;
if(sscanf(params, "d", reward))
return SendClientMessage(playerid, COLOR_WHITE, "[CMD]: /math [reward].");
new tmpString[64],
num1 = (0), num2 = (0), num3 = (0);
MathTest[m_result] = (num1 = random(100)) + (num2 = random(100))-(num3 = random(100));
MathTest[m_active] = (true);
MathTest[m_reward] = (reward);
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Unesite rezultat od (%d+%d-%d), nagrada iznosi %d$.", num1, num2, num3, MathTest[m_reward]);
SendClientMessageToAll(COLOR_WHITE, (tmpString));
return (true);
}[/pawn]
Citat: L3o poslato Avgust 12, 2020, 02:26:28 PRE PODNE
Kao što ti je rekao Xack, moraš poraditi na kodu. Napravio sam ti jedan primjer dole pa ako želiš pogledaj, također sam malo uredio tvoju skriptu ako netko želi koristiti. Nisam testirao niti compile jer nemam samp ni' pawno, ako netko želi koristiti a ima nekih grešaka neka mi se obrati preko PM-a.
Pastebin (https://pastebin.com/yYtRscxy).
[pawn]#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define COLOR_WHITE (0xFFFFFFAA)
enum E_MATH_TEST {
m_result,
m_reward,
bool: m_active
}
new MathTest[E_MATH_TEST];
public OnGameModeInit() {
// reset math-test
MathTest[m_result] = (0);
MathTest[m_active] = (false);
MathTest[m_reward] = (0);
return (true);
}
public OnPlayerText(playerid, text[]) {
if(strval(text) == MathTest[m_result] && MathTest[m_active] == (true)) {
new tmpString[90];
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Odgovorili ste tocno na math-pitanje (rezultat: %d) i zaradili ste %d$.", MathTest[m_result], MathTest[m_reward]);
SendClientMessageToAll(COLOR_WHITE, (tmpString));
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_result] = (0);
MathTest[m_active] = (false);
MathTest[m_reward] = (0);
}
return (true);
}
CMD:math(playerid, params[]) {
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_WHITE, "Ne mozete koristiti ovu komandu.");
new reward;
if(sscanf(params, "d", reward))
return SendClientMessage(playerid, COLOR_WHITE, "[CMD]: /math [reward].");
new tmpString[64],
num1 = (0), num2 = (0), num3 = (0);
MathTest[m_result] = (num1 = random(100)) + (num2 = random(100))-(num3 = random(100));
MathTest[m_active] = (true);
MathTest[m_reward] = (reward);
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Unesite rezultat od (%d+%d-%d), nagrada iznosi %d$.", num1, num2, num3, MathTest[m_reward]);
SendClientMessageToAll(COLOR_WHITE, (tmpString));
return (true);
}[/pawn]
A šta kažeš na ovo? Nisam 100% prepravio kod naravno, mrzelo me, nemam živaca da radim, malo sam ga samo sredio i tjt.
Btw pola od ovoga ja ne koristim tako daa...
[pawn]
#include <a_samp>
#include <zcmd>
#include <sscanf2>
enum E_MATH_TEST
{
m_result,
m_reward,
bool: m_active
};
new MathTest[E_MATH_TEST];
public OnGameModeInit()
{
// reset math-test
MathTest[m_active] = false;
MathTest[m_result] =
MathTest[m_reward] = 0;
return 1;
}
public OnPlayerText(playerid, text[])
{
if(strval(text) == MathTest[m_result] && MathTest[m_active])
{
new tmpString[90];
format(
tmpString, sizeof(tmpString),
"[MATH-TEST]: Odgovorili ste tocno na math-pitanje (rezultat: %d) i zaradili ste %d$.",
MathTest[m_result], MathTest[m_reward]
);
SendClientMessageToAll(-1, (tmpString));
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_active] = false;
MathTest[m_result] =
MathTest[m_reward] = 0;
}
return 1;
}
CMD:math(playerid, const params[])
{
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
if (isnull(params))
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
new
tmpString[64],
num1 = 0,
num2 = 0,
num3 = 0;
MathTest[m_result] = (num1 = random(100)) + (num2 = random(100)) - (num3 = random(100));
MathTest[m_reward] = reward;
MathTest[m_active] = true;
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Unesite rezultat od (%d+%d-%d), nagrada iznosi %d$.", num1, num2, num3, MathTest[m_reward]);
SendClientMessageToAll(-1, (tmpString));
return 1;
}
[/pawn]
Totalno odudarate od koncepta koji je ovaj covek odradio.
Dzaba vam rad na drugaciji nacin ako ne pratite sta i kako radite.
Ako je filterskripta onda se po tom formatu i radi, callback break nedostaje, bespotrebne inicijalizacije, bespotrebno includanje sscanfa, da ne nabrajam dalje.
[pawn]
#define FILTERSCRIPT
/*
@Dependencies
*/
#include <a_samp>
#include <zcmd>
/*
@Configuration
*/
#define MATH_TEST_AUTOTIME (15)
#define MATH_TEST_AUTOREWARD (5000)
/*
@Data
*/
enum E_MATH_TEST
{
m_result,
m_reward,
bool: m_active
};
new MathTest[E_MATH_TEST];
/*
@Prototypes
*/
forward MathTest_Auto();
stock MathTest_Start(reward);
/*
@Native callbacks
*/
public OnFilterScriptInit()
{
SetTimer("MathTest_Auto", 60000 * MATH_TEST_AUTOTIME, true);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(MathTest[m_active])
{
if(strval(text) == MathTest[m_result])
{
new tmpString[90];
GetPlayerName(playerid, tmpString);
format(
tmpString, sizeof tmpString,
"[Math]: %s je prvi dao tacan odgovor (rezultat: %d | nagrada: %d$)",
tmpString, MathTest[m_result], MathTest[m_reward]
);
SendClientMessageToAll(-1, tmpString);
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_active] = false;
MathTest[m_result] =
MathTest[m_reward] = 0;
return 0;
}
}
return 1;
}
/*
@Function bodies
*/
stock MathTest_Start(reward)
{
if(reward < 0)
{
return 0;
}
new
tmpString[56],
num[3];
MathTest[m_result] = (num[0] = random(100)) + (num[1] = random(100)) - (num[2] = random(100));
MathTest[m_reward] = reward;
MathTest[m_active] = true;
format(
tmpString, sizeof tmpString,
"[Math]: Izracunajte (%d+%d-%d), nagrada iznosi %d$.",
num[0], num[1], num[2], MathTest[m_reward]
);
SendClientMessageToAll(-1, tmpString);
return 1;
}
public MathTest_Auto()
{
MathTest_Start(MATH_TEST_AUTOREWARD);
return 1;
}
/*
@Player area
*/
CMD:math(playerid, const params[])
{
if(!IsPlayerAdmin(playerid))
{
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
}
if(isnull(params))
{
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
}
MathTest_Start(strval(params));
return 1;
}
[/pawn]
Citat: XACK poslato Avgust 12, 2020, 11:53:00 PRE PODNE
Totalno odudarate od koncepta koji je ovaj covek odradio.
Dzaba vam rad na drugaciji nacin ako ne pratite sta i kako radite.
Ako je filterskripta onda se po tom formatu i radi, callback break nedostaje, bespotrebne inicijalizacije, bespotrebno includanje sscanfa, da ne nabrajam dalje.
[pawn]
#define FILTERSCRIPT
/*
@Dependencies
*/
#include <a_samp>
#include <zcmd>
/*
@Configuration
*/
#define MATH_TEST_AUTOTIME (15)
#define MATH_TEST_AUTOREWARD (5000)
/*
@Data
*/
enum E_MATH_TEST
{
m_result,
m_reward,
bool: m_active
};
new MathTest[E_MATH_TEST];
/*
@Prototypes
*/
forward MathTest_Auto();
stock MathTest_Start(reward);
/*
@Native callbacks
*/
public OnFilterScriptInit()
{
SetTimer("MathTest_Auto", 60000 * MATH_TEST_AUTOTIME, true);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(MathTest[m_active])
{
if(strval(text) == MathTest[m_result])
{
new tmpString[90];
GetPlayerName(playerid, tmpString);
format(
tmpString, sizeof tmpString,
"[Math]: %s je prvi dao tacan odgovor (rezultat: %d | nagrada: %d$)",
tmpString, MathTest[m_result], MathTest[m_reward]
);
SendClientMessageToAll(-1, tmpString);
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_active] = false;
MathTest[m_result] =
MathTest[m_reward] = 0;
return 0;
}
}
return 1;
}
/*
@Function bodies
*/
stock MathTest_Start(reward)
{
if(reward < 0)
{
return 0;
}
new
tmpString[56],
num[3];
MathTest[m_result] = (num[0] = random(100)) + (num[1] = random(100)) - (num[2] = random(100));
MathTest[m_reward] = reward;
MathTest[m_active] = true;
format(
tmpString, sizeof tmpString,
"[Math]: Izracunajte (%d+%d-%d), nagrada iznosi %d$.",
num[0], num[1], num[2], MathTest[m_reward]
);
SendClientMessageToAll(-1, tmpString);
return 1;
}
public MathTest_Auto()
{
MathTest_Start(MATH_TEST_AUTOREWARD);
return 1;
}
/*
@Player area
*/
CMD:math(playerid, const params[])
{
if(!IsPlayerAdmin(playerid))
{
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
}
if(isnull(params))
{
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
}
MathTest_Start(strval(params));
return 1;
}
[/pawn]
Ja sam rekao da nisam skroz sredio kod, samo ga malo sredio, uredio, i to, ništa ga nisam optimizovao i to. Tako da..
Citat: inquisitiveemmett poslato Avgust 12, 2020, 12:08:27 POSLE PODNE
Ja sam rekao da nisam skroz sredio kod, samo ga malo sredio, uredio, i to, ništa ga nisam optimizovao i to. Tako da..
Problem je sto si ga jos vise zabrljavio, tj. ni ne moze se compile, komanda bi primala prazne parametre, nema returna u OPT itd..
Ja ću samo reći da se funkcija uvek piše ovako
[pawn]main()
{
return;
} [/pawn]
Bez obzira da li se koristi ALLMAN ili K&R (ovako i jeste pravilno u K&Ru bez obzira što inače curly bracket ide u isti red u drugim slučajevima)
EDIT: Što se samog sistema tiče (ne pričam o kodu ne loži se) je mnogo jednostavan tako da sumnjam da bi bilo gde imao primenu kada je uvek nesto+nesto-nesto...
Citat: XACK poslato Avgust 12, 2020, 12:12:14 POSLE PODNE
Problem je sto si ga jos vise zabrljavio, tj. ni ne moze se compile, komanda bi primala prazne parametre, nema returna u OPT itd..
Šta pričaš ti? Isto si uradio komandu kao i ja samo što si one stvari dole pobacao u funkciju i to je to ???
EDIT: I dodao
[pawn]
// Umesto ovoga (mog)
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
if (isnull(params))
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
// Si dodao ovo
if(!IsPlayerAdmin(playerid))
{
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
}
if(isnull(params))
{
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
}
[/pawn]
Ne bodi se više pls
EDIT 2: Ja sam samo uredio kod, nisam ga ništa dodavao/oduzimao osim što sam obrisao COLOR_WHITE i zamenio sa -1... ::) Tako da, nije moj problem što neće da se compile, ne nameravam da sređujem tuđe kodove baš
Citat: inquisitiveemmett poslato Avgust 12, 2020, 13:01:37 POSLE PODNE
Šta pričaš ti? Isto si uradio komandu kao i ja samo što si one stvari dole pobacao u funkciju i to je to ???
EDIT: I dodao
[pawn]
// Umesto ovoga (mog)
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
if (isnull(params))
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
// Si dodao ovo
if(!IsPlayerAdmin(playerid))
{
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
}
if(isnull(params))
{
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
}
[/pawn]
Ne bodi se više pls
EDIT 2: Ja sam samo uredio kod, nisam ga ništa dodavao/oduzimao osim što sam obrisao COLOR_WHITE i zamenio sa -1... ::) Tako da, nije moj problem što neće da se compile, ne nameravam da sređujem tuđe kodove baš
Gle, prvenstveno, ovaj lik nije uopste napravio komandu vec tajmer koji automatski pokrece kviz svakih 15 minuta.
Ti si onda dosao i stavio komandu takvu da kada je upises uvek ce se slati prazan parametar.
Zapeo si za komandu, a ostalo nisi ni video gde si pogresio.
Navikli ste da includovi rade za vas, a sami ne znate proste stvari uraditi.
Svadje bez pls :P
Citat: XACK poslato Avgust 12, 2020, 13:20:21 POSLE PODNE
Gle, prvenstveno, ovaj lik nije uopste napravio komandu vec tajmer koji automatski pokrece kviz svakih 15 minuta.
Ti si onda dosao i stavio komandu takvu da kada je upises uvek ce se slati prazan parametar.
Zapeo si za komandu, a ostalo nisi ni video gde si pogresio.
Navikli ste da includovi rade za vas, a sami ne znate proste stvari uraditi.
Svadje bez pls :P
Šta sam ja pogrešio ostalo kad nisam ništa radio osim kao što sam rekao promenio color white u -1 i rokao new line ??
Citat: inquisitiveemmett poslato Avgust 12, 2020, 13:25:56 POSLE PODNE
Šta sam ja pogrešio ostalo kad nisam ništa radio osim kao što sam rekao promenio color white u -1 i rokao new line ??
Samim tim sto si odobrio pisanje takvog koda te kritikujuci mene za komandu na kojoj si ti napravio gresku.
Jeste da si sredio imenovanje, ali ostalo je isto kao kod ovog lika.
Citat: XACK poslato Avgust 12, 2020, 13:27:35 POSLE PODNE
Samim tim sto si odobrio pisanje takvog koda te kritikujuci mene za komandu na kojoj si ti napravio gresku.
Jeste da si sredio imenovanje, ali ostalo je isto kao kod ovog lika.
Njegov kod sam editovao :=
Citat: L3o poslato Avgust 12, 2020, 02:26:28 PRE PODNE
Kao što ti je rekao Xack, moraš poraditi na kodu. Napravio sam ti jedan primjer dole pa ako želiš pogledaj, također sam malo uredio tvoju skriptu ako netko želi koristiti. Nisam testirao niti compile jer nemam samp ni' pawno, ako netko želi koristiti a ima nekih grešaka neka mi se obrati preko PM-a.
Pastebin (https://pastebin.com/yYtRscxy).
[pawn]#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define COLOR_WHITE (0xFFFFFFAA)
enum E_MATH_TEST {
m_result,
m_reward,
bool: m_active
}
new MathTest[E_MATH_TEST];
public OnGameModeInit() {
// reset math-test
MathTest[m_result] = (0);
MathTest[m_active] = (false);
MathTest[m_reward] = (0);
return (true);
}
public OnPlayerText(playerid, text[]) {
if(strval(text) == MathTest[m_result] && MathTest[m_active] == (true)) {
new tmpString[90];
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Odgovorili ste tocno na math-pitanje (rezultat: %d) i zaradili ste %d$.", MathTest[m_result], MathTest[m_reward]);
SendClientMessageToAll(COLOR_WHITE, (tmpString));
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_result] = (0);
MathTest[m_active] = (false);
MathTest[m_reward] = (0);
}
return (true);
}
CMD:math(playerid, params[]) {
if (!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_WHITE, "Ne mozete koristiti ovu komandu.");
new reward;
if(sscanf(params, "d", reward))
return SendClientMessage(playerid, COLOR_WHITE, "[CMD]: /math [reward].");
new tmpString[64],
num1 = (0), num2 = (0), num3 = (0);
MathTest[m_result] = (num1 = random(100)) + (num2 = random(100))-(num3 = random(100));
MathTest[m_active] = (true);
MathTest[m_reward] = (reward);
format(tmpString, sizeof(tmpString), "[MATH-TEST]: Unesite rezultat od (%d+%d-%d), nagrada iznosi %d$.", num1, num2, num3, MathTest[m_reward]);
SendClientMessageToAll(COLOR_WHITE, (tmpString));
return (true);
}[/pawn]
Citat: inquisitiveemmett poslato Avgust 12, 2020, 13:30:23 POSLE PODNE
Njegov kod sam editovao :=
Svejedno je ciji je, ne radi kako bi trebalo da radi.
Citat: XACK poslato Avgust 12, 2020, 13:33:13 POSLE PODNE
Svejedno je ciji je, ne radi kako bi trebalo da radi.
Pa to nije moj problem, nisam ja sjebao kod jer ga nisam ni radio, sjebao ga je L3o i ovaj što ga je napravio i objavio.. Ja niti imam samp na ovom kompu, niti gta, niti compiler, nemam baš ništa tako da me realno ne interesuje šta su radili, ja sam samo pokazao kako bi bilo da malo promeni stil pisanja koda, ništa više, ništa. Tako da nema potrebe da mi pričaš da ništa ne znam i tako to slično, et...
Toliko ste usrali kod sa stilom da ne radi uopste, lik je objavio simple system sa timerom koji radi, a ja sam ispravio sve sto nije radilo uz decent stil.
Citat: XACK poslato Avgust 12, 2020, 13:43:34 POSLE PODNE
Toliko ste usrali kod sa stilom da ne radi uopste, lik je objavio simple system sa timerom koji radi, a ja sam ispravio sve sto nije radilo uz decent stil.
Nerazuman si, to je to. Ne može čovek ništa da ti objasni...
Nemas sta da objasnjavas, svojim postovima si pokazao sta si trebao da pokazes, dalje nema svrhe nastavljati. :-\
Evo kada već svi pišu bespotrebne primere "Kako najbolje i najlepše napisati kod" (i kako forsirati svoj stil na druge bez razloga jer svako ima svoj stil) haj i ja da napišem jedan u modularnom duhu :D
[pawn]#include <a_samp>
#if defined MATH_TIMER_INTERVAL
#undef MATH_TIMER_INTERVAL
#endif
#define MATH_TIMER_INTERVAL (5) // Minutes
static gResult;
static bool: gMathActive;
forward Math_Timer();
forward OnCorrectMathAnswer(playerid);
// -
// Api
// -
stock ReturnMathQuizResult()
{
return gResult;
}
stock bool:IsMathActive()
{
return gMathActive;
}
stock bool:IsMathAnswer(const buffer[])
{
if (!IsMathActive)
return false;
if (strval(buffer) == ReturnMathQuizResult())
return true;
return false;
}
stock ToggleMathActive(bool: toggle)
{
return (gMathActive = toggle);
}
stock StartMathQuiz()
{
new
buffer[128],
num[3]
;
gResult = (num[0] = random(200)) + (num[1] = random(200)) - (num[2] = random(200));
ToggleMathActive(true);
format(buffer, sizeof(buffer), "{FFFFFF}[Math_Timer]: Vnesete go gResultot od izrazot %d+%d-%d i dobivate 10000$!", num[0], num[1], num[2]);
SendClientMessageToAll(-1, buffer);
}
// -
// Callbacks
// -
public OnFilterScriptInit()
{
SetTimer("Math_Timer", MATH_TIMER_INTERVAL * 60000, true);
return 1;
}
public Math_Timer()
{
StartMathQuiz();
return 1;
}
public OnPlayerText(playerid, text[])
{
if(IsMathAnswer(text))
{
CallLocalFunction("OnCorrectMathAnswer", "d", playerid);
return 0;
}
return 1;
}
public OnCorrectMathAnswer(playerid)
{
new pName[MAX_PLAYER_NAME], buffer[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(buffer, sizeof(buffer), "{FFFFFF}[Math_Timer]: Tocniot odgovor na zadacata bese: %d", gResult);
SendClientMessageToAll(-1, buffer);
format(buffer, sizeof(buffer), "{FFFFFF}[Math_Timer]: Igracot %s prv go pogodi tocniot gResult i osvoi 1000$.", pName);
SendClientMessageToAll(-1, buffer);
GivePlayerMoney(playerid, 1000);
ToggleMathActive(false);
return;
}[/pawn]
Da ispravim gore, zaboravio sam ()
[pawn]stock bool:IsMathAnswer(const buffer[])
{
if (!IsMathActive())
return false;
if (strval(buffer) == ReturnMathQuizResult())
return true;
return false;
}[/pawn]
[pawn]
#if defined MATH_TIMER_INTERVAL
#undef MATH_TIMER_INTERVAL
#endif
[/pawn]
Ako neko vec ima definisano nesto slicno poremetices mu sistem, a on nece znati da je to promenjeno, dakle - bespotrebno.
[pawn]
CallLocalFunction("OnCorrectMathAnswer", "d", playerid);
[/pawn]
Bespotrebno, dovoljan je normalan call, ovaj je retardiran.
[pawn]
new pName[MAX_PLAYER_NAME]
[/pawn]
Umesto ovoga mozes koristiti 'buffer', btw ako koristis ovo: + 1 na MAX_PLAYER_NAME ide u slucaju da ime ima maksimalan broj karaktera
[pawn]
sizeof(pName));
[/pawn]
takodje bespotrebno, po defaultu ce uzeti tu duzinu.
Cekamo jos i plugin verziju da slucajno ne ostanemo uskraceni i za to :D
Citat: XACK poslato Avgust 12, 2020, 15:33:36 POSLE PODNE
[pawn]
#if defined MATH_TIMER_INTERVAL
#undef MATH_TIMER_INTERVAL
#endif
[/pawn]
Ako neko vec ima definisano nesto slicno poremetices mu sistem, a on nece znati da je to promenjeno, dakle - bespotrebno.
[pawn]
CallLocalFunction("OnCorrectMathAnswer", "d", playerid);
[/pawn]
Bespotrebno, dovoljan je normalan call, ovaj je retardiran.
[pawn]
new pName[MAX_PLAYER_NAME]
[/pawn]
Umesto ovoga mozes koristiti 'buffer', btw ako koristis ovo: + 1 na MAX_PLAYER_NAME ide u slucaju da ime ima maksimalan broj karaktera
[pawn]
sizeof(pName));
[/pawn]
takodje bespotrebno, po defaultu ce uzeti tu duzinu.
Cekamo jos i plugin verziju da slucajno ne ostanemo uskraceni i za to :D
Uopšte nisam menjao kod nego stil druže...
Ali evo da odgovorimo na sve to :)
#if defined MATH_TIMER_INTERVAL
#undef MATH_TIMER_INTERVAL
#endif
Rekao sam da pišem modularno, samim tim će definicija već biti iskorištena tamo gde treba i neće ništa poremetiti jer jer to pre-compiler
CallLocalFunction("OnCorrectMathAnswer", "d", playerid);
M O D U L A R A N kod koji verovatno nikada nisi pisao niti video.
CitatPackages
A Package is a folder containing one or more Modules.
Each isolated unit of functionality should be a package. Packages should communicate via events or exported functions. A package emits an event with CallLocalFunction to signal to other packages that something happened. A package may also export functions. Here, export simply means "to make available". static should be used to indicate a function only used within the immediate module.
CitatUmesto ovoga mozes koristiti 'buffer', btw ako koristis ovo: + 1 na MAX_PLAYER_NAME ide u slucaju da ime ima maksimalan broj karaktera
Poprilično sam siguran da niti jedan balkanac ne koristi ime duže od 18 karaktera, naravno
+ 1 svakako treba dodati, ja sam samo preimenovao varijablu, nisam bilo šta prčkao oko nje
Citat[pawn]
sizeof(pName));
[/pawn]
takodje bespotrebno, po defaultu ce uzeti tu duzinu.
Da, svesni smo toga, ali ostavljam to zbog urednosti jer se meni lično tako sviđa, ne zna svako da je default sizeof svakako, ništa neudi što tu stoji, meni se lično ne sviđa da GetPlayerName ima samo 2 parametra jer je
sizeof pre-compiler pa ne škodi ništa da se doda
Kažem ovo sve je
MOJ STIL a o
STILu se ne diskutuje dok ne utiče na same perofrmanse servera.
Da sam ja pisao ovaj sistem, pre svega uopšte ne bih imao ovoliko retardirane evente i ovako simple matematiku nego bi znakovi +-/* bili random :D
Poslednji odgovor koji pišem na ovu temu, nemoj džaba da se umaraš da odgovaraš
Rekao sam ti da je bespotrebno, ali ti ne slusas.
Prvo, #ifdef - jednostavno nije potrebno da bude tu.
calllocalfunc, u dokumentaciji pise "should be", ali posto ti nisi u 2020. godini onda nikom nista, normal call je bolji i pouzdaniji.
buffer sam ti rekao da koristis umesto pName, jer ne moras praviti bezveze dve varijable kad mozes iskoristiti jednu za sve.
sizeof nije pre-compiler vec je operator
Citat: XACK poslato Avgust 12, 2020, 15:59:19 POSLE PODNE
Rekao sam ti da je bespotrebno, ali ti ne slusas.
Prvo, #ifdef - jednostavno nije potrebno da bude tu.
calllocalfunc, u dokumentaciji pise "should be", ali posto ti nisi u 2020. godini onda nikom nista, normal call je bolji i pouzdaniji.
buffer sam ti rekao da koristis umesto pName, jer ne moras praviti bezveze dve varijable kad mozes iskoristiti jednu za sve.
sizeof nije pre-compiler vec je operator
Druže Southclaws tako poziva call-ove, Y_Less tako poziva call-ove, y_inline tako signalizira evente, jel se ti bodeš?
I to je napisano u 2019oj godini, tako da molim te :)
Imaš i
call function(); (koja je opet wrapper za CallLocalFunction) opciju koju ja koristim jer koristim
_ALS_DO#ifdef je stvar ukusa stvarno, nigde ne piše da mora, ja tako pišem jer eto ide gas
A što se buffer-a tiče to nisam video uopšte :D
I
sizeof() ne utiče ne perforamanse server jer se uopšte ne poziva u toku runtime-a što ga čini pre-compiler ili ti preprocessor-om, dešava se u toku kompilacije jer string/array uvek imaju fiksiranu veličinu kada pre-compiler pređe preko nje, čak i kada je u pitanju
string []Evo, ovo sam pronašao prvom google pretargom...
CitatAlso it's good to know that sizeof is a compiler directive, so it's not a function (unlike strlen for example). That implies you cannot use it on arrays with a size that's not known at compile-time (function arguments mostly).
That's why functions which write into arrays also need the size of the array passed seperately (like format).
to sto koristi neko ko je malo pametniji od tebe ne znaci da je bolje
sto se tice sizeofa slazem se
sad se vrati na alhemicara, mogao si i odatle da pises
Citat: XACK poslato Avgust 12, 2020, 16:13:39 POSLE PODNE
to sto koristi neko ko je malo pametniji od tebe ne znaci da je bolje
sto se tice sizeofa slazem se
sad se vrati na alhemicara, mogao si i odatle da pises
Pravim mini-accove za slučaj da me banuju :P
I da, zbog dizajna kada radiš modularno je jedini pravilni način da signaliziraš pozivanje funkcije je
CLF, pokušaj nekada da kreiraš modularan gamemode, onako da ti se omakne da izađeš iz pećine ;)
Citat: King of the Jungle poslato Avgust 12, 2020, 16:14:25 POSLE PODNE
Pravim mini-accove za slučaj da me banuju :P
I da, zbog dizajna kada radiš modularno je jedini pravilni način da signaliziraš pozivanje funkcije je CLF, pokušaj nekada da kreiraš modularan gamemode, onako da ti se omakne da izađeš iz pećine ;)
i normalnim pozivom signaliziras pozivanje funkcije koje je takodje i brze nego si ti naucio samo za clf, ali zasto bi se to koristilo kada jelte ne mora.
Citat: XACK poslato Avgust 12, 2020, 11:53:00 PRE PODNE
Totalno odudarate od koncepta koji je ovaj covek odradio.
Dzaba vam rad na drugaciji nacin ako ne pratite sta i kako radite.
Ako je filterskripta onda se po tom formatu i radi, callback break nedostaje, bespotrebne inicijalizacije, bespotrebno includanje sscanfa, da ne nabrajam dalje.
[pawn]
#define FILTERSCRIPT
/*
@Dependencies
*/
#include <a_samp>
#include <zcmd>
/*
@Configuration
*/
#define MATH_TEST_AUTOTIME (15)
#define MATH_TEST_AUTOREWARD (5000)
/*
@Data
*/
enum E_MATH_TEST
{
m_result,
m_reward,
bool: m_active
};
new MathTest[E_MATH_TEST];
/*
@Prototypes
*/
forward MathTest_Auto();
stock MathTest_Start(reward);
/*
@Native callbacks
*/
public OnFilterScriptInit()
{
SetTimer("MathTest_Auto", 60000 * MATH_TEST_AUTOTIME, true);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(MathTest[m_active])
{
if(strval(text) == MathTest[m_result])
{
new tmpString[90];
GetPlayerName(playerid, tmpString);
format(
tmpString, sizeof tmpString,
"[Math]: %s je prvi dao tacan odgovor (rezultat: %d | nagrada: %d$)",
tmpString, MathTest[m_result], MathTest[m_reward]
);
SendClientMessageToAll(-1, tmpString);
GivePlayerMoney(playerid, MathTest[m_reward]);
MathTest[m_active] = false;
MathTest[m_result] =
MathTest[m_reward] = 0;
return 0;
}
}
return 1;
}
/*
@Function bodies
*/
stock MathTest_Start(reward)
{
if(reward < 0)
{
return 0;
}
new
tmpString[56],
num[3];
MathTest[m_result] = (num[0] = random(100)) + (num[1] = random(100)) - (num[2] = random(100));
MathTest[m_reward] = reward;
MathTest[m_active] = true;
format(
tmpString, sizeof tmpString,
"[Math]: Izracunajte (%d+%d-%d), nagrada iznosi %d$.",
num[0], num[1], num[2], MathTest[m_reward]
);
SendClientMessageToAll(-1, tmpString);
return 1;
}
public MathTest_Auto()
{
MathTest_Start(MATH_TEST_AUTOREWARD);
return 1;
}
/*
@Player area
*/
CMD:math(playerid, const params[])
{
if(!IsPlayerAdmin(playerid))
{
return SendClientMessage(playerid, -1, "Ne mozete koristiti ovu komandu.");
}
if(isnull(params))
{
return SendClientMessage(playerid, -1, "[CMD]: /math [reward].");
}
MathTest_Start(strval(params));
return 1;
}
[/pawn]
Alright, my bad što nisam napravio kao FS - jer uopće ni nisam išao za time već sam htio pokazati momku kako i na koji način bi bilo bolje da piše kod. Što se tiče bespotrebnog inc. sscanf2-a upravu si, nisam uopće išao za time s' obzirom da god. dana nisam napisao pawn kod. Ostalo što si rekao ne pije ti vodu, jer jedino što si ti napravio je c/p ono moje i samo dodao da se math-test preko timer-a sam poziva i promijenio si poruke u SCM-ovima. Bezveze kompliciraš na ovakvim stvarima, svatko ima svoj stil pisanja koda što ne znači da je moj bolji od tvoga, jer na kraju i moj i tvoj kod radi istu funkciju.
Citat: XACK poslato Avgust 12, 2020, 16:22:57 POSLE PODNE
i normalnim pozivom signaliziras pozivanje funkcije koje je takodje i brze nego si ti naucio samo za clf, ali zasto bi se to koristilo kada jelte ne mora.
Ti očigledno ne razumeš pojam modularno programiranje?
Pacakage treba da bude independent, funckija iz CallLocalFunction može a i
ne mora da postoji u onom momentu kada compileaš dok direct call odmah vrati error ako funkcija ne postoji...
Znači možeš a i ne moraš da koristiš taj event(callback) :)
Takođe CallLocalFunction NE MORA da zna ime callback-a dok direktno pozivanje
mora, mnogo je korisno u zavisnosti šta kreiraš :D
Znači ovako izbegavamo undefined symbol error i potpuno je dinamično manageovanje u toku samog runtime-a
Na primer možeš da kreiraš 4 callback-a koja mogu biti called samo jednom na nekom mestu i onda samo uradiš CallLocalFunction :D
I to da je brže, jeste na 1.000.000 poziva, nemoj da overkilluješ stvari bespotrebno :)
Citat: L3o poslato Avgust 12, 2020, 16:26:34 POSLE PODNE
Alright, my bad što nisam napravio kao FS - jer uopće ni nisam išao za time već sam htio pokazati momku kako i na koji način bi bilo bolje da piše kod. Što se tiče bespotrebnog inc. sscanf2-a upravu si, nisam uopće išao za time s' obzirom da god. dana nisam napisao pawn kod. Ostalo što si rekao ne pije ti vodu, jer jedino što si ti napravio je c/p ono moje i samo dodao da se math-test preko timer-a sam poziva i promijenio si poruke u SCM-ovima. Bezveze kompliciraš na ovakvim stvarima, svatko ima svoj stil pisanja koda što ne znači da je moj bolji od tvoga, jer na kraju i moj i tvoj kod radi istu funkciju.
ma jebo stil vise, gledaj kod malo
Citat: King of the Jungle poslato Avgust 12, 2020, 16:30:01 POSLE PODNE
Ti očigledno ne razumeš pojam modularno programiranje?
Pacakage treba da bude independent, funckija iz CallLocalFunction može a i ne mora da postoji u onom momentu kada compileaš dok direct call odmah vrati error ako funkcija ne postoji...
Znači možeš a i ne moraš da koristiš taj event(callback) :)
Takođe CallLocalFunction NE MORA da zna ime callback-a dok direktno pozivanje mora, mnogo je korisno u zavisnosti šta kreiraš :D
Znači ovako izbegavamo undefined symbol error i potpuno je dinamično manageovanje u toku samog runtime-a
Na primer možeš da kreiraš 4 callback-a koja mogu biti called samo jednom na nekom mestu i onda samo uradiš CallLocalFunction :D
I to da je brže, jeste na 1.000.000 poziva, nemoj da overkilluješ stvari bespotrebno :)
tako gubis mogucnost boljeg testiranja, ocigledno je da si video kako se "modularno" radi samo u pawnu, izadji malo pred terasu.
Citattako gubis mogucnost boljeg testiranja
??? ??? ???
ASSERT: Am I joke to you?pawn-errors lib: No, am I joke to you?samp-logger: No, am I the biggest joke here?
Citat: King of the Jungle poslato Avgust 12, 2020, 16:38:09 POSLE PODNE
??? ??? ???
ASSERT: Am I joke to you?
pawn-errors lib: No, am I joke to you?
samp-logger: No, am I the biggest joke here?
opet silazis sa poente i ne razumes, samim nepostojanjem toga neces ga ni moci testirati
Citat: XACK poslato Avgust 12, 2020, 16:44:14 POSLE PODNE
opet silazis sa poente i ne razumes, samim nepostojanjem toga neces ga ni moci testirati
Ti opet ne razumeš poentu modularnog programiranja?
Šta da testiram ako event
ne postoji?!
Citat: King of the Jungle poslato Avgust 12, 2020, 16:46:43 POSLE PODNE
Ti opet ne razumeš poentu modularnog programiranja?
Šta da testiram ako event ne postoji?!
kada bude postojao videces probleme, stavi kamen na rupu da ti ne puse u pecinu
Citat: XACK poslato Avgust 12, 2020, 16:47:51 POSLE PODNE
kada bude postojao videces probleme, stavi kamen na rupu da ti ne puse u pecinu
I koja je razlika između toga da li postoji ili ne kod testiranja, pokušaj da objasniš svoje neznanje? ???
pa ako ne postoji neces ga moci testirati, LOGIKA
Citat: XACK poslato Avgust 12, 2020, 16:50:51 POSLE PODNE
pa ako ne postoji neces ga moci testirati, LOGIKA
Ti očigledno razumeš da EVENT ne mora da postoji?
Da je NAMERNO tako napravljeno da MOŽE a i da NE MORA da se koristi?
Ako bude postojao, ne vidim razlog zašto bi bilo problema sa testiranjem, imaš propuh tamo gore
hvala za postove, nemoj se puno nerviras, pozdrav' kod kuce :P
@Vodka Play na ovo ti je forum spao.
Citat: XACK poslato Avgust 12, 2020, 15:59:19 POSLE PODNE
normal call je bolji i pouzdaniji.
Samo sam dosao po objasnjenje
kada pozoves calllocalfunction MORAS paziti na ime funkcije i parametre da budu tacni inace ces se posle patiti debugom ako zajebes nesto.
zar nije lakse koristiti direct call i dodati compiler tag da ignorise funkcije tog tipa kada ti treba, jednostavno struktura ti je cistija i stabilnija nego da
se oslanjas na neku mnogo retardiranu native funkciju.
Citat: XACK poslato Avgust 13, 2020, 09:01:24 PRE PODNE
kada pozoves calllocalfunction MORAS paziti na ime funkcije i parametre da budu tacni inace ces se posle patiti debugom ako zajebes nesto.
zar nije lakse koristiti direct call i dodati compiler tag da ignorise funkcije tog tipa kada ti treba, jednostavno struktura ti je cistija i stabilnija nego da
se oslanjas na neku mnogo retardiranu native funkciju.
Au druže, već si se zakopao do dna, bolje ćuti i smrdi sebi...
Imaš wrapper u YSI da bukvalno ovako radi ako si toliko retardiran
[pawn]call function(args);[/pawn]
Meni se u životu problem sa CLF nije desio.
Svađate se tu oko modularnog skriptanja i memorije koristite 3 varijable viška. Svi ste vi 'teoretski skripteri' nigde vam ne vidim radove.
Citat: King of the Jungle poslato Avgust 12, 2020, 14:58:08 POSLE PODNE
Evo kada već svi pišu bespotrebne primere "Kako najbolje i najlepše napisati kod" (i kako forsirati svoj stil na druge bez razloga jer svako ima svoj stil) haj i ja da napišem jedan u modularnom duhu :D
[pawn]#include <a_samp>
#if defined MATH_TIMER_INTERVAL
#undef MATH_TIMER_INTERVAL
#endif
#define MATH_TIMER_INTERVAL (5) // Minutes
static gResult;
static bool: gMathActive;
forward Math_Timer();
forward OnCorrectMathAnswer(playerid);
// -
// Api
// -
stock ReturnMathQuizResult()
{
return gResult;
}
stock bool:IsMathActive()
{
return gMathActive;
}
stock bool:IsMathAnswer(const buffer[])
{
if (!IsMathActive)
return false;
if (strval(buffer) == ReturnMathQuizResult())
return true;
return false;
}
stock ToggleMathActive(bool: toggle)
{
return (gMathActive = toggle);
}
stock StartMathQuiz()
{
new
buffer[128],
num[3]
;
gResult = (num[0] = random(200)) + (num[1] = random(200)) - (num[2] = random(200));
ToggleMathActive(true);
format(buffer, sizeof(buffer), "{FFFFFF}[Math_Timer]: Vnesete go gResultot od izrazot %d+%d-%d i dobivate 10000$!", num[0], num[1], num[2]);
SendClientMessageToAll(-1, buffer);
}
// -
// Callbacks
// -
public OnFilterScriptInit()
{
SetTimer("Math_Timer", MATH_TIMER_INTERVAL * 60000, true);
return 1;
}
public Math_Timer()
{
StartMathQuiz();
return 1;
}
public OnPlayerText(playerid, text[])
{
if(IsMathAnswer(text))
{
CallLocalFunction("OnCorrectMathAnswer", "d", playerid);
return 0;
}
return 1;
}
public OnCorrectMathAnswer(playerid)
{
new pName[MAX_PLAYER_NAME], buffer[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(buffer, sizeof(buffer), "{FFFFFF}[Math_Timer]: Tocniot odgovor na zadacata bese: %d", gResult);
SendClientMessageToAll(-1, buffer);
format(buffer, sizeof(buffer), "{FFFFFF}[Math_Timer]: Igracot %s prv go pogodi tocniot gResult i osvoi 1000$.", pName);
SendClientMessageToAll(-1, buffer);
GivePlayerMoney(playerid, 1000);
ToggleMathActive(false);
return;
}[/pawn]
imas viska varijablu, tacnije 'static bool: gMathActive;' zasto jednostavno ne proveris jel 'gResult != default value' ako jeste onda je aktivan?
ako vec se prepirete tu oko tacnosti i memorije eto samo to da ti recem
ukurcio se momak, koristi clf izmislio toplu vodu, dzaba mu sve to sto misli i njegova LOSA uverenja kada se od pawna nece pomeriti, em nastreba LOSE definicije em nastavlja sa proseravanjem sa njegovim marionetama koje ga u prate u stopu.
Citat: omcho poslato Avgust 13, 2020, 10:40:58 PRE PODNE
imas viska varijablu, tacnije 'static bool: gMathActive;' zasto jednostavno ne proveris jel 'gResult != default value' ako jeste onda je aktivan?
ako vec se prepirete tu oko tacnosti i memorije eto samo to da ti recem
Ja pričam o stilu a oni o kodu, treći put kažem da kod dirao nisam, samo stil kao što sam i napisao u Originalnoj poruci ali je ovaj bata krenuo da sere...
Jesam dodao CLF ali to je zbog !!MODULARNOG STILA!!
Čitaj moju prvu poruku dok ne shvatiš šta sam napisao
Citat: XACK poslato Avgust 13, 2020, 10:45:17 PRE PODNE
ukurcio se momak, koristi clf izmislio toplu vodu, dzaba mu sve to sto misli i njegova LOSA uverenja kada se od pawna nece pomeriti, em nastreba LOSE definicije em nastavlja sa proseravanjem sa njegovim marionetama koje ga u prate u stopu.
Xunderu marioneto :(
Svi ste vi po meni zatucana derišta kojima je toliko dosadno u životu pa krenu da čitaju ysi dokumentaciju. Nemam ništa protiv neka radi šta ko hoće, da vi pomognete sa tim što ste pročitali pa aj. Nego vi nekog spustite baš sa nekim bolesnim funkcijama ysi-a, a ni vi ne znate zašto služi. Umesto da blejite ovde 24/7 i čekate sekund kad će te reći nekome da nešto može drugačije da se napiše, radite nešto korisno. Upotrebite to silno znanje na nešto ili ste ipak samo teoretski skripteri koji slušaju šta će Southclaws, Y_Less i ostala govna reći i to memorišu u glavu.
Citat: __vedran.xyz77 poslato Avgust 13, 2020, 10:57:27 PRE PODNE
Svi ste vi po meni zatucana derišta kojima je toliko dosadno u životu pa krenu da čitaju ysi dokumentaciju. Nemam ništa protiv neka radi šta ko hoće, da vi pomognete sa tim što ste pročitali pa aj. Nego vi nekog spustite baš sa nekim bolesnim funkcijama ysi-a, a ni vi ne znate zašto služi. Umesto da blejite ovde 24/7 i čekate sekund kad će te reći nekome da nešto može drugačije da se napiše, radite nešto korisno. Upotrebite to silno znanje na nešto ili ste ipak samo teoretski skripteri koji slušaju šta će Southclaws, Y_Less i ostala govna reći i to memorišu u glavu.
Ono kada doslovno likovima koji su napravili SAMP kažeš "ostala govna"...
Orem ti po mrtvima.
Šalim se...
Skijam*, skijam ti po mrtvima.
Ja YSI doslovno ni ne koristim kao ranije, samo y_va, y_iterate i još par, sve PawnPlus koji ti nikada nećeš razumeti lmao
A i citiram šta je vaš idol
@Zile42O dobio kao odgovor kada je rekao da se doda non-ysi podrška za WConfig:
CitatSorry we had code similar to this before, but in favour of just using y_iterate, there is no need to do this anymore. We insist that people use y_iterate.
Al serete kvake.
Citat: Hydra. poslato Avgust 13, 2020, 11:04:09 PRE PODNE
Al serete kvake.
Bukvalno sam ostavio sasvim korektan dizajn modula, to što neko ne koristi ifdef je izgleda katastrofa i previše za njihove mozgiće
Meni je ifdef snippet i mnogo mi je lakše da napišem undef, tab
Citat: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 13, 2020, 11:00:30 PRE PODNE
Ono kada doslovno likovima koji su napravili SAMP kažeš "ostala govna"...
Orem ti po mrtvima.
Šalim se...
Skijam*, skijam ti po mrtvima.
Ja YSI doslovno ni ne koristim kao ranije, samo y_va, y_iterate i još par, sve PawnPlus koji ti nikada nećeš razumeti lmao
A i citiram šta je vaš idol @Zile42O dobio kao odgovor kada je rekao da se doda non-ysi podrška za WConfig:
cuj ne koristi ysi pa taj deo sto koristis je vec dobar deo ysi-a, pawnplus pola stvari ne znas vec se kurcis sa njime da bi ti plugin vadio prosek iz kodiranja
fan fekt nigde ne kazem da je ysi/pp los samo si ti mali autizam
ifdef uopste ne moras koristiti za takvo nesto, sada vredjas nekog ko ne koristi nesto bespotrebno a do par poruka ranije si govorio kako je to STIL
Citat: XACK poslato Avgust 13, 2020, 11:08:40 PRE PODNE
cuj ne koristi ysi pa taj deo sto koristis je vec dobar deo ysi-a, pawnplus pola stvari ne znas vec se kurcis sa njime da bi ti plugin vadio prosek iz kodiranja
fan fekt nigde ne kazem da je ysi/pp los samo si ti mali autizam
ifdef uopste ne moras koristiti za takvo nesto, sada vredjas nekog ko ne koristi nesto bespotrebno a do par poruka ranije si govorio kako je to STIL
PawnPlus doslovno koristim containere i asihrone funkcije, više mi ni ne treba.
I ti očigledno ne znaš šta sve YSI ima pa kažeš da je ovo dobar deo njega, e živote idiote...
I nikog ja ne vređam nego si se ti iztriggerovao toliko kao da sam napisao ne znam šta i ako sam rekao da je to moj stil i da nema veze sa vezom da se raspravlja oko toga
Citat: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 13, 2020, 11:00:30 PRE PODNE
Ono kada doslovno likovima koji su napravili SAMP kažeš "ostala govna"...
Orem ti po mrtvima.
Šalim se...
Skijam*, skijam ti po mrtvima.
Ja YSI doslovno ni ne koristim kao ranije, samo y_va, y_iterate i još par, sve PawnPlus koji ti nikada nećeš razumeti lmao
A i citiram šta je vaš idol @Zile42O dobio kao odgovor kada je rekao da se doda non-ysi podrška za WConfig:
Pa i jesu govna. Najebem ti se majke mrtve na groblju one bolesne zatucane deriste nevaspitano sta da ocekujes od lika koji prozivao malog Dusana? Zar ne mozes da shvatis da si jebeno bolestan? Zelis samo da neko misli da znas da skriptas u stvari si go kurac. Kako ide AC za SkillArenu sto radi ? Kako ti ide auto od 15k evra ? Lazes svaki minut deriste napaceno.
Zaboli me kurac za PP i YSI, ako ti znas da ih koristis bravo uspeo si u zivotu zaradjivaces od toga. Hoces kurac blejaces ovde na forumu dok ne ostanu 2 sampera na balkanu i posle toga ti dzaba ogromno znanje pp-a i ysi-a.
BTW moj idol sam ja, a ne neko drugi. Kao tebi sto je primer Y_Less ili SouthClaws idol, koliko znam Zile radi kao developer i boli ga kurac i za tebe i za ysi i za WC
Citat: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 13, 2020, 11:05:40 PRE PODNE
Bukvalno sam ostavio sasvim korektan dizajn modula, to što neko ne koristi ifdef je izgleda katastrofa i previše za njihove mozgiće
Meni je ifdef snippet i mnogo mi je lakše da napišem undef, tab
Ne izgledas nista pametnije, ni ti ni bilo ko, ko ide po nekim releasovima i trazi najmanju sitnicu da bi mogao nesto komentarisati...
Ne kazem, ima shit kodova koji ne bi trebali vidjeti svjetlo dana ali ti druze bas pretjerujes
Pa neću sigurno Zari da šaljem AC kada završim :'(
Xunder moja marioneta nema :(
Citat: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 13, 2020, 11:14:52 PRE PODNE
Pa neću sigurno Zari da šaljem AC kada završim :'(
Xunder moja marioneta nema :(
Zara ne zeli da poseduje tvoj kod ni u jednom od svojih repozitorija.
"to što neko ne koristi ifdef je izgleda katastrofa i previše za njihove mozgiće"
do pre 10-ak objava: "#ifdef je stvar ukusa stvarno, nigde ne piše da mora, ja tako pišem jer eto ide gas"
ne moras da spustas druge ako nesto koristis i da slepo verujes svakome sa samp discorda ko ima ruzicasto ime
btw sumnjam da ce tvoj ac prismrditi bilo kom ac-u pa cak i ovima sto su opensource, jer ocigledno je da ne znas ni funkcionisanje rpcova a ni samu matematiku da napravis nesto inovativnije
Citat: __vedran.xyz77 poslato Avgust 13, 2020, 10:24:13 PRE PODNE
Svađate se tu oko modularnog skriptanja i memorije koristite 3 varijable viška. Svi ste vi 'teoretski skripteri' nigde vam ne vidim radove.
Nemoj mene ovde da mešaš, ja uopšte kod editovao nisam niti sam imao nameru.
Citat: XACK poslato Avgust 13, 2020, 09:01:24 PRE PODNE
kada pozoves calllocalfunction MORAS paziti na ime funkcije i parametre da budu tacni inace ces se posle patiti debugom ako zajebes nesto.
Kako mislis moras paziti na ime funkcije? Moras paziti sta ces upisati u CLF() sto ne bi trebala biti muka jer odavno postoji CTRL + C i CTRL + V.
Citat: XACK poslato Avgust 13, 2020, 09:01:24 PRE PODNE
zar nije lakse koristiti direct call i dodati compiler tag da ignorise funkcije tog tipa kada ti treba, jednostavno struktura ti je cistija i stabilnija nego da
Sta bi se desilo ako hoces tu funkciju da pozoves u nekom drugom modulu koji ces include prije samog matematickog kviza?
Citat: XACK poslato Avgust 13, 2020, 09:01:24 PRE PODNE
se oslanjas na neku mnogo retardiranu native funkciju.
Sta znaci retardirana native funkcija? Kako moze biti funkcija retardirana, valjda ti ljudi koji su pravili to imaju znanja kao ti? Ili mozda nemaju, bolje da im objasnis neke stvari :|
Citat: __vedran.xyz77 poslato Avgust 13, 2020, 10:57:27 PRE PODNE
Upotrebite to silno znanje na nešto ili ste ipak samo teoretski skripteri koji slušaju šta će Southclaws, Y_Less i ostala govna reći i to memorišu u glavu.
Nema nista lose u slusanju Y-lessa i Southclawsa, oni su sigurno iskusni i provjereni programeri koji znaju sta rade (sto pokazuju i svojim radovima koje koriste 90% danasnjih samp skriptera).
Citat: omcho poslato Avgust 13, 2020, 10:40:58 PRE PODNE
imas viska varijablu, tacnije 'static bool: gMathActive;' zasto jednostavno ne proveris jel 'gResult != default value' ako jeste onda je aktivan?
ako vec se prepirete tu oko tacnosti i memorije eto samo to da ti recem
E tu si ga vec overkillovao haha :D
Citat: ChampaWasTaken poslato Avgust 13, 2020, 11:14:17 PRE PODNE
Ne izgledas nista pametnije, ni ti ni bilo ko, ko ide po nekim releasovima i trazi najmanju sitnicu da bi mogao nesto komentarisati...
Ne kazem, ima shit kodova koji ne bi trebali vidjeti svjetlo dana ali ti druze bas pretjerujes
Nebitno koliko god bio dobar i sa tobom Makenzi, Vedranom, Ziletom, Lanijem i ko se vec sve tu proziva moram se sloziti sa Krampom.
Umjesto toga sto se prozivate, ovaj forum bi mogao biti mnogo ljepse mjesto za pocetnike kada bi vi iskusniji usli u normalnu raspravu - podijelite svoj kod i napisite zasto je bolji od koda koji je neko drugi podijelio.
Sada imas npr. XACK-a koji ce da uporedi `MyFunc();` i `CallLocalFunction("MyFunc");` sto je potpuno pogresno. Pawn glasi za spor jezik ali evo otkricu vam tajnu da se izmedju ta 2 nacina calla vrijeme izvrsavanja mjeri u nanosekundima.
Svakako, svako ce uzeti kod koji mu odgovara, u buducnosti ako mu ne bude taj kod stimao uzece drugi i vidjeti zasto je bolji.
Citat: // xunder poslato Avgust 13, 2020, 18:35:25 POSLE PODNE
Kako mislis moras paziti na ime funkcije? Moras paziti sta ces upisati u CLF() sto ne bi trebala biti muka jer odavno postoji CTRL + C i CTRL + V.
Sta bi se desilo ako hoces tu funkciju da pozoves u nekom drugom modulu koji ces include prije samog matematickog kviza?
Sta znaci retardirana native funkcija? Kako moze biti funkcija retardirana, valjda ti ljudi koji su pravili to imaju znanja kao ti? Ili mozda nemaju, bolje da im objasnis neke stvari :|
Nema nista lose u slusanju Y-lessa i Southclawsa, oni su sigurno iskusni i provjereni programeri koji znaju sta rade (sto pokazuju i svojim radovima koje koriste 90% danasnjih samp skriptera).
E tu si ga vec overkillovao haha :D
Nebitno koliko god bio dobar i sa tobom Makenzi, Vedranom, Ziletom, Lanijem i ko se vec sve tu proziva moram se sloziti sa Krampom.
Umjesto toga sto se prozivate, ovaj forum bi mogao biti mnogo ljepse mjesto za pocetnike kada bi vi iskusniji usli u normalnu raspravu - podijelite svoj kod i napisite zasto je bolji od koda koji je neko drugi podijelio.
Sada imas npr. XACK-a koji ce da uporedi `MyFunc();` i `CallLocalFunction("MyFunc");` sto je potpuno pogresno. Pawn glasi za spor jezik ali evo otkricu vam tajnu da se izmedju ta 2 nacina calla vrijeme izvrsavanja mjeri u nanosekundima.
Svakako, svako ce uzeti kod koji mu odgovara, u buducnosti ako mu ne bude taj kod stimao uzece drugi i vidjeti zasto je bolji.
Joj sunđeru, topim se
Citat: // xunder poslato Avgust 13, 2020, 18:35:25 POSLE PODNE
....just a xunder shitting around... bla bla...
ako u clf-u pogresis jedan parametar ili nesto slicno saznaces na tezi nacin, funkcija koja je stvarno beskorisna i jedina svrha joj je da ti uzme koji bajt vise samim pisanjem njenog imena, nepouzdana, dosta sporija(sto je ajde reci neprimetno) ali opet je SPORIJA i sporije ces handle-ovati vise evenata, uopste se ne bi trebala koristiti i susta je razlika clr-u koji zapravo ima neku svrhu.
"Sta bi se desilo ako hoces tu funkciju da pozoves u nekom drugom modulu koji ces include prije samog matematickog kviza?"
neces je pozvati pre matematickog kviza jer nisi ni include matematicki kviz i sama nece biti pozivana bez triggera u matematickom kvizu zar ne?
Citat: XACK poslato Avgust 13, 2020, 20:48:40 POSLE PODNE
ako u clf-u pogresis jedan parametar ili nesto slicno saznaces na tezi nacin, funkcija koja je stvarno beskorisna i jedina svrha joj je da ti uzme koji bajt vise samim pisanjem njenog imena, nepouzdana, dosta sporija(sto je ajde reci neprimetno) ali opet je SPORIJA i sporije ces handle-ovati vise evenata, uopste se ne bi trebala koristiti i susta je razlika clr-u koji zapravo ima neku svrhu.
"Sta bi se desilo ako hoces tu funkciju da pozoves u nekom drugom modulu koji ces include prije samog matematickog kviza?"
neces je pozvati pre matematickog kviza jer nisi ni include matematicki kviz i sama nece biti pozivana bez triggera u matematickom kvizu zar ne?
Aha, znači ti ovako radiš?
1. Napisati neki kod
2. Compile kod
3. Kod se compile bez errora? Super - odmah upload na produkcioni server bez testiranja i gasi debug flagove i pali -O!!!Da budemo jasni, u životu takvu grešku napravio nisam...
Posebno što većina mojih CLF koristi samo
"d"
Citat: King of the Jungle poslato Avgust 13, 2020, 21:00:48 POSLE PODNE
Aha, znači ti ovako radiš?
1. Napisati neki kod
2. Compile kod
3. Kod se compile bez errora? Super - odmah upload na produkcioni server bez testiranja i gasi debug flagove i pali -O!!!
Da budemo jasni, u životu takvu grešku napravio nisam...
Posebno što većina mojih CLF koristi samo "d"
ne palamudi, kako ces pozvati funkciju iz include-a ako nije includovana i ako je pozoves iz clf-a to je vec bad practice
sa tvojim clf-om tek neces moci da testiras tkd ono dzaba se vadis iz govana
Citat: XACK poslato Avgust 13, 2020, 21:04:59 POSLE PODNE
ne palamudi, kako ces pozvati funkciju iz include-a ako nije includovana i ako je pozoves iz clf-a to je vec bad practice
sa tvojim clf-om tek neces moci da testiras tkd ono dzaba se vadis iz govana
Druže jel ti razumeš da ako funkcija postoji, recimo ovako:
[pawn]forward func(const a[]);
public func(const a[])
{
return format(a, sizeof(a), "Nebitno"); // Error bez obzira da li si pozvao f-ju sa CLF ili direct
}[/pawn]
tako da ne razumem o čemu ti pričaš, o kakvom testiranju se ovde radi?
Citati ako je pozoves iz clf-a to je vec bad practice
Da je CLF bio bad practices ne bi ga svi koristili, lep pozdrav, pitam li se zašto tvoj CMD procesor koristi CLF :-/
Citat: King of the Jungle poslato Avgust 13, 2020, 21:07:17 POSLE PODNE
Druže jel ti razumeš da ako funkcija postoji, recimo ovako:
[pawn]forward func(const a[]);
public func(const a[])
{
return format(a, sizeof(a), "Nebitno"); // Error bez obzira da li si pozvao f-ju sa CLF ili direct
}[/pawn]
tako da ne razumem o čemu ti pričaš, o kakvom testiranju se ovde radi?
Da je CLF bio bad practices ne bi ga svi koristili, lep pozdrav, pitam li se zašto tvoj CMD procesor koristi CLF :-/
pa o kakvom testiranju se radi, testiranje je spomenuto pre 5-10 postova i funkcija se moze pozvati samo ako je pre toga definisana sto NIJE slucaj ako uradis ovo:
[pawn]
event
{
funkcija(); // funkcija koja se nalazi u include fajlu ispod
}
#include <dependency> //fajl koji sadrzi funkciju
[/pawn]
e tako ste vi opisali to iznad
i otkad pawncmd koristi calllocalfunction aj mi samo to reci ??? ??? ::) ::)
Citat: XACK poslato Avgust 13, 2020, 21:13:21 POSLE PODNE
pa o kakvom testiranju se radi, testiranje je spomenuto pre 5-10 postova i funkcija se moze pozvati samo ako je pre toga definisana sto NIJE slucaj ako uradis ovo:
[pawn]
event
{
funkcija(); // funkcija koja se nalazi u include fajlu ispod
}
#include <dependency> //fajl koji sadrzi funkciju
[/pawn]
e tako ste vi opisali to iznad
i otkad pawncmd koristi calllocalfunction aj mi samo to reci ??? ??? ::) ::)
Zamisli da nekome kažeš kako preteruje sa pluginima koji zapravo dodaju neke nove mogućnosti koje inače nije moguće uraditi u pure-pawn jer hookuju Amx_Exec i onda ta ista osoba ubaci Pawn.CMD što je inače već moguće uraditi u skripti zbog
~50μ (što znači da će se tek na 600.000 poziva komande videti razlika od nevjerovatne sekunde!)
I da dodam da
y_commands > pawn.cmd ali necemo o tome sada :D
b]funkcija se moze pozvati samo ako je pre toga definisana[/b]
Pa jel tebi ko brani da kreiraš funkciju koju pozivaš putem CLF-a?
[pawn]
event
{
funkcija(); // funkcija koja se nalazi u include fajlu ispod
}
#include <dependency> //fajl koji sadrzi funkciju
[/pawn]
A ovo neću ni da komentarišem, tačno se vidi koliko si glup kao kurac i da nisi niti jednom imao interakciju sa skriptom a gde modularnom skriptom.
Što bi Vedran rekao, ggwp teoretski skripteru (samo ti ni tu teoriju nisi razumeo vidim).
Citat: King of the Jungle poslato Avgust 13, 2020, 21:22:14 POSLE PODNE
Zamisli da nekome kažeš kako preteruje sa pluginima koji zapravo dodaju neke nove mogućnosti koje inače nije moguće uraditi u pure-pawn jer hookuju Amx_Exec i onda ta ista osoba ubaci Pawn.CMD što je inače već moguće uraditi u skripti zbog ~50μ (što znači da će se tek na 600.000 poziva komande videti razlika od nevjerovatne sekunde!)
I da dodam da y_commands > pawn.cmd ali necemo o tome sada :D
b]funkcija se moze pozvati samo ako je pre toga definisana[/b]
Pa jel tebi ko brani da kreiraš funkciju koju pozivaš putem CLF-a?
[pawn]
event
{
funkcija(); // funkcija koja se nalazi u include fajlu ispod
}
#include <dependency> //fajl koji sadrzi funkciju
[/pawn]
A ovo neću ni da komentarišem, tačno se vidi koliko si glup kao kurac i da nisi niti jednom imao interakciju sa skriptom a gde modularnom skriptom.
Što bi Vedran rekao, ggwp teoretski skripteru (samo ti ni tu teoriju nisi razumeo vidim).
lice dzaba se izvlacis, nigde nisam rekao da je neki plugin los i da je lose koristiti plugine vec tvoj clf koje idealizujes i mislis da znas da radis modularno(a ne znas plaky :().
sto se tice pozivanja sa clf-om necu da vodim raspravu dalje, rekao sam sta sam imao.
btw pawncmd > y_commands
"Pa jel tebi ko brani da kreiraš funkciju koju pozivaš putem CLF-a?"
a zasto bih je kreirao ako je u includu, pogledaj sta je lik gore napisao i kako je to opisao pa palamudi pametnice moja
Okej, shvatiću ovo kao da si rekao "Samoj nabijam postove i glumim Lanmija" jer čisto sumnjam da ovoliko neko glup može biti.
Citat: King of the Jungle poslato Avgust 13, 2020, 21:27:38 POSLE PODNE
Okej, shvatiću ovo kao da si rekao "Samoj nabijam postove i glumim Lanmija" jer čisto sumnjam da ovoliko neko glup može biti.
neargumentovano vredjanje opet, idi odspavaj malo odmori glavu da ti se slegnu informacije.
Citat: XACK poslato Avgust 13, 2020, 21:28:42 POSLE PODNE
neargumentovano vredjanje opet, idi odspavaj malo odmori glavu da ti se slegnu informacije.
Timing "CLF[100000]"...
Mean = 3.55us
Mode = 3.46us
Median = 3.49us
Range = 0.43us
Timing "Direct[100000]"...
Mean = 0.87us
Mode = 0.83us
Median = 0.86us
Range = 0.10us
Vau! Uspeo si da ubrzaš svoj kod za čitavih
2.5us na
100000 pozivanja direct-a!!!
A sto se ycmd > pcmd tice, ycmd po defaulti ima bone sistem permisija, grupa i loopovanja kroz iste te komande (plus ti daje MNOGO vise mogucnosti da manageas koamdne) ali ne - ti si ipak samo video neprimetljivu brzinu, takodje YSI ima odlican help sys built-in :)
Citat: King of the Jungle poslato Avgust 13, 2020, 21:48:48 POSLE PODNE
Timing "CLF[100000]"...
Mean = 3.55us
Mode = 3.46us
Median = 3.49us
Range = 0.43us
Timing "Direct[100000]"...
Mean = 0.87us
Mode = 0.83us
Median = 0.86us
Range = 0.10us
Vau! Uspeo si da ubrzaš svoj kod za čitavih 2.5us na 100000 pozivanja direct-a!!!
A sto se ycmd > pcmd tice, ycmd po defaulti ima bone sistem permisija, grupa i loopovanja kroz iste te komande (plus ti daje MNOGO vise mogucnosti da manageas koamdne) ali ne - ti si ipak samo video neprimetljivu brzinu, takodje YSI ima odlican help sys built-in :)
pa kada bi malo procitao i sumirao celu diskusiju video bi da nije samo brzina bolja, al dobro za to cemo zahvaliti tvojoj uciteljici iz prvog razreda i tvom intelektu.
pawncmd:
brzi
isto ima permove
isto ima loopove koje spominjes
mada u ovom slucaju izbor zavisi do korisnika, samo nemoj blatiti nesto ako ga ne poznajes, za mene je pawncmd idealan i nisu mi potrebni dodatni feature-ovi koje ti spominjes i takodje ih pawncmd poseduje, al dobro.
ps: nigde ne kazem da je y_cmds los, meni je pawncmd prakticniji
Citat: XACK poslato Avgust 13, 2020, 21:55:35 POSLE PODNE
pa kada bi malo procitao i sumirao celu diskusiju video bi da nije samo brzina bolja, al dobro za to cemo zahvaliti tvojoj uciteljici iz prvog razreda i tvom intelektu.
pawncmd:
brzi
isto ima permove
isto ima loopove koje spominjes
mada u ovom slucaju izbor zavisi do korisnika, samo nemoj blatiti nesto ako ga ne poznajes, za mene je pawncmd idealan i nisu mi potrebni dodatni feature-ovi koje ti spominjes i takodje ih pawncmd poseduje, al dobro.
ps: nigde ne kazem da je y_cmds los, meni je pawncmd prakticniji
Znam o čemu pričaš sine ali neću da pominjem to više kao što sam rekao kada si glup kao kurčina i ne možeš da povežeš osnovne stvari u svojoj glavi, dovoljno sam pisao jedno isto, bitno je da su ostali razumeli, ti si mi nebitan
Citat: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 13, 2020, 22:02:24 POSLE PODNE
Znam o čemu pričaš sine ali neću da pominjem to više kao što sam rekao kada si glup kao kurčina i ne možeš da povežeš osnovne stvari u svojoj glavi, dovoljno sam pisao jedno isto, bitno je da su ostali razumeli, ti si mi nebitan
pa ti zivis od toga da ispadnes cool a zaprao si obican magarac zeljan paznje i bivas poklopljen na svaku opasku
trenutno mi je istekao dnevni limit za caskanje sa tobom te odoh da malo odmorim, pazi na clf majstore i pozdravi kod kuce 8)
Citat: // xunder poslato Avgust 13, 2020, 18:35:25 POSLE PODNE
Nema nista lose u slusanju Y-lessa i Southclawsa, oni su sigurno iskusni i provjereni programeri koji znaju sta rade (sto pokazuju i svojim radovima koje koriste 90% danasnjih samp skriptera).
Nisam rekao da je lose, nego ono sto im SouthClaws kaze to ce i memorisati nece im pasti na pamet da razmisle zasto je on to rekao. Ne razmisljaju svojim mozgom nego tudjim, doci ovde na bsampu i ponavljati sta je SouthClaws rekao umesto da ostavi kod i objasni zasto je to uradjeno.
Citat: XACK poslato Avgust 13, 2020, 20:48:40 POSLE PODNE
ako u clf-u pogresis jedan parametar ili nesto slicno saznaces na tezi nacin, funkcija koja je stvarno beskorisna i jedina svrha joj je da ti uzme koji bajt vise samim pisanjem njenog imena, nepouzdana, dosta sporija(sto je ajde reci neprimetno) ali opet je SPORIJA i sporije ces handle-ovati vise evenata, uopste se ne bi trebala koristiti i susta je razlika clr-u koji zapravo ima neku svrhu.
"Sta bi se desilo ako hoces tu funkciju da pozoves u nekom drugom modulu koji ces include prije samog matematickog kviza?"
neces je pozvati pre matematickog kviza jer nisi ni include matematicki kviz i sama nece biti pozivana bez triggera u matematickom kvizu zar ne?
Izgleda da se ti hvatas tog pawn-lang manuala a nisi ga ni sam procitao. I inace tim quoteom pokazujes samo nepostovanje i ne ispadas niti malo zanimljiv al dobro necu da se spustam na taj nivo da nekoga ponizavam :S
Citat: // xunder poslato Avgust 14, 2020, 00:06:12 PRE PODNE
Izgleda da se ti hvatas tog pawn-lang manuala a nisi ga ni sam procitao. I inace tim quoteom pokazujes samo nepostovanje i ne ispadas niti malo zanimljiv al dobro necu da se spustam na taj nivo da nekoga ponizavam :S
Poslao sam ti svoje argumentovano misljenje i odgovor na primer koji si postavio pre toga, a realno dobio da izvines kurac od odgovora :-[
Nicim nisam pokazao zelju za "zanimljivoscu" kao npr. dzunglar guy ili nepostovanje koje ti upravo sada pokazujes.
Niko nigde nije spomenuo pawn-lang tako da ne vidim razlog spominjanja istog.
Citat: XACK poslato Avgust 14, 2020, 00:15:05 PRE PODNE
Poslao sam ti svoje argumentovano misljenje i odgovor na primer koji si postavio pre toga, a realno dobio da izvines kurac od odgovora :-[
Nicim nisam pokazao zelju za "zanimljivoscu" kao npr. dzunglar guy ili nepostovanje koje ti upravo sada pokazujes.
Niko nigde nije spomenuo pawn-lang tako da ne vidim razlog spominjanja istog.
Postoje design patterni i sistemi koje koriste drugi programski jezici zvani autoloading i dependency injection (samp, koliko sam upucen, toga nema)
Kod autoloadinga (samo ti ime govori) loadas tkz "module" u glavnu skriptu i nije ti zagarantovan redoslijed loadanja istih (mada ne kazem da se ne moze implementirati nesto cime ti eksplicitno odredjujes redoslijed)
Kada se ti "moduli" (obicno su to klase al te necu zamarati time jer ne znam da li znas oop principe) loadaju, mozes koristiti funkcije iz bilo kog u bilo kom (negdje moras namespace navesti doduse)
Tako da sa CallLocalFunction imas tu mogucnost da ti modul bude potpuno nezavisan gdje ce biti includan a opet da zavisi od nekog drugog modula, tipa da koristi metode/varijable sta vec (sto je cesta stvar)
Preporucujem ti da to malo istrazis i vidis svijet izvan pawna i sampa
Citat: ChampaWasTaken poslato Avgust 14, 2020, 01:55:12 PRE PODNE
Postoje design patterni i sistemi koje koriste drugi programski jezici zvani autoloading i dependency injection (samp, koliko sam upucen, toga nema)
Kod autoloadinga (samo ti ime govori) loadas tkz "module" u glavnu skriptu i nije ti zagarantovan redoslijed loadanja istih (mada ne kazem da se ne moze implementirati nesto cime ti eksplicitno odredjujes redoslijed)
Kada se ti "moduli" (obicno su to klase al te necu zamarati time jer ne znam da li znas oop principe) loadaju, mozes koristiti funkcije iz bilo kog u bilo kom (negdje moras namespace navesti doduse)
Tako da sa CallLocalFunction imas tu mogucnost da ti modul bude potpuno nezavisan gdje ce biti includan a opet da zavisi od nekog drugog modula, tipa da koristi metode/varijable sta vec (sto je cesta stvar)
Preporucujem ti da to malo istrazis i vidis svijet izvan pawna i sampa
Paaa vidi da ti kazem...
Da
Citat: __vedran.xyz77 poslato Avgust 14, 2020, 02:13:56 PRE PODNE
Paaa vidi da ti kazem...
Da
Ja ovom liku balavim pola sata da postoji YSI library koji wrappuje to (call) i bukvalno se CLF ponaša kao direct call tj imaš sve errore koje inače nemaš i lik rešio da tera svoje do kraja i ako zna da nije u pravu ali to mu jedini ""argument""
Citat: ChampaWasTaken poslato Avgust 14, 2020, 01:55:12 PRE PODNE
Postoje design patterni i sistemi koje koriste drugi programski jezici zvani autoloading i dependency injection (samp, koliko sam upucen, toga nema)
Kod autoloadinga (samo ti ime govori) loadas tkz "module" u glavnu skriptu i nije ti zagarantovan redoslijed loadanja istih (mada ne kazem da se ne moze implementirati nesto cime ti eksplicitno odredjujes redoslijed)
Kada se ti "moduli" (obicno su to klase al te necu zamarati time jer ne znam da li znas oop principe) loadaju, mozes koristiti funkcije iz bilo kog u bilo kom (negdje moras namespace navesti doduse)
Tako da sa CallLocalFunction imas tu mogucnost da ti modul bude potpuno nezavisan gdje ce biti includan a opet da zavisi od nekog drugog modula, tipa da koristi metode/varijable sta vec (sto je cesta stvar)
Preporucujem ti da to malo istrazis i vidis svijet izvan pawna i sampa
Bravo, jedini validan argument u celoj diskusiji, shvatam sta pokusavas reci, ja sam to radio direktno sa tagom, ali good point.
Citat: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 14, 2020, 02:17:22 PRE PODNE
Ja ovom liku balavim pola sata da postoji YSI library koji wrappuje to (call) i bukvalno se CLF ponaša kao direct call tj imaš sve errore koje inače nemaš i lik rešio da tera svoje do kraja i ako zna da nije u pravu ali to mu jedini ""argument""
pa logicno da balavis kada si balavac, ne znas da vodis diskusiju i samo skreces sa teme, uozbilji se malo jbt.
Citat: XACK poslato Avgust 14, 2020, 00:15:05 PRE PODNE
Poslao sam ti svoje argumentovano misljenje i odgovor na primer koji si postavio pre toga, a realno dobio da izvines kurac od odgovora :-[
Nicim nisam pokazao zelju za "zanimljivoscu" kao npr. dzunglar guy ili nepostovanje koje ti upravo sada pokazujes.
Niko nigde nije spomenuo pawn-lang tako da ne vidim razlog spominjanja istog.
"....just a xunder shitting around... bla bla..." nije nepostovanje ni malo.
"koje ti upravo sada pokazujes." ja pokazujem nepostovanje? Ovdje si me bez teksta ostavio priznajem :D
"Niko nigde nije spomenuo pawn-lang tako da ne vidim razlog spominjanja istog." aha pardon nisi pomenio manual ali si nas i one koji su napravili isti jezik naucio da je CLF nepotreban i treba biti izbacen :|
edit; elem out sam
lose
onako