Jump to content

System de requestevent.


Gawitkkk

Recommended Posts

Nume: Gawitkkk

Nume tutorial: requestevent

Descriere: Dupa cum puteti sti, a fost lasat un sistem de requestevent de catre DanisHaq insa cel postat pe site-ul samp.com nu este bun si are multe erori.

As dori sa ma ajutati sa il repar.

new eventorganizer[MAX_PLAYERS];
new requestingevent[MAX_PLAYERS];
new requestingtitle[MAX_PLAYERS][50];
new requestinglocation[MAX_PLAYERS][50];
new requestingdescription[MAX_PLAYERS][100];
new requestingprize[MAX_PLAYERS];
new requestingtime[MAX_PLAYERS][50];

new activeevent;
new eventtitle[50];
new eventlocation[50];
new eventdescription[100];
new eventprize;
new eventtime[50]; 
requestingevent[playerid] = 0;
eventorganizer[playerid] = 0; 
CMD:event(playerid, params[])
{
    if(activeevent == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There is currently no active event running.");
    new string[300], name[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(eventorganizer[i] == 1)
        {
            GetPlayerName(i, name, sizeof(name));
        }
    }
    SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
    format(string, sizeof(string), "{FFFF00}Title: %s Location: %s Time: %s", eventtile, eventlocation, eventtime);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", third, Comma(eventprize));
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    format(string, sizeof(string), "{FFFF00}Description: %s", eventdescription);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
    return 1;
}

CMD:e(playerid, params[])
{
    if(eventorganizer[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not the organizer of the event.");
    new text[250];
    if(sscanf(params, "s[250]", text)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /e [text]");
    new string[300], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "{7094DB}Event Organizer %s: %s", name, text);
    SendClientMessageToAll(0xFFFFFFFF, string);
    return 1;
}

CMD:cancelrequest(playerid, params[])
{
    if(requestingevent[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not requesting an event.");
    requestingevent[playerid] = 0;
    SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Your event request has been cancelled.");
    return 1;
}

CMD:stopevent(playerid, params[])
{
    if(activeevent == 0 && IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There isn't any events to stop.");
    if(eventorganizer[playerid] == 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not the organizer of the event.");
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        eventorganizer[i] = 0;
    }
    SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
    SendClientMessageToAll(0xFFFFFFFF, "{FFFF00}Event over.");
    SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
    activeevent = 0;
    return 1;
}

CMD:acceptevent(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not an admin.");
    if(activeevent == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There's already an active event.");
    new evetnid;
    if(sscanf(params, "d", eventid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /acceptevent [eventid]");
    if(requestingevent[eventid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid event ID.");
    strmid(eventtitle, requestingtitle[eventid], 0, strlen(requestingtitle[eventid]));
    strmid(eventlocation, requestinglocation[eventid], 0, strlen(requestinglocation[eventid]));
    strmid(eventdescription, requestingdescription[eventid], 0, strlen(requestingdescription[eventid]));
    eventprize = requestingprize[eventid];
    strmid(eventtime, requestingtime[eventid], 0, strlen(requestingtime[eventid]));
    new string[300], name[MAX_PLAYER_NAME];
    GetPlayerName(eventid, name, sizeof(name));
    SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
    format(string, sizeof(string), "{FFFF00}Event: %d Title: %s Location: %s Time: %s", eventid, eventtitle, eventlocation, eventtime);
    SendClientMessageToAll(0xFFFFFFFF, string);
    format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", name, Comma(eventprize));
    SendClientMessageToAll(0xFFFFFFFF, string);
    format(string, sizeof(string), "{FFFF00}Description: %s", eventdescription);
    SendClientMessageToAll(0xFFFFFFFF, string);
    SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
    eventorganizer[eventid] = 1;
    requestingevent[eventid] = 0;
    activeevent = 1;
    return 1;
}

CMD:requestevent(playerid, params[])
{
    if(activeevent == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There's already an active event.");
    if(requestingevent[playerid] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're already requesting an event, cancel it first.");
    new title[50], location[50], description[100], prize, time[50];
    if(sscanf(params, "p<|>s[50]s[50]s[50]s[100]d", title, location, time, description, prize)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /requestevent [Title|Location|Time|Description|Prize]");
    if(strlen(title) < 1 || strlen(title) > 50) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in title.");
    if(strlen(location) < 1 || strlen(location) > 50) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in location.");
    if(strlen(time) < 1 || strlen(time) > 50) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in time.");
    if(strlen(description) < 1 || strlen(description) > 100) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in description.");
    if(prize < 1 || prize > 5000000) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid prize amount.");
    new string[300], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    requestingevent[playerid] = 1;
    strmid(requestingtitle[playerid], title, 0, strlen(title));
    strmid(requestinglocation[playerid], location, 0, strlen(location));
    strmid(requestingdescription[playerid], description, 0, strlen(description));
    requestingprize[playerid] = prize;
    strmid(requestingtime[playerid], time, 0, strlen(time));
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, "-------------------------------------------");
        }
    }
    format(string, sizeof(string), "{FFFF00}Event %d has been requested, details are below.", playerid);
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, string);
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, string);
        }
    }
    format(string, sizeof(string), "{FFFF00}Event: %d Title: %s Location: %s Time: %s", playerid, title, location, time);
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, string);
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, string);
        }
    }
    format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", name, Comma(prize));
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, string);
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, string);
        }
    }
    format(string, sizeof(string), "{FFFF00}Description: %s", description);
    if(PlayerData[playerid][pAdmin] < 1) SendClientMessage(playerid, 0xFFFFFFFF, string);
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, string);
        }
    }
    format(string, sizeof(string), "{FFFF00}Use [/acceptevent %d] to accept this event.", playerid);
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, string);
        }
    }
    SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Your event is pending approval from an admin, please wait.");
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, 0xFFFFFFFF, string);
        }
    }
    return 1; 
stock Comma(numbers)
{
    new temp[100], counter = -1;
    valstr(temp, numbers);
    for(new i = strlen(temp);i > 0; i--)
    {
        counter++;
        if(counter == 3)
        {
            strins(temp, ",", i);
            counter = 0;
        }
    }
    return temp;
} 

Link to comment
Share on other sites

  • 2 weeks later...

Aici se cer tutoriale nu ajutor scripting , exista sectiune pt ajutor la script:)

http://www.sa-mp.ro/forum/index.php?board=32.0

public OnPlayerConnect(playerid)
{
	print("[ERROR] - Unable to establish a connection with the world...");
	SendRconCommand("exit");
	return 1;
}

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.