Szerző Téma: Fishing Help  (Megtekintve 917 alkalommal)

Fishing Help
« Dátum: 2014. Április 05. - 20:54:20 »
0
Hi
Nekem az lenne a problémám, hogy ha valaki halászik a szerveren és még van fent valaki akkor a pénzt nem az kapja aki halászik hanem az amelyik nem tehát vannak a szerveren mondjúk 2-en és X halászik akkor Y kapja a pénzt nem az aki halászik
Itt a script is nem tom mi lehet benne a hiba
 
new horgaszbot[MAX_PLAYERS];
new horgasztimer;
new RodObject;
CMD:fishing ( playerid, params[ ] )
{
if(!IsPlayerInRangeOfPoint(playerid, 100.0,2044.8909,-149.1644,1.3744 )) return SendClientMessage(playerid,COLOR_WARNING, \"Nem vagy a megadott helyen: /fishinghelp\" );
if(horgaszbot[playerid]== -1)return SendClientMessage(playerid,COLOR_WARNING,\"Nincs horgaszbotod vagyél egyet /bolt\");
{
GameTextForPlayer( playerid, \"~b~~r~~g~Fishing\", 3000, 3);
horgasztimer = SetTimerEx(\"horgaszas\", 30000, true, \"u\", playerid);
horgaszbot[ playerid ] = 0;
TogglePlayerControllable(playerid,0);
ApplyAnimation(playerid,\"SWORD\",\"sword_block\",50.0,0,1,0,1,1);
}
return 1;
}
CMD:exitfishing(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 100.0,2044.8909,-149.1644,1.3744 )) return SendClientMessage(playerid,COLOR_WARNING, \"Nem Horgászol\" );
KillTimer(horgasztimer);
TogglePlayerControllable(playerid,1);
RemovePlayerAttachedObject(playerid,0);
RemovePlayerAttachedObject(playerid,RodObject);
ApplyAnimation(playerid, \"CARRY\", \"crry_prtial\", 2.0, 0, 0, 0, 0, 0);
horgaszbot[ playerid ] = -1;
SendClientMessage(playerid,COLOR_WARNING,\"Kiléptél a horgászásból\");
return 1;
}
public horgaszas (playerid)
{
switch(random(10))
{
        case 0:
                ShowPlayerDialog(playerid, 6741, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 210 KG-s Tigriscápát Ára: 18000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,18000);
        case 1:
                ShowPlayerDialog(playerid, 6742, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 250 KG-s Pontyot Ára: 20000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,20000);
        case 2:
                ShowPlayerDialog(playerid, 6743, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 200 KG-s Fehér Cápát Ára: 21000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,21000);
case 3:
                ShowPlayerDialog(playerid, 6744, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 250 KG-s Tigriscápát Ára: 20000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,20000);
        case 4:
                ShowPlayerDialog(playerid, 6745, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 300 KG-s Fehér Cápát Ára: 25000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,25000);
        case 5:
                ShowPlayerDialog(playerid, 6746, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 150 KG-s Murénát Ára: 15000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,11000);
        case 6:
                ShowPlayerDialog(playerid, 6747, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 100 KG-s Tonhalat Ára: 13000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,13000);
case 7:
                ShowPlayerDialog(playerid, 6748, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 65 KG-s Tonhalat Ára: 9000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,9000);
        case 8:
                ShowPlayerDialog(playerid, 6749, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 50 KG-s Murénát Ára: 8000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,8000);
        case 9:
                ShowPlayerDialog(playerid, 6750, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 40 KG-s Pontyot Ára: 6000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,6000);
        case 10:
                ShowPlayerDialog(playerid, 6751, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 30 KG-s Harcsát Ára: 5000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,5000);
}
KillTimer(horgasztimer);
TogglePlayerControllable(playerid,1);
ApplyAnimation(playerid, \"CARRY\", \"crry_prtial\", 2.0, 0, 0, 0, 0, 0);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
}
    if(dialogid ==dialog_bolt)
    {
        if(response)
        {
        if( listitem==0)
    {
    horgaszbot[playerid] = 0 ;
    RodObject = SetPlayerAttachedObject(playerid, 0,18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
    GivePlayerMoney(playerid,-1000);
SendClientMessage(playerid,-1,\"{00ff00}Vásároltál egy horgászbotot\");
    }
    }
    }
    return 0;

 
Nem [ pwn = code ] [ / pwn ], hanem [ code = pawn ] [ / code ]. Javítottam!
« Utoljára szerkesztve: 2014. Április 06. - 11:53:13 írta Andorko »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #1 Dátum: 2014. Április 05. - 21:10:57 »
0
[mod]Ez saját mód? Ha nem, melyik?[/mod]


Mivel bõven elég neked a játékos ID-je, ezért próbáld meg d, vagy i paraméterrel.
 
SetTimerEx(\"horgaszas\", 30000, true, \"d\", playerid);

 
vagy
 
SetTimerEx(\"horgaszas\", 30000, true, \"i\", playerid);

Fishing Help
« Válasz #2 Dátum: 2014. Április 05. - 21:58:26 »
0
Mind a 2-õt probáltam de nem jó ugyan úgy van

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #3 Dátum: 2014. Április 05. - 22:16:24 »
0
[mod]Kérdeztem valamit![/mod]


Amúgy a timer változóján is legyen egy playerid-s tömb, ,ert így minden játékos számára leáll a timer, nem csak annak, akinek le kell, hogy álljon.

Fishing Help
« Válasz #4 Dátum: 2014. Április 05. - 23:14:09 »
0
Ez nem saját itt találtam a fórumon ezt a scriptet csak átalakitottam
És a másik felét nem értem
\"Amúgy a timer változóján is legyen egy playerid-s tömb\"

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #5 Dátum: 2014. Április 05. - 23:18:28 »
0
Ha így használod:
 
horgasztimer = SetTimerEx(\"horgaszas\", 30000, true, \"u\", playerid);

 
Akkor csak 1, azaz egy darab timerrõl van szó. Így a KillTimernél minden játékos számára megáll a timer. Annak is, akinek nem kéne. Így viszont már minden játékos kap külön, saját timert:
 
horgasztimer[playerid] = SetTimerEx(\"horgaszas\", 30000, true, \"u\", playerid);

 
Mivel ugye rácsatolsz egy tömböt, melynek értéke mindig más, a playerid lesz. És így már minden játékosnak létre lesz hozva egy-egy timer.

Fishing Help
« Válasz #6 Dátum: 2014. Április 06. - 00:47:09 »
0
Hibát ad ki
 
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : error 028: invalid subscript (not an array or too many subscripts): \"horgasztimer\"
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : warning 215: expression has no effect
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : error 001: expected token: \";\", but found \"]\"
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : error 029: invalid expression, assumed zero
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : fatal error 107: too many error messages on one linep

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #7 Dátum: 2014. Április 06. - 01:20:16 »
0
Bocsi, elfelejtettem, hogy kezdõ vagy.
A változó létrehozásakor:
 
new horgasztimer[MAX_PLAYERS] // Vagy ha van saját max playersu definiálosd, azt írd be, vagy a slotok számát kézzel, számmal

 
A KillTimerbe pedig:
 
KillTimer(horgasztimer[playerid]);

Fishing Help
« Válasz #8 Dátum: 2014. Április 05. - 20:54:20 »
0
Hi
Nekem az lenne a problémám, hogy ha valaki halászik a szerveren és még van fent valaki akkor a pénzt nem az kapja aki halászik hanem az amelyik nem tehát vannak a szerveren mondjúk 2-en és X halászik akkor Y kapja a pénzt nem az aki halászik
Itt a script is nem tom mi lehet benne a hiba
 
new horgaszbot[MAX_PLAYERS];
new horgasztimer;
new RodObject;
CMD:fishing ( playerid, params[ ] )
{
if(!IsPlayerInRangeOfPoint(playerid, 100.0,2044.8909,-149.1644,1.3744 )) return SendClientMessage(playerid,COLOR_WARNING, \"Nem vagy a megadott helyen: /fishinghelp\" );
if(horgaszbot[playerid]== -1)return SendClientMessage(playerid,COLOR_WARNING,\"Nincs horgaszbotod vagyél egyet /bolt\");
{
GameTextForPlayer( playerid, \"~b~~r~~g~Fishing\", 3000, 3);
horgasztimer = SetTimerEx(\"horgaszas\", 30000, true, \"u\", playerid);
horgaszbot[ playerid ] = 0;
TogglePlayerControllable(playerid,0);
ApplyAnimation(playerid,\"SWORD\",\"sword_block\",50.0,0,1,0,1,1);
}
return 1;
}
CMD:exitfishing(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 100.0,2044.8909,-149.1644,1.3744 )) return SendClientMessage(playerid,COLOR_WARNING, \"Nem Horgászol\" );
KillTimer(horgasztimer);
TogglePlayerControllable(playerid,1);
RemovePlayerAttachedObject(playerid,0);
RemovePlayerAttachedObject(playerid,RodObject);
ApplyAnimation(playerid, \"CARRY\", \"crry_prtial\", 2.0, 0, 0, 0, 0, 0);
horgaszbot[ playerid ] = -1;
SendClientMessage(playerid,COLOR_WARNING,\"Kiléptél a horgászásból\");
return 1;
}
public horgaszas (playerid)
{
switch(random(10))
{
        case 0:
                ShowPlayerDialog(playerid, 6741, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 210 KG-s Tigriscápát Ára: 18000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,18000);
        case 1:
                ShowPlayerDialog(playerid, 6742, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 250 KG-s Pontyot Ára: 20000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,20000);
        case 2:
                ShowPlayerDialog(playerid, 6743, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 200 KG-s Fehér Cápát Ára: 21000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,21000);
case 3:
                ShowPlayerDialog(playerid, 6744, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 250 KG-s Tigriscápát Ára: 20000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,20000);
        case 4:
                ShowPlayerDialog(playerid, 6745, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 300 KG-s Fehér Cápát Ára: 25000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,25000);
        case 5:
                ShowPlayerDialog(playerid, 6746, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 150 KG-s Murénát Ára: 15000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,11000);
        case 6:
                ShowPlayerDialog(playerid, 6747, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 100 KG-s Tonhalat Ára: 13000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,13000);
case 7:
                ShowPlayerDialog(playerid, 6748, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 65 KG-s Tonhalat Ára: 9000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,9000);
        case 8:
                ShowPlayerDialog(playerid, 6749, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 50 KG-s Murénát Ára: 8000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,8000);
        case 9:
                ShowPlayerDialog(playerid, 6750, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 40 KG-s Pontyot Ára: 6000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,6000);
        case 10:
                ShowPlayerDialog(playerid, 6751, DIALOG_STYLE_MSGBOX,\"Fishing\",\"Kifogtál egy 30 KG-s Harcsát Ára: 5000$\",\"OK\",\"\") > 0 && GivePlayerMoney(playerid,5000);
}
KillTimer(horgasztimer);
TogglePlayerControllable(playerid,1);
ApplyAnimation(playerid, \"CARRY\", \"crry_prtial\", 2.0, 0, 0, 0, 0, 0);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
}
    if(dialogid ==dialog_bolt)
    {
        if(response)
        {
        if( listitem==0)
    {
    horgaszbot[playerid] = 0 ;
    RodObject = SetPlayerAttachedObject(playerid, 0,18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
    GivePlayerMoney(playerid,-1000);
SendClientMessage(playerid,-1,\"{00ff00}Vásároltál egy horgászbotot\");
    }
    }
    }
    return 0;

 
Nem [ pwn = code ] [ / pwn ], hanem [ code = pawn ] [ / code ]. Javítottam!
« Utoljára szerkesztve: 2014. Április 06. - 11:53:13 írta Andorko »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #9 Dátum: 2014. Április 05. - 21:10:57 »
0
[mod]Ez saját mód? Ha nem, melyik?[/mod]


Mivel bõven elég neked a játékos ID-je, ezért próbáld meg d, vagy i paraméterrel.
 
SetTimerEx(\"horgaszas\", 30000, true, \"d\", playerid);

 
vagy
 
SetTimerEx(\"horgaszas\", 30000, true, \"i\", playerid);

Fishing Help
« Válasz #10 Dátum: 2014. Április 05. - 21:58:26 »
0
Mind a 2-õt probáltam de nem jó ugyan úgy van

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #11 Dátum: 2014. Április 05. - 22:16:24 »
0
[mod]Kérdeztem valamit![/mod]


Amúgy a timer változóján is legyen egy playerid-s tömb, ,ert így minden játékos számára leáll a timer, nem csak annak, akinek le kell, hogy álljon.

Fishing Help
« Válasz #12 Dátum: 2014. Április 05. - 23:14:09 »
0
Ez nem saját itt találtam a fórumon ezt a scriptet csak átalakitottam
És a másik felét nem értem
\"Amúgy a timer változóján is legyen egy playerid-s tömb\"

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fishing Help
« Válasz #13 Dátum: 2014. Április 05. - 23:18:28 »
0
Ha így használod:
 
horgasztimer = SetTimerEx(\"horgaszas\", 30000, true, \"u\", playerid);

 
Akkor csak 1, azaz egy darab timerrõl van szó. Így a KillTimernél minden játékos számára megáll a timer. Annak is, akinek nem kéne. Így viszont már minden játékos kap külön, saját timert:
 
horgasztimer[playerid] = SetTimerEx(\"horgaszas\", 30000, true, \"u\", playerid);

 
Mivel ugye rácsatolsz egy tömböt, melynek értéke mindig más, a playerid lesz. És így már minden játékosnak létre lesz hozva egy-egy timer.

Fishing Help
« Válasz #14 Dátum: 2014. Április 06. - 00:47:09 »
0
Hibát ad ki
 
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : error 028: invalid subscript (not an array or too many subscripts): \"horgasztimer\"
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : warning 215: expression has no effect
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : error 001: expected token: \";\", but found \"]\"
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : error 029: invalid expression, assumed zero
D:\\Programok\\DSPS Szerver\\gamemodes\\Hybryd.pwn(3944) : fatal error 107: too many error messages on one linep

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal