Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - DrAkE
Oldalak: 1 ... 18 19 [20] 21 22 ... 135
286
« Dátum: 2014. október 05. - 17:01:56 »
Linkeld be a resourcet, aztán meglesem
287
« Dátum: 2014. október 05. - 11:17:04 »
Ha GTA5 radart használsz, akkor gondolom a directx natívákkal van kirajzolva maga a térkép. Ha tévedek, akkor picivel több információt közölhetnél.
288
« Dátum: 2014. október 05. - 11:09:27 »
akkor ezt légyszives értelmezd.....
// Returning 0 informs the server that the command hasn\'t been processed by this script. // OnPlayerCommandText will be called in other scripts until one returns 1. // If no scripts return 1, the \'SERVER: Unknown Command\' message will be shown to the player.
abból idéztem, amit linkeltél -.- :facepalm: [/quote] Szívesen
//Nullával valóvisszatérés esetén informálod a szervert arról, hogy a parancs nem lett feldolgozva ebben a scriptben //OnPlayerCommandText minden egyes scriptben meg lesz hívva, addig, míg vissza nem tér valamelyik 1-el //Ha semmilyen script nem tér vissza 1-el, akkor a \'SERVER: Unknown Command\' üzenetet dobja vissza a játékosoknak
Tanulhatsz még egy kis angolt, rád fér (get wrecked)
291
« Dátum: 2014. szeptember 17. - 22:55:06 »
Hello mindenki.... Eddig még nem volt ilyen problémám, de mióta 64 bites win7-et használok, azóta ez az error elõjött...
error 047: array sizes do not match, or destination array is too small az ok, amiért nem az \"Itt kérdezz Error-t\" topicba írtam, az az, hogy tufom, eredetileg mi az oka..de itt az array méretének változtatása nem segít... példa...
new Pass[128]; //egyéb cuccok... Pass = dini_Get(\"/config.ini\", \"ServerPass\");
és bárhol használom, ezt az errort kapom meg, bármennyire is állítom az array méretét... Megnéztem netes scriptet is, ami ezt használja, annál is elõjött, hiába \"elvileg\" bugmentesen volt feltöltve.... a segítséget/ötleteket megköszönöm.
format(Pass, sizeof(Pass), dini_Get(\"/config.ini\", \"ServerPass\"));
292
« Dátum: 2014. augusztus 16. - 21:47:10 »
Ezzel most saját magamat meg tudom ajándékozni :$
Ezt inkább így oldanám meg, ennek még értelme is van, csak nem sok.. :laugh:
#define COLOR_GREEN -1 //:)
Szép zöld szín.
294
« Dátum: 2014. július 31. - 15:08:10 »
295
« Dátum: 2014. július 24. - 14:47:24 »
Ha elmagyarázod miért raktál felkiáltójelet az URLek elé, akkor kapsz tõlem egy keksz automatát.
296
« Dátum: 2014. július 21. - 00:18:35 »
Olyan nincs hogy szervergyorsító funkció, csak olyan hogy jól, vagy szarul megírt kód
297
« Dátum: 2014. július 20. - 23:45:24 »
Hát, nézz bele a forráskódba és rájössz: if (0 <= value < size && array[value] > size)
298
« Dátum: 2014. július 20. - 23:00:13 »
dforeach Mi ez? Egy olyan függvénykönyvtár aminek segítségével iteratorokat hozhatsz létre, és kezelheted vele azokat. Maga a könyvtár NAGY MENNYISÉGBEN hasonlít a Y_Less által létrehozott foreach könyvtárra, annyi különbséggel, hogy a foreachben CSAKis az iterator maximális mérettõl kisebb számokat tudsz hozzáadni (pl ha létrehozol egy 100-as méretû iteratort, akkor 0 és 99 között adhatsz hozzá számokat). Ez függvény segítségével nullától nagyobb és 2,147,483,647 kisebb számokat adhattok hozzá. Természetesen a gyorsasága lassabb, hiszen teljesen más elven mûködik. Miért ez? Igazság szerint azoknak ajánlom ezen könyvtár használatát, akik tetszõleges számot akarnak hozzáadni az iteratorhoz. Használata természetesen majdnem ugyan az mint a Y_Less által készített foreaché, annyi különbséggel, hogy a funkciók, illetve az iteratorok elé egy \"D\" betût kell rakni. (pl Iter_Add -> DIter_Add). Ki készítette? /* * dforeach 1.0.0 * All right reserved! ˆ By: DrAkE * Freely redistributable. * * Owner : DrAkE * Time : 2014.07.17 * * Thanks to : * Thiadmer - PAWN. * SA:MP Team past, present, future - SA:MP. */
Funkciók * Functions : * DIterator - Iterator létrehozása (példa: DIterator:test<10>). * dforeach - Iterator értékein való végigfutás. * DIter_Add - Érték hozzáadása az iteratorhoz. * DIter_Remove - Érték eltávolítása az iteratorból. * DIter_Count - Az iteratorban lévõ elemek megszámolása. * DIter_Random - Visszatér egy tetszõleges számmal az iteratorból. * DIter_Contain - Ellenõrzi hogy a megadott szám létezik-e az iteratorban. * DIter_Sort - Iterator csökkenõ, illetve növekvõbe való rendezése. * DIter_Clear - Iterator teljes törlése.
Példa használatára new DIterator:teszt<5>; public OnFilterScriptInit() { DIter_Add(teszt, 1); DIter_Add(teszt, 2); DIter_Add(teszt, 3); DIter_Add(teszt, 4); DIter_Add(teszt, 5); DIter_Add(teszt, 6); dforeach(teszt, azigen) printf(\"Számok: %d\", azigen); printf(\"Random: %d\", DIter_Random(teszt)); printf(\"Count: %d\", DIter_Count(teszt)); DIter_Sort(teszt, true); dforeach(teszt, azigen) printf(\"Sort: %d\", azigen); DIter_Remove(teszt, 1); dforeach(teszt, azigen) printf(\"Törlés után: %d\", azigen); return true; }
Alap létezõ iteratorok Players - Játékosokat tartalmazza Bots - NPCket tartalmazza Characters - Tartalmazza a játékosokat, és az NPCket
Letöltés Klikk ideKód /* * dforeach 1.0.0 * All right reserved! ˆ By: DrAkE * Freely redistributable. * * Owner : DrAkE * Time : 2014.07.17 * * Thanks to : * Thiadmer - PAWN. * SA:MP Team past, present, future - SA:MP. * * * Functions : * DIterator - Create an iterator (example: DIterator:test<10>). * dforeach - Loop through an iterator. * DIter_Add - Add a value to the iterator. * DIter_Remove - Remove a value from the iterator. * DIter_Count - Count the iterator items. * DIter_Random - Return a random value from the iterator. * DIter_Contain - Check if a value is exists in the iterator. * DIter_Sort - Sort the iterator\'s value. * DIter_Clear - Clear the iterator\'s value. * * * Existing iterators: * Players - Contains only players * Bots - Contains only bots * Characters - Contains both players and bots */ #if defined _dfor_included #endinput #endif #define _dfor_included #define DIteratorArray:%1<%2> %1[%2] #define DIteratorSizeof:%1<%2> %2(%1) #define DIteratorType:%1<%2> %2%1 #define DIteratorVariable:%1<%2> DIteratorType:%1<%2> #define DIteratorSafeIndex:%1<%2> ((%1<0||%1>=%2)?(0)%1)) /* * Name : * DIterator * * Type : * Macro * * Return: * - * * Note : * Create an iterator */ #define DIterator:%1<%2> DIteratorVariable:_D_ITER_%1__UTOLSO<>=0,DIteratorVariable:_D_ITER_%1__SZAMLAL<>,dIter:DIteratorVariable:_D_ITER_%1__TOMB<>[%2]={dIter:0xFFFFFFFF, ...} /* * Name : * dforeach * * Type : * Macro * * Return: * - * * Note : * Loop through iterator */ #define dforeach(%1,%2) for(new DIteratorVariable:_D_ITER__%1__CIKLUS<>=0xFFFFFFFF,%2=DIteratorArray:_D_ITER_%1__TOMB<0>;((DIteratorVariable:_D_ITER__%1__CIKLUS<++>)<(DIteratorVariable:_D_ITER_%1__SZAMLAL<>))&&((%2=DIteratorArray:_D_ITER_%1__TOMB<(DIteratorSafeIndex:(DIteratorVariable:_D_ITER__%1__CIKLUS<>)<(DIteratorVariable:_D_ITER_%1__SZAMLAL<>)>)>)>0xFFFFFFFF) /* * Name : * DIter_Add (wraps DIter_AddEx) * * Type : * Macro * * Return: * 0 - if the last added value is the same * 1 - if the given value is exists * 2 - if the iterator is full * 3 - if the value is added successfully * * Note : * Add a given value to the iterator */ #define DIter_Add(%1,%2) DIter_AddEx(DIteratorVariable:_D_ITER_%1__TOMB<>,%2,DIteratorVariable:_D_ITER_%1__SZAMLAL<>,.last=DIteratorVariable:_D_ITER_%1__UTOLSO<>) /* * Name : * DIter_Remove (wraps DIter_RemoveEx) * * Type : * Macro * * Return: * 0 - if the given value not exists * 1 - if the given value successfully removed * * Note : * Remove a given value from the iterator, if it exists */ #define DIter_Remove(%1,%2) DIter_RemoveEx(DIteratorVariable:_D_ITER_%1__TOMB<>,%2,DIteratorVariable:_D_ITER_%1__SZAMLAL<>,DIteratorVariable:_D_ITER_%1__UTOLSO<>,DIteratorSizeof:_D_ITER_%1__TOMB<sizeof>) /* * Name : * DIter_Count * * Type : * Macro * * Return: * - * * Note : * Count the iterator\'s existing value */ #define DIter_Count(%1) (DIteratorVariable:_D_ITER_%1__SZAMLAL<>) /* * Name : * DIter_Random * * Type : * Macro * * Return: * - * * Note : * Return a random number from the iterator */ #define DIter_Random(%1) ((DIteratorVariable:_D_ITER_%1__SZAMLAL<>?(_:DIteratorArray:_D_ITER_%1__TOMB<random(DIteratorVariable:_D_ITER_%1__SZAMLAL<>)>):(0xFFFFFFFF))) /* * Name : * DIter_Contain * * Type : * Macro * * Return: * - * * Note : * Check if the given value is exists in the iterator */ #define DIter_Contain(%1,%2) (DIter_FastInArray(DIteratorVariable:_D_ITER_%1__TOMB<>,%2)) //#define DIter_SafeRemove(%1,%2) ((DIteratorArray:_D_ITER_%1__TOMB<(DIteratorVariable:_D_ITER_CIKLUS<>)>==%2?(DIteratorArray:_D_ITER_%1__TOMB<(DIteratorVariable:_D_ITER_CIKLUS<>)>=0xFFFFFFFF,DIter_Remove(%1,%2),DIteratorVariable:_D_ITER_CIKLUS<>--):(1))) /* * Name : * DIter_Sort (wraps DIter_SortEx) * * Type : * Macro * * Return: * - * * Note : * Sort an iterator */ #define DIter_Sort(%1,%2) DIter_SortEx(DIteratorVariable:_D_ITER_%1__TOMB<>,%2,DIteratorVariable:_D_ITER_%1__SZAMLAL<>) /* * Name : * DIter_Clear * * Type : * Macro * * Return: * - * * Note : * Delete the iterator\'s values */ #define DIter_Clear(%1) dforeach(%1,DIteratorVariable:_VALTOZO_%1__I_<>)DIteratorArray:_D_ITER_%1__TOMB<(DIteratorVariable:_D_ITER_CIKLUS<>)>=0xFFFFFFFF,DIter_Remove(%1,DIteratorVariable:_VALTOZO_%1__I_<>) new /* * Name : * DIterator:Players * * Size : * MAX_PLAYERS * * Type : * Variable * * Note : * Create an iterator for the players */ DIterator:Players<MAX_PLAYERS>, /* * Name : * DIterator:Bots * * Size : * MAX_PLAYERS * * Type : * Variable * * Note : * Create an iterator for the NPCs */ DIterator:Bots<MAX_PLAYERS>, /* * Name : * DIterator:Characters * * Size : * MAX_PLAYERS * * Type : * Variable * * Note : * Create an iterator for the players and NPCs */ DIterator:Characters<MAX_PLAYERS>; /* * Name : * DIter_SortEx * * Type : * Function * * Return: * - * * Note : * Sort an iterator */ stock DIter_SortEx(dIter:DIteratorArray:iter<>, DIteratorType:ascendant<bool:> = true, DIteratorType:num<> = DIteratorSizeof:iter<sizeof>) { new DIteratorVariable:i<> = 0xFFFFFFFF, DIteratorVariable:j<> = 0xFFFFFFFF, DIteratorVariable:temp<> = 0xFFFFFFFF; for(;DIteratorVariable:i<++> < DIteratorVariable:num<> { for(DIteratorVariable:<>j = (DIteratorVariable:i<> + 1); j < DIteratorVariable:num<>; DIteratorVariable:j<>++) { if((DIteratorVariable:ascendant<>) ? (DIteratorArray:iter<(DIteratorVariable:i<>)> > DIteratorArray:iter<(DIteratorVariable:j<>)>) : (DIteratorArray:iter<(DIteratorVariable:i<>)> < DIteratorArray:iter<(DIteratorVariable:j<>)>)) { DIteratorVariable:temp<> = DIteratorArray:iter<(DIteratorVariable:i<>)>; DIteratorArray:iter<(DIteratorVariable:i<>)> = DIteratorArray:iter<(DIteratorVariable:j<>)>; DIteratorArray:iter<(DIteratorVariable:j<>)> = dIter:DIteratorVariable:temp<>; } } } } /* * Name : * DIter_AddEx * * Type : * Function * * Return: * 0 - if the last added value is the same * 1 - if the given value is exists * 2 - if the iterator is full * 3 - if the value is added successfully * * Note : * Add a given value to the iterator, if it not exists */ stock DIter_AddEx(dIter:DIteratorArray:iter<>, DIteratorType:value<>, DIteratorType:&count<>, DIteratorType:length<> = sizeof(iter), DIteratorType:&last<> = 0) { if(DIteratorType:last<> == DIteratorType:value<>) { return 0; } if(DIter_FastInArray(DIteratorType:iter<>, DIteratorType:value<>, DIteratorType:.size<> = DIteratorType:length<>)) { return 1; } if((DIteratorVariable:length<> == DIteratorVariable:count<>)) { return 2; } DIteratorArray:iter<_:(DIteratorVariable:count++<>)> = dIter:DIteratorType:last<> = dIter:DIteratorVariable:value<>; return 3; } /* * Name : * DIter_RemoveEx * * Type : * Function * * Return: * 0 - if the given value not exists * 1 - if the given value successfully removed * * Note : * Remove a given value from the iterator, if it exists */ stock DIter_RemoveEx(dIter:DIteratorArray:iter<>, DIteratorType:value<>, DIteratorType:&count<>, DIteratorType:&last<> = 0, length = 0xFFFFFFFF) { new DIteratorType:index<>; if(!DIter_FastInArray(DIteratorType:iter<>, DIteratorType:value<>, DIteratorType:index<>, DIteratorType:length<>)) { return false; } new DIteratorVariable:i<> = DIteratorType:index<>; DIteratorArray:iter<(DIteratorVariable:i<>)> = dIter:0xFFFFFFFF; if(DIteratorVariable:last<> == DIteratorVariable:value<>) DIteratorVariable:last<> = 0xFFFFFFFF; new DIteratorVariable:k<> = DIteratorVariable:i<> - 1; for(;DIteratorVariable:k<++> < DIteratorVariable:count<> - 1;) { DIteratorArray:iter<(DIteratorVariable:k<>)> = DIteratorArray:iter<(DIteratorVariable:k<>) + 1>; } DIteratorArray:iter<(DIteratorVariable:length<> - 1)> = dIter:0xFFFFFFFF; DIteratorVariable:count--<>; return true; } /* * Name : * DIter_FastInArray * * Type : * Function * * Return: * 0 - if the given value is not exists in the iterator * 1 - if the given value is exists in the iterator * * Note : * Search for a given value in the iterator */ stock DIter_FastInArray(dIter:DIteratorArray:iter<>, DIteratorType:elem<>, DIteratorType:&index<> = 0xFFFFFFFF, DIteratorType:size<> = sizeof(iter)) { new DIteratorType:top<> = (size - 1); new DIteratorType:bot<> = 0; new DIteratorType:p<>; while(DIteratorType:top<> >= DIteratorType:bot<>) { DIteratorType:p<> = floatround(((DIteratorType:top<> + DIteratorType:bot<>) / 2), floatround_floor); if (_:DIteratorArray:iter<(DIteratorVariable:p<>)> < DIteratorType:elem<>) { DIteratorType:bot<> = DIteratorType:p<> + 1; } else if (_:DIteratorArray:iter<(DIteratorVariable:p<>)> > DIteratorType:elem<>) { DIteratorType:top<> = DIteratorType:p<> - 1; } else { return true; } } return false; } /* * Name : * DIter_OnFilterScriptInit * * Type : * OnFilterScriptInit hook * * Return: * - * * Note : * Hook the OnFilterScriptInit */ #if defined FILTERSCRIPT public OnFilterScriptInit() { new DIteratorVariable:i<> = 0xFFFFFFFF; for(;DIteratorVariable:i<++> < MAX_PLAYERS;) { if(IsPlayerConnected(DIteratorVariable:i<>)) { if(IsPlayerNPC(DIteratorVariable:i<>)) { DIter_Add(Bots, DIteratorVariable:i<>); } else { DIter_Add(Players, DIteratorVariable:i<>); } DIter_Add(Characters, DIteratorVariable:i<>); } } return CallLocalFunction(\"DIter_OnFilterScriptInit\", \"\"); } #if defined _ALS_OnFilterScriptInit #undef OnFilterScriptInit #else #define _ALS_OnFilterScriptInit #endif #define OnFilterScriptInit DIter_OnFilterScriptInit forward DIter_OnFilterScriptInit(); #else /* * Name : * DIter_OnGameModeInit * * Type : * OnGameModeInit hook * * Return: * - * * Note : * Hook the OnGameModeInit */ public OnGameModeInit() { new DIteratorVariable:i<> = 0xFFFFFFFF; for(;DIteratorVariable:i<++> < MAX_PLAYERS;) { if(IsPlayerConnected(DIteratorVariable:i<>)) { if(IsPlayerNPC(DIteratorVariable:i<>)) { DIter_Add(Bots, DIteratorVariable:i<>); } else { DIter_Add(Players, DIteratorVariable:i<>); } DIter_Add(Characters, DIteratorVariable:i<>); } } return CallLocalFunction(\"DIter_OnGameModeInit\", \"\"); } #if defined _ALS_OnGameModeInit #undef OnGameModeInit #else #define _ALS_OnGameModeInit #endif #define OnGameModeInit DIter_OnGameModeInit forward DIter_OnGameModeInit(); #endif /* * Name : * DIter_OnPlayerConnect * * Type : * OnPlayerConnect hook * * Return: * - * * Note : * Hook the OnPlayerConnect */ public OnPlayerConnect(playerid) { if(IsPlayerNPC(playerid)) { DIter_Add(Bots, playerid); } else { DIter_Add(Players, playerid); } DIter_Add(Characters, playerid); return CallLocalFunction(\"DIter_OnPlayerConnect\", \"d\", playerid); } #if defined _ALS_OnPlayerConnect #undef OnPlayerConnect #else #define _ALS_OnPlayerConnect #endif #define OnPlayerConnect DIter_OnPlayerConnect forward DIter_OnPlayerConnect(playerid); /* * Name : * DIter_OnPlayerDisconnect * * Type : * OnPlayerDisconnect hook * * Return: * - * * Note : * Hook the OnPlayerDisconnect */ public OnPlayerDisconnect(playerid, reason) { if(IsPlayerNPC(playerid)) { DIter_Remove(Bots, playerid); } else { DIter_Remove(Players, playerid); } DIter_Remove(Characters, playerid); return CallLocalFunction(\"DIter_OnPlayerDisconnect\", \"dd\", playerid, reason); } #if defined _ALS_OnPlayerDisconnect #undef OnPlayerDisconnect #else #define _ALS_OnPlayerDisconnect #endif #define OnPlayerDisconnect DIter_OnPlayerDisconnect forward DIter_OnPlayerDisconnect(playerid, reason);
299
« Dátum: 2014. június 25. - 15:46:17 »
Hát öcsém, nem mondom hogy szar troll vagy, mert már dicséret lenne.
300
« Dátum: 2014. június 10. - 22:51:20 »
stock RemoveHexColorFromString(string[]) { new pos[2]; pos[0] = strfind(string,\"{\",true,0); pos[1] = strfind(string,\"}\",true,0); for(new i;i < strlen(string); i++) { if(pos[0]+7 == pos[1]) { strdel(string, pos[0], pos[1]+1); pos[0] = strfind(string,\"{\",true,0); pos[1] = strfind(string,\"}\",true,0); } } return 1; }
Kiégett a szemem ettõl a ciklustól... (NEM JÁR KEKSZ?!?!?!)
Oldalak: 1 ... 18 19 [20] 21 22 ... 135
|