Üzenetek megjelenítése

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 - Zsolesszka

Oldalak: 1 ... 13 14 [15] 16 17 ... 136
211
Segítségkérés / foreach és az iterátor használata, pontosan mi a légyege?
« Dátum: 2013. Augusztus 20. - 08:33:17 »
Pedig leírtad a lényegét. (nem légyegét :D)
Alapjában véve egy for ciklus, viszont nem csak egymás utáni értékeket futtat le.
Ha megadod neki a következõ számsort 2, 6, 12, 23 akkor 4 szer fut le és ezeket az értékeket adja a változónak, egy sima for ciklussal ezt nem tudod megvalósítani.
A játékosok illetve az npc-re azért nem kell létrehoznod mert ezek már létre lettek hozva a függvénykönyvtárban, így már csak alkalmaznod kell, másra azért kell létrehoznod mert nincs létrehozva, sajnos a készítõje nem tudja hogy te még mire szeretnéd használni így nem hozott létre több Iterator-t a Player, Bot, Character,-en kívül.
 
new
       Iterator:Player<MAX_PLAYERS>;
new
       Iterator:Bot<MAX_PLAYERS>,
       Iterator:Character<MAX_PLAYERS>;

 
Szerintem nincs különbség a kettõ közt, mindegy melyik megoldást használod.
Tehát gyakorlatilag a lényege annyi hogy egy olyan for ciklust hozhatsz vele létre ami képes olyan ismétlõdéssel mûködni, ami nem csak meghatározott értéknöveléssel fut le (1++), hanem olyan értékekkel amiket megadsz neki.

212
Segítségkérés / Objectek betöltésének távolsága
« Dátum: 2013. Augusztus 18. - 20:22:43 »
Másik funkciónál tudod azt állítani:
 
native CreateDynamicObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:drawdistance = 0.0, Float:streamdistance = 200.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players);

 
Ott van amit keresel drawdistance, annyi van hogy át kell írnod az objecteket erre a funkcióra.
Edit:
A sima CreateObjectnél csak streamdistance van, streamer plugin verzió 2.6.1:
 
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0);

213
Nem is értem miért csodálkozol rajt.
Egy sort illeszt be az insert into a példádban, miért is kellene több értéket mutatni a cache_affected_rows-nak?
Próbáld így:
 
INSERT INTO tabla (mezo1, mezo2, ...) VALUES
(\'adat11\', \'adat21\', ...),
(\'adat21\', \'adat22\', ...),
(\'adag31\', \'adat32\', ...);

 
Átírva:
 
INSERT INTO players (name,pass,regip) VALUES 
(\'Béla\',\'123\',\'127.0.0.1\'),
(\'Aladár\',\'1234\',\'127.0.0.2\'),
(\'László\',\'12345\',\'127.0.0.3\');

 
Itt már elméletileg 3-as értéket kellene visszaadnia.

214
Segítségkérés / Warnol a textdraw
« Dátum: 2013. Augusztus 18. - 09:45:44 »
Kettõ kicsit más elven mûködõ texdrawot próbálsz együtt használni azért írja ezt a hibát.
Tehát kettõ van és mindegyikhez tartozik egy elõtag ami megkülönbözteti a hozzájuk alkalmazható többi textdraw eljárást:
Text:TextDrawCreate(..
PlayerText:CreatePlayerTextDraw(..
Te a kettõt próbálod keverni ami nem is fog mûködni és ezért jelez ilyen hibát, ha törlöd az elõtagot a pawn nem jelez hibát de nem fog mûködni.
Nyisd meg az ( a_samp.inc )-t 140. sortól látod a a TextDrawCreate és alatta a hozzá alkalmazható eljárásokat.
A másikat az ( a_player.inc ) fájlban találod a 135. sortól.
Ne keverd a kettõ eljárást egymással mivel nem kombinálható, ezért is más az elõtag elõttük (Text: , PlayerText:).

215
Mentsd sima számként.
Ha szeretnéd esetleg kiíratni a hexadecimális értéket üzenetként, akkor:
 
printf(\"0x%x\", int);

 
Edit.:
Sõt az is elõfordulhat ha számként adod meg az értéket mysql-nek és az adatsor hex-nek van megadva lehet át is alakítja gond nélkül.

216
Segítségkérés / Streamer hiba..
« Dátum: 2013. Augusztus 16. - 14:53:12 »
Idézetet írta: JBauer date=1376642874\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41417\" data-ipsquote-contentclass=\"forums_Topic
A streamer.inc-et kell frissíteni.
 
Az a_objects.inc-t kell frissíteni.
És persze egyértelmûen az összes alap függvénykönyvtárat kell frissíteni, mert ha ez korábbi verzió akkor a többi is az.
http://sa-mp.com/download.php

217
Segítségkérés / timer
« Dátum: 2013. Augusztus 16. - 14:45:03 »
Egyszerûen kell ezt megvalósítani, nem ennyire bonyolultan:


Idézetet írta: BoOy date=1376598151\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41392\" data-ipsquote-contentclass=\"forums_Topic
Megcsináltam neked SendClientMessage-be! Remélem tudni fogod tovább.
 
new count[MAX_PLAYERS];
new Tajmer[MAX_PLAYERS];
CMD:start(playerid)
{
Tajmer[playerid] = SetTimerEx(\"Timerke\",1000,1,\"i\",playerid);
return 1;
}
forward Timerke(playerid);
public Timerke((playerid)
{
new string[128];
if(count[playerid] == 100)
{
    format(string,sizeof(string),\"%d/100\",count[playerid]);
    SendClientMessage(playerid,-1,string);
KillTimer(Tajmer[playerid]);
count[playerid] = 0;
}
else
{
count[playerid]++;
format(string,sizeof(string),\"%d/100\",count[playerid]);
    SendClientMessage(playerid,-1,string);
}
return 1;
}

 


Valahogy így:
 
forward p_count(playerid, start, end, repeating); // ide írhatnák nevet de minek? :D
public p_count(playerid, start, end, repeating)
{
new
str[32];
format(str, sizeof str,\"%d/%d\", start, end);
SendClientMessage(playerid, -1, str); // print(str);
if(start < end) SetTimerEx(\"p_count\", repeating, false, \"dddd\", playerid, ++start, end, repeating);
return 1;
}

 
 8)  ;D
Igaz még lehetne variálni egy kicsit hogy egy plusz adattal kapcsolni lehessen azt is hogy visszafelé számoljon, de azt meghagyom már másnak.

218
SA-MP: Szerverfejlesztés / Jármû Lámpa Script
« Dátum: 2013. Augusztus 15. - 07:48:29 »
Idézetet írta: citromhun date=1376508290\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41348\" data-ipsquote-contentclass=\"forums_Topic




Név: Jármû Lámpa Script

Kategória: CODE


Segített: ZyZu (Egy apróságba  ;) )


Készítette: citromhun


Készítési idõ: 1-2 perc

 
 
#include <                               a_samp                                >
enum vAdat { LAMPA }
new vInfo[ MAX_VEHICLES ][ vAdat ];
new vehicleid;
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define NARANCS    0xff8c00AA
public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
if( PRESSED( KEY_SUBMISSION ))                                             {
    if( IsPlayerInAnyVehicle( playerid ))                                      {
      if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )                    {
    if( vInfo[ vehicleid ][ LAMPA ] == 0 )                                     {
        GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,1,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Felkapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 1;
    }                                  else                                {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,0,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, NARANCS, \"Lekapcsoltad a lámpát!\");
    vInfo[vehicleid][LAMPA] = 0;
}                      }                       }                       }
return 1;
}

 
 
Nem csak hogy egyszerûbben, hanem mûködõképesen is meg lehet írni.
A vehicleid értékének lekérése hol marad?
 
vehicleid = GetPlayerVehicleID(playerid);

 
Ui.:
Ez annak az eredménye egyébként hogy \"Készítési idõ: 1-2 perc\" miért nem inkább 10 vagy 20?
Legalább jutna idõ tesztelésre is, és tényleg mûködõképes szkript kerülne ki a fórumra.
Ennek a válasznak is a megfogalmazása több idõt vett el nekem mint 1 - 2 perc, fõleg hogy figyelem azt is mit jelez helyesírási hibának a böngészõm miközben gépelek.  :D
Aki meg nagy mellénnyel ráírja hogy õ neki sokkal kevesebb idõ is elég, vagy nagy kocka, vagy sík hülye hozzá. És miért nem írta már ki a fórumra a mûvét?


Edit1:
Hamar megírtam egy változatot, teszteltem is egy kicsit, talán nincs benne hiba:
 
#include <a_samp>
new
bool:vehicle_lights[MAX_VEHICLES];  // persze azt figyelembe véve hogy talán: az összes jármû világítása nincs bekapcsolva, vagyis másik szkript nem foglalkozik a be - kikapcsolásával!
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public
OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
   new
      vehicleid = GetPlayerVehicleID(playerid),
      engine, alarm, doors, bonnet, boot, objective;
   vehicle_lights[vehicleid] = !vehicle_lights[vehicleid];
   GetVehicleParamsEx(vehicleid, engine,
      alarm, // ···· egy változó csökkentése ···· lights
      alarm,
   doors, bonnet, boot, objective);
   SetVehicleParamsEx(vehicleid, engine,
      vehicle_lights[vehicleid], // !!!
   alarm,doors,bonnet,boot,objective);
   SendClientMessage(playerid, 0xff8c00AA, (vInfo[vehicleid])?(\"Felkapcsoltad a lámpát!\"):(\"Lekapcsoltad a lámpát!\"));
}
return 1;
}
return 1;
}

219
Segítségkérés / Darabolás...
« Dátum: 2013. Augusztus 09. - 20:51:57 »
Elég nehéz dolgot szeretnél létrehozni, és mint látom textdraw-ban próbálod ami köztudottan szerver összeomlást okoz ha páratlanul szerepel benne a hullám jel (~).
Így nem csak a sortöréssel kell foglalkozni hanem azzal is hogy a bevitt karakterlánc nem tartalmazhat ilyen jelet ellenkezõ esetben módosítani kell azt is, vagy javítani.
Közben ezt találtam:
http://sampforum.hu/index.php?topic=38722.0
De az elv a következõ lenne:
Meg kell határoznod mennyi legyen a maximális karakterszám majd onnantól visszafelé meg kell keresni a szóközt majd kettévágni az eredeti karakterláncot ott és hozzáírni az elsõ félhez most épp textdrawban a ~n~ jeleket. Majd ismét folytatni a darabolást a másik féllel.
Persze itt is annyi a gond ha valaki nem használ szóközt és beírja például ezt: dsadlkajhnmdsxlandhzolsauidzbvlhflsduzfbahudalkjhdxna876tzdsadhi984dlkjlasd98743589u7nc94834
Persze itt meg lehetne azt is tenni hogy a maximálisan meghatározott karakterláncnál darabolná.

220
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. Augusztus 07. - 14:39:20 »
Idézetet írta: SkyLinE date=1375874610\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Én használok és egy másik objectet szeretnék rárakni.
 
Akkor rosszul használod mert amit levenni szeretnél a jármûrõl azt ha vissza teszed, teljesen érthetõ hogy rajta marad.
Több object a jármûvön már csak rajtad múlik,
 
#define MAX_ATTACHED_OBJECTS 10
new AttachObject[MAX_VEHICLES][MAX_ATTACHED_OBJECTS];
// Ide már for ciklus is kell mivel ellenõrizni kell létezik-e az adott object tárolva valamelyik cellában, ha igen ha nem, akkor az meg ez történjen.

 
amúgy fõposztban ez a kérés nem szerepelt, és mivel se köszönöm se semmi nincs csak újabb és újabb kérések meg kötözködések, szal ebbe a témában meg ez volt az utolsó hozzászólásom.

221
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. Augusztus 07. - 12:56:23 »
Idézetet írta: anorennia date=1375870786\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Nem értem..
Mért ne lenne logikus?!
 
Az hogy létrehozod az objectet, ráteszed a jármûre, törlöd az objectet, majd újra létrehozod az objectet, és rajt marad a jármûvön anélkül hogy rátennéd.
pawn kódban:
 
CreateObject(..
AttachObjectToVehicle(...
DestroyObject(...
CreateObject(...

 
Mert ti végig azt állítottátok hogy rajt marad.
 

 

Hozd létre újra mikor törlöd és úgy tûnik majd mintha csak levetted volna.
Csak egy kis logika. :D
 
[/quote]
 
Igen ezt így csináltam, csak utána úgy érzékeli, hogy még mindig rajta van az az adott dolog.
 
[/quote]
 

Létrehoztunk egy objectet hozzá illesztettük a kocsihoz
Mi az objectet töröljük és nem a kocsiról, szóval logikus, ha újra létrehozod megint rajta lesz. :D
 
[/quote]
Nem, nem lesz rajt csak akkor ha az object létrehozása után újból használjátok az AttachObjectToVehicle funkciót!

222
Arra gondoltam hogy szerver összeomláskor lehet hogy a mysql szerver azt képes érzékelni hogy megszakadt a kapcsolat így akik fent voltak játszani azoknak szerver induláskor valahogy korrigálni lehet az eltöltött idõt.
Ehhez persze menteni kell játékos csatlakozáskor mondjuk az users táblán hogy csatlakozott majd mikor indul a samp szerver azoknak javítani az eltöltött idõt majd törölni az online állapotukat az users táblán, ha ezt sikerül megoldani akkor maradhat lecsatlakozáskor az eltöltött idõ mentése és nem okoz gondot a szerver összeomláskor kiesett idõ.
Na majd ha unatkozok utána nézek ennek, de az se baj ha valaki elõ áll egy kipróbálható verzióval. :D

223
Segítségkérés / RemoveAttachedObjectFromVehicle?
« Dátum: 2013. Augusztus 07. - 12:08:48 »
Idézetet írta: anorennia date=1375803539\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40954\" data-ipsquote-contentclass=\"forums_Topic
Létrehoztunk egy objectet hozzá illesztettük a kocsihoz
Mi az objectet töröljük és nem a kocsiról, szóval logikus, ha újra létrehozod megint rajta lesz. :D
 
Kurvára nem logikus.
Én kipróbáltam hogy törlöm és újra létrehozom az objectet és nem marad rajt, lehet ti más sa-mp verziót használtok másra nem tudok gondolni.
 
new SzirenaObject[MAX_VEHICLES];
 
CMD:felrak(playerid, params[])
{
new
VID = GetPlayerVehicleID(playerid);
if(VID)
{
if(SzirenaObject[VID] != -1) DestroyObject(SzirenaObject[VID]);
SzirenaObject[VID] = SzirenaObject[VID] = CreateObject(18646, 0.0, 0.0, 0.0, 0, 0, 0);
AttachObjectToVehicle(SzirenaObject[VID], VID, 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
}
return 1;
}
CMD:levesz(playerid, params[])
{
new
VID = GetPlayerVehicleID(playerid);
if(VID)
{
DestroyObject(SzirenaObject[VID]);
SzirenaObject[VID] = -1;
new
   Float:vx,
   Float:vy,
   Float:vz;
GetVehiclePos(VID, vx, vy, vz);
SzirenaObject[VID] = CreateObject(18646, vx, vy, vz + 0.5, 0, 0, 0);
}
return 1;
}

224
Fórum Archívum (Témák/Fórumok) / Re:Jármû meghibásodás..
« Dátum: 2013. Augusztus 06. - 15:45:53 »
Idézetet írta: Packman date=1375795846\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41019\" data-ipsquote-contentclass=\"forums_Topic
Ebben mit nem lehet elolvasni?
Holnap ùjraírom
Hol talàltàl helyesíràsi hibàt?
 
Nézd meg rendes internetrõl az írásod (számítógépen), ne csak telefonról. :D

225
Segítségkérés / hp le!
« Dátum: 2013. Augusztus 06. - 15:44:55 »
@anorennia
Miért nem nézed meg azt a kódot amit írtam?
A HPTIMER_PLR[playerid] -el jelölt cella értékét egyre állítod majd ezt használod fel a lekérésénél:
GetPlayerHealth(HPTIMER_PLR szerinted mûködni fog?

Meg minek az 500 darab változó egy funkción belül mikor egyenként végig megy a játékosokon a for ciklus (new Float:HP[MAX_PLAYERS];) ?


Ui.:


Na jó nem idegesítem magam, ez volt az utolsó hozzászólásom ebben a témában.

Oldalak: 1 ... 13 14 [15] 16 17 ... 136
SimplePortal 2.3.7 © 2008-2024, SimplePortal