may someone help :)
#1

ok ive been trying to make this like /poll [QUESTION]
but i just fail BADDD

i need help like this if i do like /poll is this server cool?

it announces /yes if u think its cool or /no if u think its not cool

Can someone help me??
Reply
#2

Here

pawn Код:
new VotedYes[MAX_PLAYERS];
new VotedNo[MAX_PLAYERS];

COMMAND:poll(playerid, params[])
{
    new string[128];
    if(sscanf(params, "s", params[2])) return SendClientMessage(playerid, -1, "Usage: /poll <question>");
    format(string, sizeof(string), "Poll: %s. Vote Yes/No",params[2]);
    SendClientMessageToAll(-1, string);
    return 1;
}

COMMAND:yes(playerid, params[])
{
    SendClientMessage(playerid, -1, "You voted: Yes");
    VotedYes[playerid] ++;
    return 1;
}

COMMAND:no(playerid, params[])
{
    SendClientMessage(playerid, -1, "You voted: No");
    VotedNo[playerid] ++;
    return 1;
}

COMMAND:endpoll(playerid, params[])
{
    new string[128];
    format(string, sizeof(string), "Total for Yes votes: %d", VotedYes);
    SendClientMessageToAll(-1, string);
    format(string, sizeof(string), "Total for No votes: %d", VotedNo);
    SendClientMessageToAll(-1, string);
    return 1;
}
Here are the commands, you can add some checks to avoid abuse of cmds.
Reply
#3

Got Some Errors Look


Quote:

C:\Users\TEST ACCOUNT!\Desktop\server\gamemodes\stunt2.pwn(899) : error 017: undefined symbol "sscanf"
C:\Users\TEST ACCOUNT!\Desktop\server\gamemodes\stunt2.pwn(899) : warning 215: expression has no effect
C:\Users\TEST ACCOUNT!\Desktop\server\gamemodes\stunt2.pwn(899) : error 001: expected token: ";", but found "]"
C:\Users\TEST ACCOUNT!\Desktop\server\gamemodes\stunt2.pwn(899) : error 029: invalid expression, assumed zero
C:\Users\TEST ACCOUNT!\Desktop\server\gamemodes\stunt2.pwn(899) : fatal error 107: too many error messages on one line

Reply
#4

i even installed sscanf But it still gives me that same error
Reply
#5

I was bored, this isn't exactly what you wanted (it was at first but i improvised) its like a quiz script. You will need sscanf properly installed and zcmd too. (if you wana use this) I know a solution has been posted but i'll post anyway so i don't feel like i'v wasted my time. NOT TESTED

pawn Код:
#define FILTERSCRIPT

#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define QUESTION_TIME                               (30*1000)

new bool:gQuestionActive;
new gQuestionAnswer[128];
new bool:gAnswerIsNumber;
new gNumberAnswer = -1;
new gAnswerTimer;

No_Answer(const zAnswer[]);

SendQuestionToPlayers(const zQuestion[], const zAnswer[])
{
    new
        qStr[128];
    gQuestionActive = true;
    format(gQuestionAnswer, 128, "%s", zAnswer);
   
    if(isnumeric(gQuestionAnswer))
    {
        gAnswerIsNumber = true;
        gNumberAnswer = strval(gQuestionAnswer);
    }
    format(qStr, 128, "| Quiz |: %s?", zQuestion);
    SendClientMessageToAll(0x00FF00AA, qStr);
    gAnswerTimer = SetTimerEx("No_Answer", QUESTION_TIME, false, "s", gQuestionAnswer);
}

public No_Answer(const zAnswer[])
{
    new
        aStr[128] = "No-body answered correctly, the answer was ";
    strcat(aStr, zAnswer);
    SendClientMessageToAll(0x00FF00AA, aStr);
   
    gQuestionActive = false;
    gAnswerIsNumber = false;
    gNumberAnswer = -1;
    strdel(gQuestionAnswer, 0, 128);
}

public OnPlayerText(playerid, text[])
{
    if(gQuestionActive)
    {
        if(!gAnswerIsNumber)
        {
            if(!strcmp(text, gQuestionAnswer))//player typed the correct answer
            {
                //give player money or something else
               
                gQuestionActive = false;
                gAnswerIsNumber = false;
                gNumberAnswer = -1;
                strdel(gQuestionAnswer, 0, 128);
                KillTimer(gAnswerTimer);
            }
        }
        else
        {
            if(strval(text) == gNumberAnswer)//player typed the correct answer
            {
                //give player money or something else
               
                gQuestionActive = false;
                gAnswerIsNumber = false;
                gNumberAnswer = -1;
                strdel(gQuestionAnswer, 0, 128);
                KillTimer(gAnswerTimer);
            }
        }
    }
    return 1;
}

//example command

COMMAND:ask(playerid, params[])
{
    new zQuestion[128], zAnswer[128];
   
    if(sscanf(params, "s[128]s[128]", zQuestion, zAnswer)) return SendClientMessage(playerid, 0x00FF00AA, "ERROR: Usage /ask [question][answer]");
    else
        SendQuestionToPlayers(zQuestion, zAnswer);
       
    return 1;
}

stock isnumeric(str[])// ******
{
    new
        ch,
                i;
    while ((ch = str[i++])) if (ch < '0' || ch > '9') return 0;
    return 1;
}
EDIT: I just realised this is actually completely not what you asked for sorry, have it anyway if u want.
Reply
#6

ok i tryed the poll one it had no errors but server unknown command


and the /ask [QUESTION] ANSWER same problem server unknown command!!
No errors, No Warnings!! but it fails
Reply
#7

helpppp plz!!^^^^^^^^^^^^^^^^^^^^^^^
Reply
#8

Here you go, created something like you wanted, it's very simple.. Commands: /poll, /endpoll, /yes, /no

Download: http://www.skylarpaul.site40.net/files/sP_POLL.rar

If it doesn't seem to work, here's the code without the includes.

pawn Код:
/*  AUTHOR: Skylar Paul
    URL: http://www.skylarpaul.site40.net
                                    */


#define FILTERSCRIPT

#include <a_samp>
#include <zcmd>
#include <sscanf2>

new
    Question = 0,
    VoteYes = 0,
    VoteNo = 0,
    HasVoted[MAX_PLAYERS] = 0;

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("[+] Poll system loaded.");
    print("\t[-] Created by Skylar Paul [www.SkylarPaul.site40.net]");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

main()
{
    print(" ");
}

#endif

public OnGameModeInit()
{
    /*SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);*/

    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

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)
{
    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[])
{
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

COMMAND:poll(playerid, params[]) {
    new
        QuestionAsked[128],
        string[128];

    if(sscanf(params, "s[128]", QuestionAsked)) return SendClientMessage(playerid, 0xFFFFFFFF, "[USAGE] /Poll [Question]");
    format(string, sizeof(string), "[POLL] %s", QuestionAsked);
    SendClientMessageToAll(0xF27900FF, string);
    SendClientMessageToAll(0xF27900FF, "INFO: Use /yes, or /no to vote in this poll!");
    Question = 1,
    VoteYes = 0,
    VoteNo = 0;
    return 1;
}

COMMAND:endpoll(playerid, params[]) {
    new
        string[128];

    SendClientMessageToAll(0xF27900FF, "INFO: The poll has ended!");
    format(string, sizeof(string), "Poll results - Yes: [%d] | No: [%d]", VoteYes, VoteNo);
    SendClientMessageToAll(0xF27900FF, string);
    Question = 0,
    VoteYes = 0,
    VoteNo = 0;
    return 1;
}

COMMAND:yes(playerid, params[]) {
    if(Question != 0) {
        if(HasVoted[playerid] == 0) {
            SendClientMessage(playerid, 0xFFFFFFFF, "INFO: You have voted yes!");
            VoteYes++;
        }
        else return SendClientMessageToAll(0xC60000FF, "ERROR: You've already voted!");
    }
    else return SendClientMessageToAll(0xC60000FF, "ERROR: No active poll!");
    return 1;
}

COMMAND:no(playerid, params[]) {
    if(Question != 0) {
        if(HasVoted[playerid] == 0) {
            SendClientMessage(playerid, 0xFFFFFFFF, "INFO: You have voted no!");
            VoteNo++;
        }
        else return SendClientMessageToAll(0xC60000FF, "ERROR: You've already voted!");
    }
    else return SendClientMessageToAll(0xC60000FF, "ERROR: No active poll!");
    return 1;
}
Reply
#9

Something is up with my server cause it just wont seem to work
Reply
#10

https://sampforum.blast.hk/showthread.php?tid=122694

I made this earlier
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)