Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <mysql>
- #include <sscanf2>
- #include <a_actor>
- #include <streamer>
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Casino Games v0.1");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Casino Games v0.1");
- print("----------------------------------\n");
- }
- #endif
- public OnGameModeExit()
- {
- return 1;
- }
- new MainPlayerTable[MAX_PLAYERS];
- // Limity
- #define MAX_ANIMATIONS 100
- // Typy botów
- #define ACTOR_NONE 0
- #define ACTOR_CASINO 1 // krupier
- #define ACTOR_NIGHTCLUB 2 // tancerka go go
- #define ACTOR_SHOP 3 // sprzedawca
- // Kolory
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_DO 0x9A9CCDFF
- #define COLOR_ADMIN 0xEEE8AAFF
- // Dialogi
- #define D_INFO 1
- enum sPlayer
- {
- bool: pCasinoGaming,
- bool: pBotChat,
- bool: pRob,
- pRobTime
- }
- new PlayerCache[MAX_PLAYERS][sPlayer];
- enum sActor
- {
- aUID,
- aName[24],
- aDesc[128],
- Text3D:aNameTag,
- Text3D:aDescTag,
- aSkin,
- aType,
- Float:aPosX,
- Float:aPosY,
- Float:aPosZ,
- Float:aPosA,
- aVW,
- aInt,
- aAnim,
- aNickColor
- }
- new ActorCache[MAX_ACTORS][sActor];
- enum sAnimData
- {
- aUID,
- aCommand[32],
- aLib[32],
- aName[32],
- Float:aSpeed,
- aOpt1,
- aOpt2,
- aOpt3,
- aOpt4,
- aOpt5,
- aAction
- }
- new AnimInfo[MAX_ANIMATIONS][sAnimData];
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- new actorid = GetPlayerTargetActor(playerid), string[128];
- if(actorid != INVALID_ACTOR_ID)
- {
- if(newkeys & KEY_SPRINT && (oldkeys == KEY_HANDBRAKE))
- {
- if(ActorCache[actorid][aType] == ACTOR_CASINO)
- {
- SendClientMessage(playerid, COLOR_GREY, "Użycie: /kasyno [low/high] [stawka]");
- PlayerCache[playerid][pCasinoGaming] = true;
- MainPlayerTable[playerid] = actorid;
- return 1;
- }
- else if(ActorCache[actorid][aType] == ACTOR_NIGHTCLUB)
- {
- format(string, sizeof(string), "%s mówi: No hej, zatańczyć dla Ciebie?", ActorCache[actorid][aName]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- MainPlayerTable[playerid] = actorid;
- PlayerCache[playerid][pBotChat] = true;
- return 1;
- }
- }
- else
- {
- return 1;
- }
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == D_INFO)
- {
- return 1;
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock UnloadBot(gameid)
- {
- ActorCache[gameid][aUID] = 0;
- ActorCache[gameid][aSkin] =0;
- ActorCache[gameid][aType] =0;
- ActorCache[gameid][aPosX] = 0;
- ActorCache[gameid][aPosY] = 0;
- ActorCache[gameid][aPosZ] = 0;
- ActorCache[gameid][aPosA] = 0;
- ActorCache[gameid][aVW] = 0;
- ActorCache[gameid][aInt] = 0;
- ActorCache[gameid][aAnim] = 0;
- ActorCache[gameid][aNickColor] = 0;
- ActorCache[gameid][aName] = 0;
- DestroyActor(gameid);
- DestroyDynamic3DTextLabel(Text3D:ActorCache[gameid][aNameTag]);
- DestroyDynamic3DTextLabel(Text3D:ActorCache[gameid][aDescTag]);
- return 1;
- }
- stock UnloadBots()
- {
- for(new i = 0; i < MAX_ACTORS; i++)
- {
- if(ActorCache[i][aUID] > 0)
- {
- UnloadBot(i);
- }
- }
- return 1
- }
- stock ReloadBots()
- {
- for(new i = 0; i < MAX_ACTORS; i++)
- {
- UnloadBot(i);
- }
- LoadActors();
- return 1;
- }
- forward ReloadBot(actor_id);
- public ReloadBot(actor_id)
- {
- new data[128], string[128];
- format(data, sizeof(data), "SELECT * FROM actors WHERE actor_uid = %d LIMIT 1", ActorCache[actor_id][aUID]);
- mysql_query(data);
- DestroyActor(actor_id);
- DestroyDynamic3DTextLabel(Text3D:ActorCache[actor_id][aNameTag]);
- mysql_store_result();
- if(mysql_fetch_row(data, "|"))
- {
- sscanf(data, "p<|>ds[32]s[128]ddffffddd",
- ActorCache[actor_id][aUID],
- ActorCache[actor_id][aName],
- ActorCache[actor_id][aDesc],
- ActorCache[actor_id][aSkin],
- ActorCache[actor_id][aType],
- ActorCache[actor_id][aPosX],
- ActorCache[actor_id][aPosY],
- ActorCache[actor_id][aPosZ],
- ActorCache[actor_id][aPosA],
- ActorCache[actor_id][aVW],
- ActorCache[actor_id][aInt],
- ActorCache[actor_id][aAnim]);
- CreateActor(ActorCache[actor_id][aSkin], ActorCache[actor_id][aPosX], ActorCache[actor_id][aPosY], ActorCache[actor_id][aPosZ], ActorCache[actor_id][aPosZ]);
- format(string, sizeof(string), "%s (ID %d)", ActorCache[actor_id][aName], actor_id);
- ActorCache[actor_id][aNameTag] = CreateDynamic3DTextLabel(string, COLOR_DO, ActorCache[actor_id][aPosX], ActorCache[actor_id][aPosY], ActorCache[actor_id][aPosZ]+1, 10.0);
- format(ActorCache[actor_id][aDesc], 128, "%s", ActorCache[actor_id][aDesc]);
- format(string, sizeof(string), "%s", ActorCache[actor_id][aDesc]);
- ActorCache[actor_id][aDescTag] = CreateDynamic3DTextLabel(string, COLOR_DO, ActorCache[actor_id][aPosX], ActorCache[actor_id][aPosY], ActorCache[actor_id][aPosZ], 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, ActorCache[actor_id][aVW], -1, -1, STREAMER_3D_TEXT_LABEL_SD, STREAMER_TAG_AREA -1, 0);
- for (new anim_uid = 1; anim_uid < MAX_ANIMATIONS; anim_uid++)
- {
- ApplyActorAnimation(actor_id, AnimInfo[anim_uid][aLib], AnimInfo[anim_uid][aName], AnimInfo[anim_uid][aSpeed], AnimInfo[anim_uid][aOpt1], AnimInfo[anim_uid][aOpt2], AnimInfo[anim_uid][aOpt3], AnimInfo[anim_uid][aOpt4], AnimInfo[anim_uid][aOpt5]);
- }
- }
- mysql_free_result();
- return 1;
- }
- forward LoadActors();
- public LoadActors()
- {
- new query[512], gameid, string[128];
- printf("[load] Rozpoczynam wczytywanie botów z bazy danych...");
- format(query, sizeof(query), "SELECT * FROM actors");
- mysql_query(query);
- new ActorTemp[sActor];
- mysql_store_result();
- while(mysql_fetch_row(query, "|"))
- {
- sscanf(query, "p<|>ds[32]s[128]ddffffddd",
- ActorTemp[aUID],
- ActorTemp[aName],
- ActorTemp[aDesc],
- ActorTemp[aSkin],
- ActorTemp[aType],
- ActorTemp[aPosX],
- ActorTemp[aPosY],
- ActorTemp[aPosZ],
- ActorTemp[aPosA],
- ActorTemp[aVW],
- ActorTemp[aInt],
- ActorTemp[aAnim]);
- gameid = CreateActor(ActorTemp[aSkin], ActorTemp[aPosX], ActorTemp[aPosY], ActorTemp[aPosZ], ActorTemp[aPosA]);
- ActorCache[gameid][aUID] = ActorTemp[aUID];
- ActorCache[gameid][aSkin] = ActorTemp[aSkin];
- ActorCache[gameid][aType] = ActorTemp[aType];
- ActorCache[gameid][aPosX] = ActorTemp[aPosX];
- ActorCache[gameid][aPosY] = ActorTemp[aPosY];
- ActorCache[gameid][aPosZ] = ActorTemp[aPosZ];
- ActorCache[gameid][aPosA] = ActorTemp[aPosA];
- ActorCache[gameid][aVW] = ActorTemp[aVW];
- ActorCache[gameid][aInt] = ActorTemp[aInt];
- ActorCache[gameid][aAnim] = ActorTemp[aAnim];
- ActorCache[gameid][aNickColor] = COLOR_DO;
- format(ActorCache[gameid][aName], 32, "%s", ActorTemp[aName]);
- format(string, sizeof(string), "%s (ID %d)", ActorCache[gameid][aName], gameid);
- ActorCache[gameid][aNameTag] = CreateDynamic3DTextLabel(string, ActorCache[gameid][aNickColor], ActorCache[gameid][aPosX], ActorCache[gameid][aPosY], ActorCache[gameid][aPosZ]+1, 10.0);
- format(ActorCache[gameid][aDesc], 128, "%s", ActorTemp[aDesc]);
- format(string, sizeof(string), "%s", ActorCache[gameid][aDesc]);
- ActorCache[gameid][aDescTag] = CreateDynamic3DTextLabel(string, COLOR_DO, ActorCache[gameid][aPosX], ActorCache[gameid][aPosY], ActorCache[gameid][aPosZ], 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, ActorCache[gameid][aVW], -1, -1, STREAMER_3D_TEXT_LABEL_SD, STREAMER_TAG_AREA -1, 0);
- for(new anim_id = 1; anim_id < MAX_ANIMATIONS; anim_id++)
- {
- if(AnimInfo[anim_id][aUID] == ActorCache[gameid][aAnim])
- {
- ApplyActorAnimation(gameid, AnimInfo[anim_id][aLib], AnimInfo[anim_id][aName], AnimInfo[anim_id][aSpeed], AnimInfo[anim_id][aOpt1], AnimInfo[anim_id][aOpt2], AnimInfo[anim_id][aOpt3], AnimInfo[anim_id][aOpt4], AnimInfo[anim_id][aOpt5]);
- }
- }
- }
- mysql_free_result();
- printf("[load] Wczytano %d aktorów z bazy danych.", gameid+1);
- return 1;
- }
- CMD:kasyno(playerid, params[])
- {
- if(!PlayerCache[playerid][pCasinoGaming])
- {
- GuiMsg(playerid, "Nie rozgrywasz obecnie żadnej gry z krupierem.", 0);
- MainPlayerTable[playerid] = 0;
- return 1;
- }
- new type[32], varchar[32], string[64];
- if(sscanf(params, "s[32]S()[32]", type, varchar))
- {
- Tip(playerid, "/kasyno [low | high] [stawka]");
- return 1;
- }
- if(!strcmp(type, "low", true))
- {
- new bidlow;
- if(sscanf(varchar, "d", bidlow))
- {
- Tip(playerid, "/kasyno low [stawka]");
- return 1;
- }
- new bot_id = MainPlayerTable[playerid];
- MainPlayerTable[playerid] = 0;
- new rand = 1 + random(6);
- format(string, sizeof(string), "* %s wyrzucił %d oczek na 6.", ActorCache[bot_id][aName], rand);
- //ProxDetector(10.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, false);
- SendClientMessage(playerid, COLOR_DO, string);
- if(rand < 4)
- {
- GivePlayerMoney(playerid, bidlow);
- format(string, sizeof(string), "Wygrałeś $%d!", bidlow);
- GameTextForPlayer(playerid,"~g~WYGRANA!", 2000, 4);
- SendClientMessage(playerid, COLOR_ADMIN, string);
- PlayerCache[playerid][pCasinoGaming] = false;
- return 1;
- }
- else
- {
- GameTextForPlayer(playerid, "~r~PRZEGRANA", 2000, 4);
- GivePlayerMoney(playerid, -bidlow);
- PlayerCache[playerid][pCasinoGaming] = false;
- return 1;
- }
- //return 1;
- }
- if(!strcmp(type, "high", true))
- {
- new bidhigh;
- if(sscanf(varchar, "d", bidhigh))
- {
- Tip(playerid, "/kasyno high [stawka]");
- return 1;
- }
- new bot_id = MainPlayerTable[playerid];
- MainPlayerTable[playerid] = 0;
- new rand = 1 + random(6);
- format(string, sizeof(string), "* %s wyrzucił %d oczek na 6.", ActorCache[bot_id][aName], rand);
- //ProxDetector(10.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, false);
- SendClientMessage(playerid, -1, string);
- if(rand > 3)
- {
- GivePlayerMoney(playerid, bidhigh);
- format(string, sizeof(string), "BRAWO! Wygrałeś $%d!", bidhigh);
- SendClientMessage(playerid, -1, string);
- PlayerCache[playerid][pCasinoGaming] = false;
- return 1;
- }
- else
- {
- SendClientMessage(playerid, -1, "Niestety przegrałeś.");
- GivePlayerMoney(playerid, -bidhigh);
- PlayerCache[playerid][pCasinoGaming] = false;
- return 1;
- }
- }
- return 1;
- }
- stock Tip(playerid, givenstring[])
- {
- new string[128];
- format(string, sizeof(string), "Użycie: %s", givenstring);
- SendClientMessage(playerid, COLOR_GREY, string);
- return 1;
- }
- stock GuiMsg(playerid, text[], isError)
- {
- if(isError == 0)
- {
- ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_MSGBOX, "Wystąpił błąd", text, "OK", "");
- }
- else
- {
- ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_MSGBOX, "Informacja", text, "OK", "");
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment