[Pomoc] Uporedjivanje string sa textom

Započeo Ermin.
16. Mar. 2013. Zaključano
280
pregleda
3
postova
ermin.a
5
Underboss
16. Mar. 2013.
Skripta koju koristim: 0
Detaljan opis problema: pa ovako uzeo sam HitSys iz GFa ofc, i sve sam prilagodio modu, osim sledeceg
if(ConnectedToPC == 255)
  {
      new idx,tmp;
      tmp = strtok(text, idx); // error 006: must be assigned to an array
      // i na ostalim mjestima gdje je tmp
      if ((strcmp("Contracts", text, true, strlen(text)) == 0) && (strlen(text) == strlen("Contracts")))
      {
          if(PlayerInfo < 4)
          {
              SendClientMessage(playerid, COLOR_GREY, "  Samo ubojice sa visokim iskustvom mogu traziti i dodjeljivati mete !");
              return 0;
          }
          SearchingHit(playerid);
        return 0;
      }
      else if ((strcmp("Givehit", text, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Givehit")))
      {
          if(PlayerInfo < 4)
          {
              SendClientMessage(playerid, COLOR_GREY, "  Morate biti rank 4 ili vei da dodjeljujete mete hitmanima !");
              return 0;
          }
          if(hitfound == 0)
          {
              SendClientMessage(playerid, COLOR_GREY, "  Trenutno nema meta, koristi Contracts prvo");
              return 0;
          }
          tmp = strtok(text, idx);
          if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_GRAD1, "Koristi: Givehit [playerid/DioImena]");
            return 0;
        }
        giveplayerid = ReturnUser(tmp);
        if(IsPlayerConnected(giveplayerid))
        {
            if(giveplayerid != INVALID_PLAYER_ID)
            {
                if(PlayerInfo !=
                {
                    SendClientMessage(playerid, COLOR_GREY, "  Taj igrac nije ubojica !");
                  return 0;
                }
                if(GoChase < 999)
                {
                    SendClientMessage(playerid, COLOR_GREY, "  Taj igrac vec ima metu !");
                  return 0;
                }
                if(IsPlayerConnected(hitid))
                {
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    GetPlayerName(giveplayerid, giver, sizeof(giver));
                    GetPlayerName(hitid, giveplayer, sizeof(giveplayer));
                  format(string, sizeof(string), "* Hitman %s, je zaposlio %s da ubije: %s(ID:%d), za $%d.", sendername, giver, giveplayer, hitid, PlayerInfo);
                  SendFamilyMessage(8, COLOR_YELLOW, string);
                  GoChase = hitid;
                  GetChased = giveplayerid;
                  GotHit = 1;
                  hitid = 0;
                  hitfound = 0;
                    return 0;
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "  Meta je offline, koristi Contracts ponovo!");
                    return 0;
                }
            }
            return 0;
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "  Taj hitman nije online, ili nije Hitman !");
            return 0;
        }
      }
      else if ((strcmp("Ranks", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Ranks")))
      {
        SendClientMessage(playerid, COLOR_WHITE, "|__________________ Rankovi Agencije __________________|");
          for(new i=0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo == 8||PlayerInfo ==
                {
                  GetPlayerName(i, giveplayer, sizeof(giveplayer));
                    format(string, sizeof(string), "* %s: Rank %d", giveplayer,PlayerInfo);
                  SendClientMessage(playerid, COLOR_GREY, string);
              }
            }
        }
      }
      else if ((strcmp("Order", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Order")))
      {
          tmp = strtok(text, idx);
          if ((strcmp("1", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("1")))
        {
            if(PlayerInfo < 1) { SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 499)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 1 ($500), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 4, 1);
                    GivePlayerMoney(playerid, - 500);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else if ((strcmp("2", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("2")))
        {
            if(PlayerInfo < 2){ SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 599)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 2 ($600), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 4, 1);
                    GivePlayerMoney(playerid, - 600);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else if ((strcmp("3", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("3")))
        {
            if(PlayerInfo < 2) { SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 599)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 3 ($600), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 30, 500); GivePlayerWeapon(playerid, 4, 1);
                    GivePlayerMoney(playerid, - 600);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else if ((strcmp("4", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("4")))
        {
            if(PlayerInfo < 3) { SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 699)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 4 ($700), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 4, 1); GivePlayerWeapon(playerid, 34, 20);
                    GivePlayerMoney(playerid, - 700);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else if ((strcmp("5", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("5")))
        {
            if(PlayerInfo < 3) { SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 799)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 5 ($800), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 30, 500); GivePlayerWeapon(playerid, 4, 1); GivePlayerWeapon(playerid, 34, 20);
                    GivePlayerMoney(playerid, - 800);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else if ((strcmp("6", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("6")))
        {
            if(PlayerInfo < 4) { SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 849)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 6 ($850), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 31, 500); GivePlayerWeapon(playerid, 4, 1); GivePlayerWeapon(playerid, 34, 20);
              GivePlayerMoney(playerid, - 850);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else if ((strcmp("7", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("7")))
        {
            if(PlayerInfo < 4) { SendClientMessage(playerid, COLOR_GREY, "  Nisi dovoljan rank za taj paket !"); return 0; }
            if(GetPlayerMoney(playerid) > 899)
            {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Narucili ste paket 7 ($900), paket je bacen iz helikoptera i nalazi se kod vas.");
                GivePlayerWeapon(playerid, 24, 50); GivePlayerWeapon(playerid, 29, 500); GivePlayerWeapon(playerid, 25, 50); GivePlayerWeapon(playerid, 30, 500); GivePlayerWeapon(playerid, 4, 1); GivePlayerWeapon(playerid, 34, 20);
                    GivePlayerMoney(playerid, - 900);
                return 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"  Ne mozes si priustiti taj paket !");
                return 0;
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_WHITE, "|__________________ Dostupni paketi __________________|");
            if(PlayerInfo >= 1) { SendClientMessage(playerid, COLOR_GREY, "|(1) ($500 ) Rank 1 - 5: Knife, Desert Eagle, MP5, Shotgun"); }
            if(PlayerInfo >= 2) { SendClientMessage(playerid, COLOR_GREY, "|(2) ($600 ) Rank 2 - 5: Knife, Desert Eagle, M4, MP5, Shotgun"); }
            if(PlayerInfo >= 2) { SendClientMessage(playerid, COLOR_GREY, "|(3) ($600 ) Rank 2 - 5: Knife, Desert Eagle, AK47, MP5, Shotgun"); }
            if(PlayerInfo >= 3) { SendClientMessage(playerid, COLOR_GREY, "|(4) ($700) Rank 3 - 5: Knife, Desert Eagle, M4, MP5, Shotgun, Sniper"); }
            if(PlayerInfo >= 3) { SendClientMessage(playerid, COLOR_GREY, "|(5) ($800) Rank 3 - 5: Knife, Desert Eagle, AK47, MP5, Shotgun, Sniper"); }
            if(PlayerInfo >= 4) { SendClientMessage(playerid, COLOR_GREY, "|(6) ($850) Rank 4 - 5: Knife, Desert Eagle, M4, MP5, Shotgun, Sniper"); }
            if(PlayerInfo >= 4) { SendClientMessage(playerid, COLOR_GREY, "|(7) ($900) Rank 4 - 5: Knife, Desert Eagle, AK47, MP5, Shotgun, Sniper"); }
            SendClientMessage(playerid, COLOR_WHITE, "|________________________________________________________|");
            return 0;
        }
      }
      else if ((strcmp("Logout", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Logout")))
      {
          SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Ugasili ste laptop, i diskonektovali se sa agencije.");
            ConnectedToPC = 0;
          return 0;
      }
      else
      {
          SendClientMessage(playerid, COLOR_WHITE, "|___ Hitman Agency ___|");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - News");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - Contracts");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - Givehit");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - Backup");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - Order");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - Ranks");
          SendClientMessage(playerid, COLOR_YELLOW2, "| - Logout");
          SendClientMessage(playerid, COLOR_YELLOW2, "|");
        SendClientMessage(playerid, COLOR_WHITE, "|______________|00:00|");
          return 0;
      }
      return 0;
  }

Probao san nes skontat, al posto sam bot, kontam valjda cete mi malo pomoc, da skontam, xD
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
ermin.a
5
Underboss
16. Mar. 2013.
ahaha pa nije komanda, ovo je samo uzeto iz GF Moda

ovo ide pod OnPlayerText, kada je igracu ukljucen laptop(/portable)

znas i sam da ne mozes kad u GFu

evo pogledaj ovo malo

if ((strcmp("Contracts", text, true, strlen(text)) == 0) && (strlen(text) == strlen("Contracts")))


ja sam zamjenio "tmp" iz GFa sa "text" (parametar iz callbacka, uneseni text)
znas da tmp, returnuser i ostala sranja koja su dolje su iz GFa, i treba ih prilagoit modu od 0
mod mi je obican, kao vecina modova od 0, nista posebno

nesto mi glupo da pravim komande posebno npr  /givehit | /order | /contracts
Kad je svugdje sa textom.
ermin.a
5
Underboss
16. Mar. 2013.
Pa znam, evo sta sam uradio, pogledaj dal to ima smisla, jbg
YCMD:contracts(playerid, params[], help)
{
#pragma unused help
#pragma unused params
if(PlayerInfo != 8 || PlayerInfo != 8)
    return SendClientMessage(playerid, COLOR_RED, "[Odbijeno!] {C3C3C3}Nisi ubojica");
else if(GetPVarInt(playerid, "Ulogiran") == 0)
    return SendClientMessage(playerid, COLOR_GRAD1, "Nisi logiran!");
else if(PlayerInfo < 4)
    return SendClientMessage(playerid, COLOR_GRAD2, "*Odbijeno* Samo ubojice sa vecim iskustvom mogu traziti mete {ff0000}(R4+)");
SearchingHit(playerid);
return 1;
}

YCMD:givehit(playerid, params[], help)
{
#pragma unused help
new hitmanid;
if(PlayerInfo != 8 || PlayerInfo != 8)
    return SendClientMessage(playerid, COLOR_RED, "[Odbijeno!] {C3C3C3}Nisi ubojica");
else if(GetPVarInt(playerid, "Ulogiran") == 0)
    return SendClientMessage(playerid, COLOR_GRAD1, "Nisi logiran!");
else if(PlayerInfo < 4)
return SendClientMessage(playerid, COLOR_GRAD2, "*Odbijeno* Samo ubojice sa vecim iskustvom mogu dodjeljivati mete {ff0000}(R4+)");
else if(hitfound == 0)
    return SendClientMessage(playerid, COLOR_GREY, "Trenutno nema meta, koristi /contracts prvo");
else if(sscanf(params, "u", hitmanid))
return SendClientMessage(playerid, COLOR_GRAD1, "Koristi: /givehit ");
else if(PlayerInfo != 8 || PlayerInfo != 8)
    return SendClientMessage(playerid, COLOR_GREY, "    Taj igrac nije ubojica!");
else if(GoChase < 999)
    return SendClientMessage(playerid, COLOR_GREY, "Taj igrac vec ima metu!");
    format(string, sizeof(string), "* Hitman %s, je zaposlio %s da ubije: %s(ID:%d), za $%d.", PlayerName(playerid), PlayerName(hitmanid), PlayerName(hitid), hitid, HeadValue);
SendFamilyMessage(8, COLOR_YELLOW, string);
GoChase = hitid;
GetChased = hitmanid;
GotHit = 1;
hitid = 0;
hitfound = 0;
return 1;
}

YCMD:contract(playerid, params[], help)
{
        #pragma unused help
        if(GetPVarInt(playerid, "Ulogiran") == 0)
            return SCM(playerid, COLOR_GRAD1, "Nisi logiran!");
        new igrac, kolicina, string;
        else if(sscanf(params, "ui", igrac, kolicina))
            return SCM(playerid, COLOR_GRAD2, "Koristi: /contract [playerid/DioImena] ");
        else if(kolicina < 1000 || kolicina > 100000)
                return SCM(playerid, COLOR_GREY, "Ugovor ne moze biti ispod $1000 ili preko $100.000");
        else if(!IsPlayerConnected(igrac))
            return SCM(playerid, COLOR_GRAD1, "Pogresan ID");
        else if(GetPVarInt(igrac, "Ulogiran") == 0)
            return SCM(playerid, COLOR_GREY, "Igrac nije logiran jos!");
        new cl, le, ml, mc;
        cl = PlayerInfo;
        le = PlayerInfo;
        ml = PlayerInfo;
        mc = PlayerInfo;
        else if((cl == 8 || le == 8) && (ml != 8 || mc != 8))
            return SCM(playerid, COLOR_GRAD1, "Ne mozete naruciti ubojstvo Hitmana!");
        else if(cl == 8 || le == 8 && ml == 8 || mc == 8)
            return SCM(playerid, COLOR_GRAD1, "Ne mozete naruciti ubojstvo clana svoje agencije!");
        else if(kolicina < 100000 && (cl == 1 || le == 1 || cl == 2 || le == 2 || cl == 3 || le == 3))
            return SCM(playerid, COLOR_GREY, "Za drzavnog sluzbenika najmanja cijena je 100.000!");
        else if(igrac == playerid)
            return SCM(playerid, COLOR_GREY, "Ne mozes naruciti svoje ubojstvo!");
        else if(kolicina > GetPlayerMoney(playerid))
            return SCM(playerid, COLOR_GREY, "Nemas dovoljno novaca!");
        PlayerInfo -= kolicina;
        GivePlayerMoney(playerid, PlayerInfo);
        HeadValue+=kolicina;
        format(string, sizeof(string), "%s je narucio ubojstvo na %s, Za: %d$.", PlayerName(playerid), PlayerName(igrac), kolicina);
        SendFamilyMessage(8, COLOR_YELLOW, string);
        return 1;
}

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha