Ü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 ... 127 128 [129] 130 131 ... 136
1921
Segítségkérés / Almenü készítés HELP!
« Dátum: 2011. május 12. - 23:14:36 »
Újabb ShowMenuForPlayer függvényt.
És az általad közölt kódban miért van kettõ switch?
A switch utasítás kapcsolóként mûködik tehát a benne lekérdezett adat egy útelágazóhoz kerül amik a case utasítás után vannak meghatározva.
Írtam egy rögtönzött példát, íme:
 

switch(random(12))
{
    case 0: { print(\"switch utasításban kapott érték 0\"); }
    case 1: { print(\"switch utasításban kapott érték 1\"); }
    case 2..5: { print(\"switch utasításban kapott érték 2 vagy 3, 4, vagy 5\"); }
    case 6, 8: { print(\"switch utasításban kapott érték 6 vagy 8.\"); }
    default: { print(\"Minden olyan érték ami nincs meghatározva case utasítás után\"); }
}

1922
Oh igen mivel én tesztben írtam meg és mire eszembe jutott hogy át kéne írnom inputtext-ra a text-et már lekéstem, de mindegy inputtext esetében is ez a hiba.

1923
Teszteld.
Javítsd.
 :D
Én erre a sorra:
 

if(text[0] == \"sajtostészta\")

 
ezt a hibaüzenetet kapom:
 
error 033: array must be indexed (variable \"-unknown-\")[/quote]

1924
Segítségkérés / Mi lassít egy szervert?
« Dátum: 2011. május 11. - 21:16:45 »
Ezt a témát egyszer megvitattuk ChuckNorrissal katt ide az hogy te egyetlen egy str[128] használsz mindenhol az nem igazán nyerõ. A megfelelõ az hogy egy funkción belül használsz egy globális változót, fõleg azoknál amelyek igen csak igénybe vannak véve, gondolok itt OnPlayerText OnPlayerCommandText funkciókra, tehát a helyes megoldás:
 

new
    strcmd[128],
    strtext[128];
// Globál változók és mindegyiket külön külön használod egy adott funkción belül.
 
OnPlayerCommandText(..
{
  format(strcmd,..
}
OnPlayerText(..
{
    format(strtext, ...
}

 
Más.
Egy kérdés minek kell adatmentés rendszeres idõközönként?
Nem lenne elég csak akkor adatot menteni mikor egy esemény történik?
Pl.:
 
  • Ha lelõnek valakit akkor OnPlayerDeath alatt mentésre kerül az új kill és death score (pont).
  • Ha távozik a szerverrõl OnPlayerDisconnect mentünk mindent adatot amit kell.
  • Ha csatlakozik a szerverre OnPlayerConnect akkor csatlakozási idõpont mentés
  • Ha épp beírta és elküldte a jelszavát bejelentkezésnél akkor menteni valami adatot és még sorolhatnám.

 

Az én véleményem szerint felesleges az összes adatot újra menteni adott idõközönként.
És igen a rövid idõzítésû timerek alatt lényeges hogy mi szerepel. Itt az egy másodpercnél kisebb ismétlõdõ timerekre gondolok. (még hogy \"timerek\", mennyi angol szót veszünk már át magyarosítva?)
És igen, minek is használsz egy másodpercnél kisebb ismétlõdésû idõzítõket, szükség van rá tényleg?

1925
Segítségkérés / Fejfölötti írás fs-be
« Dátum: 2011. május 11. - 17:41:08 »
Nem kell hozzá túl sok minden a hiba abból adódik hogy innen csak kimásoltad és úgy próbáltad átfordítani amxbe.
Sajnos ezen a fórumon jelenleg használt pawn tagnek van egy kis gondja hogy a két szögletes zárójelet rosszul jelzi ki.
Ezt cseréld le
 

text[]
 
[/quote]
erre:
 

text[]

 
Meg ezt cseréld le
 

cmdtext[]
 
[/quote]
erre:
 

cmdtext[]

1926
Idézetet írta: kriszrap date=1304965739\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6852\" data-ipsquote-contentclass=\"forums_Topic
sajna nem jó!!:(
elmondom mit akarok van egy táblázat id nél 7 es van névnél kriszrap
 és ezt ki karom iratni hogyan segítsetek:(
 
Másold be ahogy eddig próbáltad és akkor arra kapsz választ mit rontottál el, úgy gyorsabban megérted mint azt hogy most ideírok egy rakás kódot.

1927
Beszélgetés / Szólánc
« Dátum: 2011. május 09. - 19:18:50 »
ikszdé --> évadzáró

1929
Segítségkérés / Egy kis segítség
« Dátum: 2011. május 09. - 17:35:04 »
Idézetet írta: Buba date=1304930977\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7990\" data-ipsquote-contentclass=\"forums_Topic
Aha, és akkor úgy csináljam hogy
[pawn]if(GetPVarInt(playerid,\"Vehicle\") == 565)
{
 SetPVarInt(playerid,\"RearBumper\",1150);
 SetPVarInt(playerid,\"FrontBumper\",1153);
}
[/pawn]
 
Mondjuk igen. A lényeg abban van ha egy adott állítás igaz akkor ha nem szeretnéd hogy utána több vizsgálat legyen az egyszeri meghívás alkalmával ott zárod return utasítással, ami vissza térést jelent természetesen de az adott funkcióban lévõ tovább futást leállítja.
És a másik hogy feleslegesen használsz ennyi PVar-t, és sok helyen sokkal egyszerûbben meg lehet oldani dolgokat például egy switch case párost többszörösen egybe ágyazva is lehet használni és szintén ebben a részben is igaz hogy a ShowPlayerDialog nem fog megjelenni egyszer sem ha a játékosnál a \"Vehicle\" PVar egyenlõ 558, 559, 560, 561, 562, 565-el.
 

switch(listitem)
{
case 0:
{
   if(GetPVarInt(playerid,\"Vehicle\") == 558) return SetPVarInt(playerid,\"Spoiler\",1164); // Uranus
   else if(GetPVarInt(playerid,\"Vehicle\") == 559) return SetPVarInt(playerid,\"Spoiler\",1159); // Jester
   else if(GetPVarInt(playerid,\"Vehicle\") == 560) return SetPVarInt(playerid,\"Spoiler\",1138); // Sultan
   else if(GetPVarInt(playerid,\"Vehicle\") == 561) return SetPVarInt(playerid,\"Spoiler\",1060); // Stratum
   else if(GetPVarInt(playerid,\"Vehicle\") == 562) return SetPVarInt(playerid,\"Spoiler\",1047); // Elegy
   else if(GetPVarInt(playerid,\"Vehicle\") == 565) return SetPVarInt(playerid,\"Spoiler\",1049); // Flash
   ShowPlayerDialog(playerid,DIALOG_BUMPER,DIALOG_STYLE_LIST,\"ArchAngelsVehicle lépés: 4\",\"Alien lökhárítók\\nX-Flow lökhárítók\",\"Kész\",\"Mégsem\");
}
case 1: { /* etc.. */ }
}

 
Én ezt a részt a következõképpen oldanám meg, ha marad ez a sok PVar dolog mivel én nem így írnám meg de nem ez a lényeg:
[pawn]
switch(listitem)
{
   case 0:
   {
      switch(GetPVarInt(playerid,\"Vehicle\"))
      {
         case 558: SetPVarInt(playerid,\"Spoiler\",1164); // Uranus
         case 559: SetPVarInt(playerid,\"Spoiler\",1159); // Jester
         case 560: SetPVarInt(playerid,\"Spoiler\",1138); // Sultan
         case 561: SetPVarInt(playerid,\"Spoiler\",1060); // Stratum
         case 562: SetPVarInt(playerid,\"Spoiler\",1047); // Elegy
         case 565: SetPVarInt(playerid,\"Spoiler\",1049); // Flash
      }
      ShowPlayerDialog(playerid,DIALOG_BUMPER,DIALOG_STYLE_LIST,\"ArchAngelsVehicle lépés: 4\",\"Alien lökhárítók\\nX-Flow lökhárítók\",\"Kész\",\"Mégsem\");
      return 1; // És csak ide tennék egy return utasítást mivel ha kiválasztom ezt a listitemet  ( case 0: )
      //Akkor az adott PVar értékhez ( \"Vehicle\" ) képest beállítok egy értéket  ( \"Spoiler\" )-re, és megjelenítek egy másik dialogot és további lefutás, ellenõrzés nem szükséges addig amíg nem választ valami mást a játékos tehát return 1;
   }
   case 1: { /* etc.. */ }
}
[/pawn]
Azt hiszem kicsit hosszúra sikeredett de remélem segíteni fog valamit.

1930
Segítségkérés / Simpa House System
« Dátum: 2011. május 09. - 16:59:46 »
Talán GameTextben a \\n helyett  ~n~ jelet használj, hátha jobb lesz.

1931
Segítségkérés / Egy kis segítség
« Dátum: 2011. május 07. - 20:43:58 »
Nem csoda hogy nem kerül meghívásra az általad írt \"stock AutoAd(playerid)\" funkció
ha a dialogban minden egyes esetben return utasítás szerepel.
 

else if(GetPVarInt(playerid,\"Vehicle\") == 565) return SetPVarInt(playerid,\"RearBumper\",1150), SetPVarInt(playerid,\"FrontBumper\",1153);

 
Azzal tisztában vagy hogy egy return utasítás befejezi az éppen futó folyamatot?
Össze dobtam hamar egy szemléltetõ kódot remélem így megérted.
 

public
OnFilterScriptInit()
{
new
t = 0;
if(0 == t) return print(\"Ezzel az utolsó utasítással végetér ez a funkció egyszeri meghívása.\");
print(\"Ez azaz üzenet, amit konzolban már nem fogsz látni\");
TesztFunction(\"Meghívott funkció ami nem kerül ténylegesen meghívásra egy feljebb lévõ return utasítás miatt.\");
return 1;
}
stock
TesztFunction(str[])
{
print(str);
}

1932
Segítségkérés / Idõjárás id
« Dátum: 2011. május 05. - 19:58:09 »
Én se tudom pontosan de egy ötlet amelyik szerveren készítetted a képet még mindig ez az idõjárás van?
Mert ha igen, a samp kliens mutatja weather címszó után jobb alsó sarokban.

1933
Segítségkérés / hiba az auto üzenetbe
« Dátum: 2011. május 04. - 23:58:20 »
Ne keverd össze a kapcsos zárójelet a sima zárójelekkel.
 
Idézetet írta: DareDevil date=1304538102\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7946\" data-ipsquote-contentclass=\"forums_Topic
Sziasztok!
Csináltam a módba még penge segitségével egy scriptet. Autó üzenetet küldene.
[pawn]
forward AutoMessage();
public AutoMessage()
{
switch(counter)
{
case 0:{SendClientMessageToAll(0xFF6347AA,\"A szerver szabályzatának betartása kötelezõ[itt elolvashatod: /rules]\"); counter++;}
case 1:{SendClientMessageToAll(0xFF6347AA,\"A szerveren lévõ parancsokért ird be /help\"); counter++;}
case 2:{SendClientMessageToAll(0xFF6347AA,\"A szerveren lévõ adminokért ird be /admins\"); counter++;}
case 3:{SendClientMessageToAll{0xff6347aa,\"A szerver honlapja:http://darknightszerver.mindenkilapja.hu\"); counter++;}
case 4:{SendClientMessageToAll{0xff6347aa,\"A szerveren folyamatos ujitás folyik\"); counter++;}
case 5:{SendClientMessageToAll(0xFF6347AA,\"Admin tgf érdekel? ird be /tgf\"); counter=0;}
}
}
[/pawn]
és hibát ir rá
D:\\cool2.pwn(3613) : error 028: invalid subscript (not an array or too many subscripts): \"SendClientMessageToAll\"
D:\\cool2.pwn(3613) : warning 215: expression has no effect
D:\\cool2.pwn(3613) : warning 215: expression has no effect
D:\\cool2.pwn(3613) : error 001: expected token: \";\", but found \")\"
D:\\cool2.pwn(3613) : error 029: invalid expression, assumed zero
D:\\cool2.pwn(3613) : fatal error 107: too many error messages on one line
case 3 az adott sor
 
Hiba:
 
   case 3:{SendClientMessageToAll{0xff6347aa,\"A szerver honlapja:http://darknightszerver.mindenkilapja.hu\"); counter++;}
case 4:{SendClientMessageToAll{0xff6347aa,\"A szerveren folyamatos ujitás folyik\"); counter++;}
[/quote]
A két pirosan kiemelt jelet írd át sima ( zárójellé.

1934
Kriszrap ha leírnád hogy te épp milyen adatot akarsz lekérdezni akkor könnyebb lenne példát írni rá, és te is könnyebben megértenéd.
Egyébként nagyon egyszerû mert SELECT utasítás után nem * ot írsz hanem azokat a kifejezéseket amelyikre  neked szükséged van.
 

mysql_query(\"SELECT `Name`, `Kills`, `Deaths` FROM `users`\");

1935
Segítségkérés / 1 Probléma
« Dátum: 2011. április 30. - 19:53:27 »
Vicces le is kéne zárni a vizsgálatokat vagy else if utasításként kellene megvizsgálni a többit.
A hiba abból adódik hogy nincs lezárás egyetlen egy feltétel vizsgálat után:
[pawn]
if(GetPVarInt(playerid,\"CP\") == 1)
{
    SetPVarInt(playerid,\"CP\",2);
}
if(GetPVarInt(playerid,\"CP\") == 2)
{
    SetPVarInt(playerid,\"CP\",3);
}
[/pawn]
Az elsõ feltétel PVar \"CP\" = 1-el akkor beállításra kerül 2-es re az érték és már jön is a következõ ahol természetesen igaz hogy PVar \"CP\" = 2-vel, és beállításra kerül a 3-as érték és így tovább. És ez lezárások nélkül szépen le is fut egymás után egy pillanat alatt.
Két helyes megoldás:
[pawn]
[pawn]
if(GetPVarInt(playerid,\"CP\") == 1)
{
    SetPVarInt(playerid,\"CP\",2);
}
else if(GetPVarInt(playerid,\"CP\") == 2)
{
    SetPVarInt(playerid,\"CP\",3);
}
[/pawn]
vagy
[pawn]
[pawn]
if(GetPVarInt(playerid,\"CP\") == 1)
{
    SetPVarInt(playerid,\"CP\",2);
    return 1;         
}
if(GetPVarInt(playerid,\"CP\") == 2)
{
    SetPVarInt(playerid,\"CP\",3);
    return 1;
}
[/pawn]
Természetesen ennél van sokkal ésszerûbb megoldás csak a hiba miatt írtam ezeket a példákat.

Oldalak: 1 ... 127 128 [129] 130 131 ... 136
SimplePortal 2.3.7 © 2008-2026, SimplePortal