GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: KDDomi - 2011. április 08. - 17:08:20

Cím: Score Vétel
Írta: KDDomi - 2011. április 08. - 17:08:20
Hello Forumózok!
Irtam egy scriptet amivel pontot lehet venni pénzér és ha megvette akor leveszi a pénzét amenyibe került és ha nincs anyi pénze kiirja azt is. Dialogos
Tesztelve müködik!
Letöltési link:
http://data.hu/get/3702386/score.pwn
Várom a véleményeket! :D
Segitök:
Drake
Mambo
Zsolesz
Cím: Score Vétel
Írta: ChuckNorris - 2011. április 08. - 17:33:45
Rossz és pazarló <- Ha nagyon kritikus akarok lenni  :D
Viccet félretéve tényleg hibás,elõször is FSben main függvény régen rossz.
http://pastebin.com/N6DiMgTb
Nem teszteltem
Cím: Score Vétel
Írta: Mambo - 2011. április 08. - 17:38:17
Hol írtad meg? Drake. én, Zsolesz csinálta meg...
Cím: Score Vétel
Írta: ChuckNorris - 2011. április 08. - 17:54:18
Idézetet írta: Mambo date=1302277097\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7403\" data-ipsquote-contentclass=\"forums_Topic
Hol írtad meg? Drake. én, Zsolesz csinálta meg...
 
Zsolesszka csinálta meg 3X profibban.
KDDomi azt is ki kéne írd ki(k) segítettek....
Cím: Score Vétel
Írta: KDDomi - 2011. április 08. - 18:00:36
Idézetet írta: ChuckNorris date=1302276825\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7403\" data-ipsquote-contentclass=\"forums_Topic
Rossz és pazarló <- Ha nagyon kritikus akarok lenni  :D
Viccet félretéve tényleg hibás,elõször is FSben main függvény régen rossz.
http://pastebin.com/N6DiMgTb
Nem teszteltem
 
Ez nem müködik! nem ir ki semmit amikor megveszem
Föpost modositva!
Cím: Score Vétel
Írta: DrAkE - 2011. április 08. - 18:04:47
Már alapból rossz mivel akármelyikre mész akkor mindig csak +1-et ad hozzá a pontodhoz plusz ahogy látom még a pénzed se venné el.
E.:
Általam javított verzió:
http://pastebin.com/ZeQ2fBqD
Cím: Score Vétel
Írta: Zsolesszka - 2011. április 08. - 19:26:48
Valóban sokkal egyszerûbben meg lehet oldani íme megírtam én is egy változatot, és nem teszteltem bízok annyira magamban hogy mûködik gond nélkül, persze a túlzott mennyiségû használt filterscript esetében 99.9% az esély arra hogy a beírt parancs nem mûködik.
(ezért javaslom meglévõ gamemódba helyezni annak aki használni kívánja, egyetlen egy parancsért egy darab filterscript az túlzás)
Íme:
 

#include <a_samp>
#define DIALOG_SCORE   6678
public
OnFilterScriptInit()
{
print(\"Készítõ neve és funkciójának megfelelõ filterscript név.\");
return 1;
}
public
OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(\"/score\", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, DIALOG_SCORE, DIALOG_STYLE_LIST, \"Pont vétel:\",\"\\
1 pont [10000$]\\n\\
2 pont [20000$]\\n\\
3 pont [30000$]\\n\\
4 pont [40000$]\\n\\
5 pont [50000$]\\n\\
6 pont [60000$]\\n\\
7 pont [70000$]\\n\\
8 pont [80000$]\\n\\
9 pont [90000$]\\n\\
10 pont [100000$]\",
\"Megvesz\", \"Mégse\");
return 1;
}
return 0;
}
public
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_SCORE)
{
if(response)
{
   new
      price = 10000 * (listitem + 1), // tároljuk a price változóban azt hogy mennyibe kerül a kiválasztott score ez esetben szerencsénk van mivel 10 ezresenként növekszik az ára, így csak szorozni kell.
      str[64];
   if(GetPlayerMoney(playerid) < price) 
   {
      format(str, sizeof str, \"%d score pont megvételéhez  %d$ kell és neked nincs ennyi!\", (listitem + 1), price);
      SendClientMessage(playerid, 0x0000FFAA, str);
   } else {      
      SetPlayerScore(playerid, GetPlayerScore(playerid) + listitem + 1);
      GivePlayerMoney(playerid, -price);
      format(str, sizeof str, \"Vettél %d pontot magadnak. %d$ -ért\", listitem + 1, price);
      SendClientMessage(playerid, 0xFF0000FF, str);
   }
}
return 1;
}
return 0;
}

 
Természetesen ez esetben óriási szerencse hogy a score pontok ára 10 ezres nagyságrendekkel növekszik, így csak szorozni kell.
Viszont ez nem azt jelenti hogy csak így lehet megoldani mint látni lehet sokaknak más elképzelése van, csak egy ilyen egyszerû dolog esetében is.
Kicsit átláthatóbb formába próbáltam tenni, emellett minden meglévõ tulajdonságot megõrizni is, (kevés pénz esetében kiírni mennyibe kerül a kiválasztott score, tájékoztatni a játékost arról mit is vett meg és mennyiért) remélem sikerült.
Edit: jha igen és a biztató szavak, csak így tovább lesz ez még jobb is.  :D
Cím: Score Vétel
Írta: lusta19 - 2011. április 08. - 20:20:41
Mi értelme van olyan scriptet publikálni amit 85% -ban mások csináltak meg.?
Másik hogy nem is müködik :D