Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define DICE_WAIT 1
- #define DICE_REQUEST 2
- new Dice_PartnerID[MAX_PLAYERS];
- new Dice_State[MAX_PLAYERS];
- new Dice_Pot[MAX_PLAYERS];
- ocmd:diceinvite(playerid, params[]) {
- new partner, value;
- if(sscanf(params,"ud",partner,value)) return SendClientMessage(playerid, -1, "/diceinvite [PlayerID/Name] [Betrag]");
- if(GetPlayerMoney(playerid) < value) return SendClientMessage(playerid, -1, "Du hast nicht genug Geld");
- if(value < 1000 || value > 10000) return SendClientMessage(playerid, -1, "Der Betrag muss zwischen 1000$ und 10000$ liegen");
- if(!IsPlayerConnected(partner)) return SendClientMessage(playerid, -1, "Der Spieler ist nicht online");
- if(Dice_State[partner] != 0) return SendClientMessage(playerid, -1, "Der Spieler würfelt bereits");
- Dice_State[playerid] = DICE_WAIT; // State: Wartet, dass der Spieler annimmt
- Dice_PartnerID[playerid] = partner + 1; // PartnerID wird zwischengespeichert
- Dice_Pot[playerid] = value; // Der Betrag wird zwischengespeichert
- Dice_State[partner] = DICE_REQUEST; // State: Partner hat eine Anfrage bekommen
- Dice_PartnerID[partner] = playerid + 1; // PartnerID von dem Spieler wird ebenfalls gesetzt
- Dice_Pot[partner] = value; // Der Betrag wird zwischengespeichert
- SendClientMessage(partner, -1, "Du hast ein Dice-Request bekommen. Nutze /diceaccept oder /dicedecline");
- }
- ocmd:diceaccept(playerid, params[]) {
- if(Dice_State[playerid] != DICE_REQUEST) return SendClientMessage(playerid, -1, "Du hast keine Dice-Anfrage bekommen");
- new pID = Dice_PartnerID[playerid] - 1; // PartnerID wird ermittelt
- new value = Dice_Pot[playerid]; // Betrag wird ermittelt
- GivePlayerMoney(playerid, value * -1); // Betrag wird mir abgezogen
- GivePlayerMoney(pID, value * -1); // Betrag wird meinem Partner abgezogen
- new myValue = random(6) + 1; // Ich würfle
- new ptValue = random(6) + 1; // Mein Partner würfelt
- if(myValue > ptValue) { // Ich würfle einen größeren Wert als mein Partner
- GivePlayerMoney(playerid, value * 2); // Ich bekomme das ganze Geld
- SendClientMessage(playerid, -1, "Du hast gewonnen");
- SendClientMessage(pID, -1, "Du hast verloren");
- } else if(myValue == ptValue) { // Unentschieden
- GivePlayerMoney(playerid, value); // Ich bekomme mein Geld zurück
- GivePlayerMoney(pID, value); // Mein Partner bekommt sein Geld zurück
- SendClientMessage(playerid, -1, "Es ist unentschieden");
- SendClientMessage(pID, -1, "Es ist unentschieden");
- } else { // Ich würfle einen kleineren Wert als mein Partner
- GivePlayerMoney(pID, value * 2); // Mein Partner bekommt das ganze Geld
- SendClientMessage(playerid, -1, "Du hast verloren");
- SendClientMessage(pID, -1, "Du hast gewonnen");
- }
- // Variablen werden zurückgesetzt
- Dice_PartnerID[playerid] = 0;
- Dice_State[playerid] = 0;
- Dice_PartnerID[pID] = 0;
- Dice_State[pID] = 0;
- }
- ocmd:dicedecline(playerid, params[]) {
- if(Dice_State[playerid] != DICE_REQUEST) return SendClientMessage(playerid, -1, "Du hast keine Dice-Anfrage bekommen");
- new pID = Dice_PartnerID[playerid] - 1; // PartnerID wird ermittelt
- // Variablen werden zurückgesetzt
- Dice_PartnerID[playerid] = 0;
- Dice_State[playerid] = 0;
- Dice_PartnerID[pID] = 0;
- Dice_State[pID] = 0;
- SendClientMessage(playerid, -1, "Deine Dice-Request wurde abgelehnt.");
- SendClientMessage(pID, -1, "Du hast die Dice-Request abgelehnt");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement