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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: sticky2 - 2012. november 08. - 07:26:35

Cím: Bolt Dialog
Írta: sticky2 - 2012. november 08. - 07:26:35
Sziasztok!
Valamiért mindig errort ír ki,a SetPlayerHealth-nál. Valaki meg tudná mondani hol a hiba? Elõre is nagyon szépen köszönöm! =)
Error:
 
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(67) : error 017: undefined symbol \"DIALOG_FEGYO\"
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(69) : warning 217: loose indentation
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(70) : warning 217: loose indentation
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(75) : warning 202: number of arguments does not match definition
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : error 029: invalid expression, assumed zero
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : warning 215: expression has no effect
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : error 001: expected token: \";\", but found \")\"
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : error 029: invalid expression, assumed zero
C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
5 Errors.

 
Script:
 
CMD:vasarlas(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_BOLT, DIALOG_STYLE_LIST, \"Vásárlás\", \"Szendvics ($600)\\nHamburger ($600)\\nAlma ($300)\\nKaralábé ($500)\\nStrawberry Minis ($1000)\\nSnikers ($300)\", \"Megveszem\", \"Kilép\");//én a DIALOG_STYLE_LIST-t használtam
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_BOLT)
        {
            if(response)
            {
                if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
                {
                        SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Szendvicset\");//üzenetet küld
                        GivePlayerMoney(playerid, -600);
                        SetPlayerHealth(playerid, +30);
                }
                if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
                {
                        SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Hamburgert\");//üzenetet küld
                        GivePlayerMoney(playerid, -600);
                        SetPlayerHealth(playerid, +36);
                }
                if(listitem == 2) //ha rákattintasz az 2. gombra mi történjen....
                {
                        SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Almát\");//üzenetet küld
                        GivePlayerMoney(playerid, -300);
                        SetPlayerHealth(playerid, +15);
                }
                if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
                {
                        SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy karalábét\");//üzenetet küld
                        GivePlayerMoney(playerid, -500);
                        SetPlayerHealth(playerid, +50);
                }
                if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
                {
                        SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Strawberry Minist\");//üzenetet küld
                        GivePlayerMoney(playerid, -1000);
                        SetPlayerHealth(playerid, +60);t
                }
                if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
                {
                        SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Snikerst\");//üzenetet küld
                        GivePlayerMoney(playerid, -300);
                        SetPlayerHealth(playerid, +26);
                }
        }
        }
else   SendClientMessage(playerid, 0x400000FF, \"Kiléptél\");
        }
}
return 1;
}
Cím: Bolt Dialog
Írta: Kovacs_Richard - 2012. november 08. - 08:20:23
    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(67) : error 017: undefined symbol \"DIALOG_FEGYO\"[/quote]
 
#define DIALOG_FEGYO (6152) // olyan számot írj amilyen dialog id még nincs

 

    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(69) : warning 217: loose indentation
    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(70) : warning 217: loose indentation
[/quote]
vagy rendesen TAB-olsz vagy:
 
#pragma tabsize 0

 

    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(75) : warning 202: number of arguments does not match definition

 
másold be a 75. sort
de a hiba az hogy túl sok vagy túl kevés paramétert adtál be a függvénynek
elmagyarázom SetPlayerHealth-es példával:
alapból 2 érték kell neki: playerid,health
 
SetPlayerHealth(playerid,100.0); // megfelelõ számú paraméter
SetPlayerHealth(playerid); // kevés
SetPlayerHealth(playerid,100.0,10.0); // sok

 

    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : error 029: invalid expression, assumed zero
    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : warning 215: expression has no effect
    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : error 001: expected token: \";\", but found \")\"
    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : error 029: invalid expression, assumed zero
    C:\\DOCUME~1\\Viktor\\Asztal\\JMAPPA~1\\FILTER~1\\rendor.pwn(161) : fatal error 107: too many error messages on one line
[/quote]
 
SetPlayerHealth(playerid, +30);

 
itt ne rakj + jelet az élet elé !
 
SetPlayerHealth(playerid, 30);
Cím: Bolt Dialog
Írta: justrics - 2012. november 08. - 08:33:37
Pont most akartam válaszolni de megelõztek. :)
Mindegy mellékelem a kódot kijavítottam neked, hogy lásd, hogy akkor, hogyan is vannak az elõbb említett javítások, tabolások.
Plusz még egy infó az egész ondialog responset return 0;-val zárd ha nem úgy van! Mert itt nem úgy volt. :)
 
#define DIALOG_BOLT (0)
CMD:vasarlas(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_BOLT, DIALOG_STYLE_LIST, \"Vásárlás\", \"Szendvics ($600)\\nHamburger ($600)\\nAlma ($300)\\nKaralábé ($500)\\nStrawberry Minis ($1000)\\nSnikers ($300)\", \"Megveszem\", \"Kilép\");//én a DIALOG_STYLE_LIST-t használtam
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_BOLT)
{
if(response)
{
   if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
      {
         SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Szendvicset\");//üzenetet küld
         GivePlayerMoney(playerid, -600);
         SetPlayerHealth(playerid, 30);
      }
   if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
      {
         SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Hamburgert\");//üzenetet küld
         GivePlayerMoney(playerid, -600);
         SetPlayerHealth(playerid, 36);
      }
   if(listitem == 2) //ha rákattintasz az 2. gombra mi történjen....
      {
         SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Almát\");//üzenetet küld
         GivePlayerMoney(playerid, -300);
         SetPlayerHealth(playerid, 15);
      }
   if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
      {
         SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy karalábét\");//üzenetet küld
         GivePlayerMoney(playerid, -500);
         SetPlayerHealth(playerid, 50);
      }
   if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
      {
         SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Strawberry Minist\");//üzenetet küld
         GivePlayerMoney(playerid, -1000);
         SetPlayerHealth(playerid, 60);
      }
   if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
      {
         SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Snikerst\");//üzenetet küld
         GivePlayerMoney(playerid, -300);
         SetPlayerHealth(playerid, 26);
      }
}
else   SendClientMessage(playerid, 0x400000FF, \"Kiléptél\");
return 1;
}
return 0;
}
Cím: Bolt Dialog
Írta: Kovacs_Richard - 2012. november 08. - 08:47:44
Idézetet írta: justrics date=1352360017\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29611\" data-ipsquote-contentclass=\"forums_Topic
Pont most akartam válaszolni de megelõztek. :)
 
ez azért van mert öregszel :D tudod korral jár a lassulás :P:D
 

Plusz még egy infó az egész ondialog responset return 0;-val zárd ha nem úgy van! Mert itt nem úgy volt. :)
 
[/quote]
azt csak scriptben kell, ha módban van akkor return 1; kell a végére :)
Cím: Bolt Dialog
Írta: justrics - 2012. november 08. - 10:51:06
Hát ez van lelassulok mint egy lajhár. :D
Cím: Bolt Dialog
Írta: sticky2 - 2012. november 08. - 14:07:31
De nem fogja akkor úgy csinálni, hogy csak beállítja 30 HP-ra,nem pedig ad hozzá 30-at?
Cím: Bolt Dialog
Írta: Kovacs_Richard - 2012. november 08. - 14:12:13
public GivePlayerHealth(playerid,Float:Health)
{
    new Float:HP; GetPlayerHealth(playerid,HP); SetPlayerHealth(playerid,(HP+Health));
    return 1;
}
Cím: Bolt Dialog
Írta: sticky2 - 2012. november 08. - 14:14:32
és ezt hova? :D
Cím: Bolt Dialog
Írta: Kovacs_Richard - 2012. november 08. - 14:26:29
a SetPlayerHealth helyett GivePlayerHealth kell
ezt meg be kell másolnod a módodba / fs-edbe vagy valamelyik includeba...
és neked így is megfelel ( nem public-al ):
 
stock GivePlayerHealth(playerid,Float:Health)
{
    new Float:HP; GetPlayerHealth(playerid,HP); SetPlayerHealth(playerid,(HP+Health));
    return 1;
}
Cím: Bolt Dialog
Írta: sticky2 - 2012. november 08. - 14:31:30
köszönöm! :)