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: GeGe88 - 2009. november 24. - 17:45:49

Cím: pénz 0 alá megy->börtön
Írta: GeGe88 - 2009. november 24. - 17:45:49
Üdv. azt szeretném megoldani hogy ha pl -1000$ van akkor berakjon börtönbe 5percre. ezt h lehet megoldani? kösz elore is. GeGe
Cím: pénz 0 alá megy->börtön
Írta: MagnetiK - 2009. november 25. - 07:10:16
Multiban asszem nem mehet 0 alá a pénz :D
De ha igen, akkor
 
if(GetPlayerMoney(playerid) < 0 )
{
//Ide, hogy hol van a börtön, vagy stbstb...
}
Cím: pénz 0 alá megy->börtön
Írta: Gergo1352 - 2009. november 25. - 07:26:45
Mehet minden gond nélkül.
Cím: pénz 0 alá megy->börtön
Írta: GeGe88 - 2009. november 25. - 15:56:35
MagnetiK mehet 0 alá a pénz de azt én is tudtam hogy az if(GetPlayerMoney(playerid) < 0 )-al kell csak at nem hogy hova/hogy tegye az LS börtönbe.
Cím: pénz 0 alá megy->börtön
Írta: Gergo1352 - 2009. november 25. - 16:43:08
http://wiki.sa-mp.com/wiki/SetPlayerPos
Cím: pénz 0 alá megy->börtön
Írta: bitshoot - 2009. november 25. - 17:04:04
Összedobtam egy gyors \"scriptet\".
Indetációt valamiért szétszedi...
Ha rossz szóljatok!
Én készitettem:
 

//----------------------------------------------------------
//
// SCRIPT by BItS
//
//----------------------------------------------------------
new string[128];
//----------------------------------------------------------
#include <a_samp>
#define SZIN_PIROS 0xAA3333AA
//----------------------------------------------------------
forward berak(playerid);
//----------------------------------------------------------
new pName[MAX_PLAYER_NAME];//defináljuk
//----------------------------------------------------------
main()
{
print(\"\\n---------------------------------------\");
print(\"Jail script betoltve by BiTs\\n\");
print(\"---------------------------------------\\n\");
}
//----------------------------------------------------------
public berak(playerid)
{
        // berakja ha kevesebb mint nulla,de ha több nem!
        if(GetPlayerMoney(playerid) < 0 )
        {
        SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
        GetPlayerName(playerid, pName, sizeof(pName)); // név
    format(string, sizeof(string), \"%s börtönbe lett zárva a kevés pénze miatt!\", pName);
    SendClientMessageToAll(SZIN_PIROS, string);
        return 0;
        }
}
Cím: pénz 0 alá megy->börtön
Írta: GeGe88 - 2009. november 25. - 17:12:26
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(1) : error 010: invalid function or declaration
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(35) : warning 217: loose indentation
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(35) : error 017: undefined symbol \"string\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(35) : error 017: undefined symbol \"string\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(35) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(35) : fatal error 107: too many error messages on one line
Cím: pénz 0 alá megy->börtön
Írta: bitshoot - 2009. november 25. - 17:19:11
Kihagytam a string[128];-at!
Kösz,hogy szólsz!
Helyesen:
 
//----------------------------------------------------------
//
// SCRIPT by BItS
//
//----------------------------------------------------------
#include <a_samp>
//-----------------------------------------------------------
new string[128];
//----------------------------------------------------------
forward berak(playerid);
//----------------------------------------------------------
new pName[MAX_PLAYER_NAME];//defináljuk
//----------------------------------------------------------
main()
{
print(\"\\n---------------------------------------\");
print(\"Jail script betoltve by BiTs\\n\");
print(\"---------------------------------------\\n\");
}
//----------------------------------------------------------
public berak(playerid)
{
   
        // berakja ha kevesebb mint nulla,de ha több nem!
        if(GetPlayerMoney(playerid) < 0 )
        {
        SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
        GetPlayerName(playerid, pName, sizeof(pName)); // név
format(string, sizeof(string), \"%s börtönbe lett zárva a kevés pénze miatt!\", pName);
SendClientMessageToAll(SZIN_PIROS, string);
        return 1;
        }
return 0;
}
Cím: pénz 0 alá megy->börtön
Írta: GeGe88 - 2009. november 25. - 17:33:32
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(15) : error 017: undefined symbol \"MAX_PLAYER_NAME\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(15) : error 009: invalid array size (negative, zero or out of bounds)
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(20) : error 017: undefined symbol \"print\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(21) : error 017: undefined symbol \"print\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(22) : error 017: undefined symbol \"print\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(30) : error 017: undefined symbol \"GetPlayerMoney\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(32) : error 017: undefined symbol \"SetPlayerPos\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(33) : error 017: undefined symbol \"GetPlayerName\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(33) : warning 224: indeterminate array size in \"sizeof\" expression (symbol \"\")
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(33) : warning 202: number of arguments does not match definition
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(34) : error 017: undefined symbol \"format\"
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(34) : warning 202: number of arguments does not match definition
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(34) : warning 202: number of arguments does not match definition
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(34) : warning 202: number of arguments does not match definition
C:\\Documents and Settings\\User\\Asztal\\borton.pwn(35) : error 017: undefined symbol \"SendClientMessageToAll\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
10 Errors.
Cím: pénz 0 alá megy->börtön
Írta: bitshoot - 2009. november 25. - 17:51:10
Szerkesztve!
Ma nemtudom mivan velem.
Javitva az elozo posztomban.
Cím: pénz 0 alá megy->börtön
Írta: jana4 - 2009. november 25. - 18:52:27
Egy kis segítség:
 
==  - egyenlo
<= ill.: =<  - kisebb, vagy egyenlo mint az X szám
=> ill.: >=  - nagyobb, vagy egyenlo mint az X szám
<   - kisebb, mint X
>   - több, mint X
!=  - nem egyenlo X számmal

 
Ha hibásak akkor nézz utána.  ;D Csakmert én így tudom ezeket.
Cím: pénz 0 alá megy->börtön
Írta: md12 - 2009. november 25. - 19:40:38
tess:
 
#include <a_samp>
#define sarga 0xFFFF00AA
forward berak(playerid);
public berak(playerid)
{
if(GetPlayerMoney(playerid) < 0 )
{
    new string[128];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
        SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
format(string, sizeof(string), \"%s börtönbe lett zárva a kevés pénze miatt!\", pName);
SendClientMessageToAll(sarga, string);
      }
      return 1;
}
public OnFilterScriptInit()
{
print(\"betotve\");
return 1;
}
Cím: pénz 0 alá megy->börtön
Írta: ZeRo - 2009. november 25. - 19:52:16
Mindegyikben van egy közös hiba: A függvényt létrehozzátok, de nem indítotok idozítot. Így nem fog lefutni, szóval helytelen.
ZeRo
Cím: pénz 0 alá megy->börtön
Írta: MagnetiK - 2009. november 25. - 19:54:28
nem sok értelme van, mert ha berakja, ki tud jönni :D
Cím: pénz 0 alá megy->börtön
Írta: GroX - 2009. november 25. - 19:55:44
#include <a_samp>
#define sarga 0xFFFF00AA
new Timer;
forward berak(playerid);
public berak(playerid)
{
if(GetPlayerMoney(playerid) < 0 )
{
    new string[128];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
        SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
    format(string, sizeof(string), \"%s börtönbe lett zárva a kevés pénze miatt!\", pName);
    SendClientMessageToAll(sarga, string);
      }
      return 1;
}
public OnFilterScriptInit()
{
print(\"betotve\");
    Timer = SetTimer(\"berak\",800,1);
return 1;
}
public OnFilterScriptExit()
{
       KillTimer(Timer);
       return 1;
}

 
Szerintem így jó lesz  :-*
Bocs az indentációért de ez a kód húzza el  ::)
Cím: pénz 0 alá megy->börtön
Írta: MagnetiK - 2009. november 25. - 20:03:39
#include <a_samp>
new MoneyJail[MAX_PLAYERS];
new BerakTimer;
#define sarga    0xFFFF00AA
#define red    0xE50000AA
forward Berak(playerid);
public OnFilterScriptInit()
{
BerakTimer = SetTimer(\"Berak\", 200, 1);
return 1;
}
public OnFilterScriptExit()
{
KillTimer(BerakTimer);
return 1;
}
public Berak(playerid)
{
if(GetPlayerMoney(playerid) < 0)
{
    new string[128];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
        SetPlayerPos(playerid,197.6661,173.8179,1003.0234);
SetPlayerInterior(playerid,3);
        MoneyJail[playerid] = 1;
format(string, sizeof(string), \"%s börtönbe lett zárva a kevés pénze miatt!\", pName);
SendClientMessageToAll(sarga, string);
      }
      return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/tele\", true) == 0)
{
    if(MoneyJail[playerid] == 1)
    {
        SendClientMessage(playerid, red, \"Nem használhatod, mert börtönben vagy!!!\");
}
else if(MoneyJail[playerid] == 0)
{
    //ide a cuccok xD ami teleportnál van
}
return 1;
}
return 0;
}

 
de ezt csak akkor, ha azt akarod, h ne tudjon kimenni, ha 0 alatt van a pénze :D
Cím: pénz 0 alá megy->börtön
Írta: GroX - 2009. november 25. - 20:31:33
Ezt lehet egyszerubben is.
Az OnPlayerCommandText alá beírod h:
 
if(MoneyJail[playerid] == 1) return SendClientMessage(playerid,red,\"Nem használhatsz parancsot börtönben!\");

 
vagyis:
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if(MoneyJail[playerid] == 1) return SendClientMessage(playerid,red,\"Nem használhatsz parancsot börtönben!\");
Cím: pénz 0 alá megy->börtön
Írta: [RKS]Ricsii - 2009. november 25. - 20:39:15
lol.. tess:
http://users1.ml.mindenkilapja.hu/users/rks-samp/uploads/script.rar
Ja és
 
new Float: PosS [ 2 ] [ 3 ] = {
{ 0.0, 0.0, 0.0 }, // Teleportálás ha 0 alatt a pénz
{ 0.0, 0.0, 0.0 } // Ha kijött
};