|
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. 1231
Archívum / [HUN]Suite Life City Role Play« Dátum: 2012. január 21. - 18:32:41 »Idézetet írta: James Bácsi date=1326984293\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14700\" data-ipsquote-contentclass=\"forums_Topic [Lehet warnt adni, meg figyelmeztetgetni kedves moderátorok, de törölni nehogy töröljetek bármit is.][gmod]Nem hiszem hogy bármilyen beleszólásod lenne hogy egy moderátor mit módosít, vagy éppen töröl.[/gmod] Én nem mentem fel egyszer se és nem is fogok a szerveredre, se a fórumodra (ha van) és fõleg nem mondom, hogy mit csinálhatsz ott. Te se tedd! Köszönöm. A moderátorok nem kedvük szerint módosítanak, törölnek dolgokat, hanem szabályok alapján teszik, amiket egyeseknek elég nehéz betartani. Kérni lehet dolgokat ami egy udvarias gesztus, utasítani már nem annyira. Üdv. 1232
Szkript kérések / Random« Dátum: 2012. január 21. - 11:17:07 »Idézetet írta: Antonyo date=1327140264\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"15697\" data-ipsquote-contentclass=\"forums_Topic Azért mert az OnFilterScriptInit()-hez tetted és az csak egyszer generálja le.Semmi baja. Annyit fûznék hozzá hogy a véletlenszerû karakterlánc hosszát a számára megadott array méretével lehet szabályozni. A kódban a new str[10 + 1]; ben szereplõ 10-es érték jelzi hogy jelenleg 10 karakterbõl és +1 (NULL string) +bõl álló eredményt ad vissza. pl.: new str[6 +1]; ( a plusz egyet azért írom hogy jelezze hogy az a NULL karakter helye)
Amúgy szinte ugyanezt írtam én is. http://sampforum.hu/index.php?topic=19789.msg214701#msg214701 1233
Szkript kérések / Random« Dátum: 2012. január 21. - 11:02:45 »
Ahhoz hogy másik véletlenszerû karakterláncot kapj, újra meg kell hívni a GenerateRandomString eljárást.
Pill és írok egyet parancsra és ahogy beírod a parancsot más és más eredményt fogsz kapni. Kész is: [pawn]#include <a_samp> public OnFilterScriptInit() { new str[10+1]; GenerateRandomString(str); print(str); return 1; } public OnPlayerCommandText(playerid, cmdtext[ ]) { if(strcmp(\"/rand\", cmdtext, true) == 0) { new str[10+1]; GenerateRandomString(str); SendClientMessage(playerid, -1, str); return 1; } return 0; } stock GenerateRandomString(string[ ], size = sizeof(string)) { static const alphaNumeric[ ] = { \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\" } ; for(--size; size--; ) string = alphaNumeric[random(sizeof(alphaNumeric) - 1)]; } [/pawn] Próbáld úgy értelmezni mint a \"GetPlayerName\" eljárást egy másik játékos nevének lekéréséhez újra meg kell hívni az eljárást. Ha másik véletlenszerû karakterláncot akarsz újra meg kell hívni a \"GenerateRandomString\" funkciót. 1235
Paradise RolePlay / [HUN] Paradise Roleplay« Dátum: 2012. január 20. - 18:06:51 »
Ahogy látom kaptatok egy teljes alfórumot:
http://sampforum.hu/index.php?board=251.0 Ezt nem kell lezárni esetleg, vagy áthelyezni oda? 1236
Szkript kérések / Random« Dátum: 2012. január 20. - 15:13:35 »
[pawn]#include <a_samp>
public OnFilterScriptInit() { new str[10+1]; GenerateRandomString(str); print(str); return 1; } stock GenerateRandomString(string[ ], size = sizeof(string)) { static const alphaNumeric[ ] = { \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\" } ; for(--size; size--; ) string = alphaNumeric[random(sizeof(alphaNumeric) - 1)]; } [/pawn] 1238
SA-MP / Open.mp: Szerverfejlesztés / Random Paint Jobs« Dátum: 2012. január 19. - 17:06:05 »
Ajj.
Nem minden jármûvet lehet ilyen módon színezni. Amúgy meg az egész szkript ennyi: [pawn]public OnVehicleSpawn(vehicleid) { ChangeVehiclePaintjob(vehicleid, random(3) + 1); return 1; }[/pawn] Ez már azért jóval kevesebb az átlagban rászánt szkript készítés idejének, eddig te vagy a gyõztes, egy ilyen filterscript elkészítésének ideje nem lehetett több 10 másodpercnél. Azért mások rászánnak akár 4 5 percet is. Ennyi azért illene tõled is, hogy a szintet fenntartsuk valahogy. Mondjuk elõnye is van, erre tuti nem mondja rá senki hogy másoltad valahonnan. 1239
Fórum Archívum (Témák/Fórumok) / 1 és 100 között 10 darab véletlenszerû érték.« Dátum: 2012. január 18. - 19:07:31 »
Egy olyan kódra lenne szükségem ami meghatározott értékek között, meghatározott különbözõ véletlenszerû értékeket ad vissza.
(Példának lehet venni a téma címét is.) Tehát a kapott értékek között nem lehet azonos érték. Én már kidolgoztam egy eljárást, viszont a probléma vele hogy túl sokszor fordul vissza saját magához, és emiatt nagyon lassú az egész. Hamarosan ide írom a kódot, ötletek is jól jönnének milyen logikát kellene követnem, hogy minél gyorsabban megkapjam a 10 darab véletlenszerû számot melyek közt nincs egyforma/egyenlõ érték. Elõre is köszönöm. Mivel elég bonyolult a kérés és nem hiszem hogy valaki segítene benne, megpróbálom saját magam megoldani. [gmod]Témát zárom és törlöm egyben.[/gmod] 1240
Segítségkérés / Dialógus probléma« Dátum: 2012. január 16. - 19:52:51 »
[pawn]#include <a_samp>
#define DIALOG_1 (1998) public OnFilterScriptInit() { print(\"\\n--------------------------------------\"); print(\" dialógus fegyver lekérõ\"); print(\"--------------------------------------\\n\"); return 1; } public OnPlayerCommandText(playerid, cmdtext[ ]) { if(strcmp(\"/fegyver\", cmdtext, true) == 0) { ShowPlayerDialog(playerid, DIALOG_1, DIALOG_STYLE_LIST, \"Szia! Válassz egy fegyvert!\",\"AK-47\\nUzi\\nM4\\nTec9\\nPuska\\nMP5\\nCombat Shotgun\\nSawn-off\\nVadászpuska\\nDesert-Eagle\\nSilenced\\nMolotow\\nSima-Gránát\\nFüst-Gránát\\nÉjjellátó\\nSniper\\nSpré\\nEjtõernyõ\",\"Kiválaszt\",\"Mégse\"); return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[ ]) { if(dialogid == DIALOG_1) { if(response) { if(listitem == 0) { GivePlayerWeapon(playerid, 30, 5000); SendClientMessage(playerid, 0x0800fcAA, \"AK-47 sikeresen megvásárolva\"); } else if(listitem == 1) { GivePlayerWeapon(playerid, 28, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Uzi sikeresen megvásárolva\"); } else if(listitem == 2) { GivePlayerWeapon(playerid, 31, 5000); SendClientMessage(playerid, 0x0800fcAA, \"M4 sikeresen megvásárolva\"); } else if(listitem == 3) { GivePlayerWeapon(playerid, 32, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Tec 9 sikeresen megvásárolva\"); } else if(listitem == 4) { GivePlayerWeapon(playerid, 33, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Puska sikeresen megvásárolva\"); } else if(listitem == 5) { GivePlayerWeapon(playerid, 29, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Mp5 sikeresen megvásárolva\"); } else if(listitem == 6) { GivePlayerWeapon(playerid, 27, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Combat Shotgun sikeresen megvásárolva\"); } else if(listitem == 7) { GivePlayerWeapon(playerid, 26, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Sawn-Off Shotgun sikeresen megvásárolva\"); } else if(listitem == ![]() { GivePlayerWeapon(playerid, 25, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Vadászpuska sikeresen megvásárolva\"); } else if(listitem == 9) { GivePlayerWeapon(playerid, 22, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Desert Eagle sikeresen megvásárolva\"); } else if(listitem == 10) { GivePlayerWeapon(playerid, 23, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Hang Tompítós pisztoly sikeresen megvásárolva\"); } else if(listitem == 11) { GivePlayerWeapon(playerid, 18, 50); SendClientMessage(playerid, 0x0800fcAA, \"Molotow Koktél sikeresen megvásárolva\"); } else if(listitem == 12) { GivePlayerWeapon(playerid, 16, 50); SendClientMessage(playerid, 0x0800fcAA, \"Gránát sikeresen megvásárolva\"); } else if(listitem == 13) { GivePlayerWeapon(playerid, 17, 50); SendClientMessage(playerid, 0x0800fcAA, \"Füst gránát sikeresen megvásárolva\"); } else if(listitem == 14) { GivePlayerWeapon(playerid, 44, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Éjjel Látó szemüveg sikeresen megvásárolva\"); } else if(listitem == 15) { GivePlayerWeapon(playerid, 34, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Távcsõvel felszerelt puska sikeresen megvásárolva\"); } else if(listitem == 16) { GivePlayerWeapon(playerid, 41, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Gáz spré sikeresen megvásárolva\"); } else if(listitem == 17) { GivePlayerWeapon(playerid, 46, 5000); SendClientMessage(playerid, 0x0800fcAA, \"Ejtõernyõ sikeresen megvásárolva\"); } } return 1; } return 0; } [/pawn] Nem teszteltem. Kihagytad az if(response) részt. (Melyik lehetõségre kickkel a játékos, Kiválaszt vagy Mégse ellenõrzése amúgy) 1241
Beszélgetés / Phobos ûrszonda ma csapódik be« Dátum: 2012. január 15. - 20:00:24 »
A Csendes-óceánba zuhant a Fobosz-Grunt szonda, erõsítette meg az orosz ûrügynökség.
1242
Beszélgetés / Phobos ûrszonda ma csapódik be« Dátum: 2012. január 15. - 19:53:01 »Idézetet írta: VTX date=1326653197\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"15617\" data-ipsquote-contentclass=\"forums_Topic Még egyszer tesz egy kört, aztán csapódik be elvileg. De csak 200kg. Szóval annyira nem nagy cucc.13 ezer 200 kg ne zavartasd magad. 1243
Beszélgetés / Phobos ûrszonda ma csapódik be« Dátum: 2012. január 15. - 19:49:59 »
Érdekes amúgy hogy a mai technológia mellett alig tudják kiszámolni hova csapódik be.
Sõt azt se értem hogy a mai technológia mellett miért nem lövik darabokra hogy könnyebben elégjen ahogy bekerül a légkörbe. Jha tudom nem akarnak elpazarolni egy rakétát a több millióból, vagy ha már nem tudják kiszámolni hova csapódik be akkor nem tudják eltalálni sem vagy attól félnek hogy éppen egy másik még mûködõ mûholdat lõnének széjjel, vagy úgy vélik olcsóbban megússzák a kártérítést ha hagyják becsapódni. Hisz egy rakéta több millió dollár. És mi van ha éppen a paksi atomerõmût találja el? Japán után nagyon kell még egy atomkatasztrófa. Én bízom benne hogy semmilyen anyagi és személyi sérülés nem fog történni, elég nagy az a terület ami nem lakott, többszöröse mint a lakott területeké. 1244
Beszélgetés / Phobos ûrszonda ma csapódik be« Dátum: 2012. január 15. - 19:26:07 »
Lehet lesz egy akku telepem ami nem merül le sose.
![]() Lesem én is a fejleményeket mikor takarodjak a pincébe. 1245
Segítségkérés / Script HIBA« Dátum: 2012. január 15. - 14:18:13 »
Amit linkeltem azaz .include fájl és nem egy komplett script ami felhasználja az .inc fájlt, sõt nincs is rá szüksége sõt az .inc fájl felhasználja Y_Less y_hooks -inc fájlját ami csak tovább bonyolítja számodra a dolgokat.
Ha talán az example filterscriptet próbálnád átfordítani és alkalmazni több esélyed lenne: http://spelsajten.net/speedcap.pwn [pawn] /* Vehicle speed cap filterscript. ----------- This makes it possible to limit the maxspeed of vehicles; there are, however, a few things to consider. * This will not work well on people with high pings. * This works best with lower server rates. * Driving at the speed limit will cause the handling to be different; however, if used for roleplay, driving real-life like shouldn\'t be an issue with this at all! How do I get started with this? First off, Try it on to see if it works. Load the filterscript, go ingame, and log in with /rcon login. Now, use the testing command /myspeedcap to see if it works. An example of a value that feels like 50 km/h is 0.3. So, simply: /myspeedcap 0.3 Put the macros below in your other scripts and do this for example: SetPlayerSpeedCap( playerid, 0.3 ); Another example that disables speed cap only for the NRG: public OnPlayerEnterVehicle( playerid, vehicleid, ispassenger ) { new modelid = GetVehicleModel( vehicleid ); if ( modelid == 522 ) // 522 - NRG-500 SetPlayerSpeedCap( playerid, 0.4 ); else DisablePlayerSpeedCap( playerid ); } Put this in other scripts so they can change the speed cap easily. #define SetPlayerSpeedCap(%0,%1) CallRemoteFunction( \"SetPlayerSpeedCap\", \"if\", %0, %1 ) #define DisablePlayerSpeedCap(%0) CallRemoteFunction( \"DisablePlayerSpeedCap\", \"i\", %0 ) Author: Slice */ #include <a_samp> forward SetPlayerSpeedCap( playerid, Float:value ); forward DisablePlayerSpeedCap( playerid ); new Float:g_fSpeedCap[ MAX_PLAYERS ] = { 0.0, ... } ; public OnPlayerUpdate( playerid ) { static s_iVehicle ; if ( g_fSpeedCap[ playerid ] != 0.0 && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) { s_iVehicle = GetPlayerVehicleID( playerid ); if ( s_iVehicle ) { static Float:s_fX, Float:s_fY, Float:s_fZ, Float:s_fVX, Float:s_fVY, Float:s_fVZ ; GetVehiclePos( s_iVehicle, s_fX, s_fY, s_fZ ); GetVehicleVelocity( s_iVehicle, s_fVX, s_fVY, s_fVZ ); if ( !IsPlayerInRangeOfPoint( playerid, g_fSpeedCap[ playerid ] + 0.05, s_fX + s_fVX, s_fY + s_fVY, s_fZ + s_fVZ ) ) { static Float:s_fLength ; s_fLength = floatsqroot( ( s_fVX * s_fVX ) + ( s_fVY * s_fVY ) + ( s_fVZ * s_fVZ ) ); s_fVX = ( s_fVX / s_fLength ) * g_fSpeedCap[ playerid ]; s_fVY = ( s_fVY / s_fLength ) * g_fSpeedCap[ playerid ]; s_fVZ = ( s_fVZ / s_fLength ) * g_fSpeedCap[ playerid ]; if ( s_iVehicle ) SetVehicleVelocity( s_iVehicle, s_fVX, s_fVY, s_fVZ ); else SetPlayerVelocity( playerid, s_fVX, s_fVY, s_fVZ ); } } } return 1; } public OnPlayerCommandText( playerid, cmdtext[ ] ) { if ( !IsPlayerAdmin( playerid ) ) return 0; if ( !strcmp( \"/myspeedcap\", cmdtext, true, 11 ) ) { new szMessage[ 24 ] ; if ( !( cmdtext[ 11 ] && cmdtext[ 12 ] ) ) { SendClientMessage( playerid, -1, \"USAGE: /myspeedcap [max speed]\" ); SendClientMessage( playerid, -1, \"USAGE: 0 will disable the speed cap.\" ); return 1; } g_fSpeedCap[ playerid ] = floatstr( cmdtext[ 12 ] ); format( szMessage, sizeof( szMessage ), \"* Speed cap: %0.4f\", g_fSpeedCap[ playerid ] ); SendClientMessage( playerid, 0xFFFF00FF, szMessage ); return 1; } return 0; } public SetPlayerSpeedCap( playerid, Float:value ) { if ( 0 <= playerid < sizeof( g_fSpeedCap ) ) g_fSpeedCap[ playerid ] = value; } public DisablePlayerSpeedCap( playerid ) { if ( 0 <= playerid < sizeof( g_fSpeedCap ) ) g_fSpeedCap[ playerid ] = 0.0; }[/pawn] Benne van a fájl nevében .inc ami sampnál include fájlt jelent amit betöltenek egy forrás (.pwn) fájlba. Ezért amx fájlt .pwn fájlból kell készíteni és nem .inc fájlból. Te .inc fájlt próbáltál átkonvertálni. Edit: Mivel tudom hogy így akarod kipróbálni és csak a parancs fog mûködni ezért a speedcampban szereplõ OnPlayerEnterVehicle részt beleraktam: [pawn]/* Vehicle speed cap filterscript. ----------- This makes it possible to limit the maxspeed of vehicles; there are, however, a few things to consider. * This will not work well on people with high pings. * This works best with lower server rates. * Driving at the speed limit will cause the handling to be different; however, if used for roleplay, driving real-life like shouldn\'t be an issue with this at all! How do I get started with this? First off, Try it on to see if it works. Load the filterscript, go ingame, and log in with /rcon login. Now, use the testing command /myspeedcap to see if it works. An example of a value that feels like 50 km/h is 0.3. So, simply: /myspeedcap 0.3 Put the macros below in your other scripts and do this for example: SetPlayerSpeedCap( playerid, 0.3 ); Another example that disables speed cap only for the NRG: public OnPlayerEnterVehicle( playerid, vehicleid, ispassenger ) { new modelid = GetVehicleModel( vehicleid ); if ( modelid == 522 ) // 522 - NRG-500 SetPlayerSpeedCap( playerid, 0.4 ); else DisablePlayerSpeedCap( playerid ); } Put this in other scripts so they can change the speed cap easily. #define SetPlayerSpeedCap(%0,%1) CallRemoteFunction( \"SetPlayerSpeedCap\", \"if\", %0, %1 ) #define DisablePlayerSpeedCap(%0) CallRemoteFunction( \"DisablePlayerSpeedCap\", \"i\", %0 ) Author: Slice */ #include <a_samp> forward SetPlayerSpeedCap( playerid, Float:value ); forward DisablePlayerSpeedCap( playerid ); new Float:g_fSpeedCap[ MAX_PLAYERS ] = { 0.0, ... } ; public OnPlayerUpdate( playerid ) { static s_iVehicle ; if ( g_fSpeedCap[ playerid ] != 0.0 && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) { s_iVehicle = GetPlayerVehicleID( playerid ); if ( s_iVehicle ) { static Float:s_fX, Float:s_fY, Float:s_fZ, Float:s_fVX, Float:s_fVY, Float:s_fVZ ; GetVehiclePos( s_iVehicle, s_fX, s_fY, s_fZ ); GetVehicleVelocity( s_iVehicle, s_fVX, s_fVY, s_fVZ ); if ( !IsPlayerInRangeOfPoint( playerid, g_fSpeedCap[ playerid ] + 0.05, s_fX + s_fVX, s_fY + s_fVY, s_fZ + s_fVZ ) ) { static Float:s_fLength ; s_fLength = floatsqroot( ( s_fVX * s_fVX ) + ( s_fVY * s_fVY ) + ( s_fVZ * s_fVZ ) ); s_fVX = ( s_fVX / s_fLength ) * g_fSpeedCap[ playerid ]; s_fVY = ( s_fVY / s_fLength ) * g_fSpeedCap[ playerid ]; s_fVZ = ( s_fVZ / s_fLength ) * g_fSpeedCap[ playerid ]; if ( s_iVehicle ) SetVehicleVelocity( s_iVehicle, s_fVX, s_fVY, s_fVZ ); else SetPlayerVelocity( playerid, s_fVX, s_fVY, s_fVZ ); } } } return 1; } public OnPlayerCommandText( playerid, cmdtext[ ] ) { if ( !IsPlayerAdmin( playerid ) ) return 0; if ( !strcmp( \"/myspeedcap\", cmdtext, true, 11 ) ) { new szMessage[ 24 ] ; if ( !( cmdtext[ 11 ] && cmdtext[ 12 ] ) ) { SendClientMessage( playerid, -1, \"USAGE: /myspeedcap [max speed]\" ); SendClientMessage( playerid, -1, \"USAGE: 0 will disable the speed cap.\" ); return 1; } g_fSpeedCap[ playerid ] = floatstr( cmdtext[ 12 ] ); format( szMessage, sizeof( szMessage ), \"* Speed cap: %0.4f\", g_fSpeedCap[ playerid ] ); SendClientMessage( playerid, 0xFFFF00FF, szMessage ); return 1; } return 0; } public SetPlayerSpeedCap( playerid, Float:value ) { if ( 0 <= playerid < sizeof( g_fSpeedCap ) ) g_fSpeedCap[ playerid ] = value; } public DisablePlayerSpeedCap( playerid ) { if ( 0 <= playerid < sizeof( g_fSpeedCap ) ) g_fSpeedCap[ playerid ] = 0.0; } public OnPlayerEnterVehicle( playerid, vehicleid, ispassenger ) { new modelid = GetVehicleModel( vehicleid ); if ( modelid == 522 ) // 522 - NRG-500 SetPlayerSpeedCap( playerid, 0.4 ); else DisablePlayerSpeedCap( playerid ); }[/pawn] |


